Automated Support for Building Behavioral Models of
Event-Driven Systems
Abstract
Programmers understand a piece of software by building simplified
mental models of it. Aspects of these models lend themselves naturally
to formalization -- e.g., structural relationships can be partly
captured by module dependency graphs. Automated support for generating
and analyzing such structural models has proven useful. For
event-driven systems, behavioral models, which capture temporal and
causal relationships between events, are important and deserve similar
methodological and tool support. In this paper, we describe such a
technique. Our method supports building and elaboration of behavioral
models, as well as maintaining such models as systems
evolve. The method is based on model-checking and witness generation,
using strategies to create goal-driven simulation traces. We
illustrate the method on a two-lift/three-floor elevator system, and
describe our tool, Sawblade, which provides automated support for the
method.
Keywords: model-checking, behavioral models, software evolution.