In the ExSpect framework, a system is modelled as a network consisting of two kinds of nodes, called places and processors, through which objects move as in Petri nets. Processors are generalizations of transitions, while the objects in the ExSpect model are generalizations of tokens in classical Petri nets. Objects may have a complex data structure: for instance an object may represent a whole database. In addition to the data structure, an object has a time-stamp. The time-stamp denotes the earliest possible moment an object can be ‘consumed’ by a processor. The firing rules of processors (describing which processors may execute at what moment and with which result) are based on both the values and the time-stamps of the objects. The processors do not have any memory, so their effect only depends on the consumed objects. As we will see in this paper, the combination of modelling facilities for describing both static and dynamic aspects of systems makes that ExSpect is an integrated framework for modelling complex systems. Moreover, it has some strong simulation facilities.
The CASE tool of ExSpect allows to simulate the behaviour of specified systems. The CASE tool has been operational since 1989. It has been used by several organizations for various applications such as modelling and analyzing logistic systems and distributed computer systems.
In the paper we sketch the foundations of the ExSpect framework: an object model and and a net model (which is in fact a high-level Petri Net model). Further we give an overview of the language of ExSpect which is a combination of graphical languages to define net and object structures and a functional language to specify the behaviour of processors. Finally we give an example to illustrate the preceding theoretical descriptions. In an appendix, we give the formal definitions of our framework.
|Title of host publication||Functional programming, concurrency, simulation and automated reasoning: international lecture series 1991-1992 (McMaster University, Hamilton, Ontario, Canada)|
|Place of Publication||Berlin|
|Publication status||Published - 1993|
|Name||Lecture Notes in Computer Science|