Specification and simulation with ExSpect
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.
KeywordsSimple Type Simple Object Functional Language Case Tool Input Place
Unable to display preview. Download preview PDF.
- W.M.P. van der Aalst and A.W. Waltmans: Modelling logistic systems with EXSPECT. In (Sol and Hee 1991), 269–288, 1991.Google Scholar
- W.M.P. van der Aalst: Interval Timed Petri Nets and their analysis. Computing Science Notes 91/09, Eindhoven University of Technology, 1991.Google Scholar
- J.A. Bergstra and J.W. Klop: Algebra of Communicating Processes. In J.W. de Bakker, M. Hazewinkel, and J.K. Lenstra (eds.), Proceedings of the CWI Symposium on Mathematics and Computer Science. North-Holland, 1986.Google Scholar
- H. Brinksma: On the Design of Extended LOTOS. PhD thesis, University of Twente, 1988.Google Scholar
- E.M.M.A. van den Broek and P.A.C. Verkoulen: A Tool for Integrated Modelling of Static and Dynamic Aspects of Systems. In Second International Workshop on the Next Generation of CASE Tools, IOS Press, 1992.Google Scholar
- H.J. Genrich: Predictate/Transition-Nets. Advances in Petri Nets 1986 Part I: Petri Nets, Central Models and their Properties, Lecture Notes in Computer Science 254, 207–247, Springer-Verlag, New York, 1987.Google Scholar
- R. Harper: Introduction to Standard ML. LFCS Report Series ECS-LFCS-86-14, University of Edinburgh, 1986.Google Scholar
- K.M. van Hee and P.A.C. Verkoulen: Integration of a Data Model and High-Level Petri Nets. Proceedings of the 12th International Conference on Applications and Theory of Petri Nets, 410–431, Aarhus, Denmark, June 1991.Google Scholar
- K.M. van Hee, L.J. Somers, and M. Voorhoeve: ExSpect, the Functional Part. Computing Science Notes 88/20, Eindhoven University of Technology, 1988.Google Scholar
- K.M. van Hee, L.J. Somers, and M. Voorhoeve: Executable Specifications for Distributed Information Systems. Proceedings of the IFIP TC 8 / WG 8.1 Working Conference on Information System Concepts: An In-depth Analysis, 139–156, Namur, Belgium, Elsevier Science Publishers, 1989.Google Scholar
- H.Ehrig and B. Mahr. Fundamentals of algebraic specification 1 & 2, EATCS, 1985–1990.Google Scholar
- G.-J Houben and P.A.C. Verkoulen: An Integrated Approach to Modelling Structural and Behavioural Aspects of Complex Objects. Third International Workshop on Foundations of Models and Languages for Data and Objects, Informatik Bericht 91/3, 47–64, Aigen, Austria, Technische Universität Clausthal, September 1991.Google Scholar
- K. Jensen: Coloured Petri Nets and the Invariant-Method. Theoretical Computer Science, 14:317–336, 1981.Google Scholar
- K. Jensen: Coloured Petri Nets: A High Level Language for System Design and Analysis. Advances in Petri Nets 1990, Lecture Notes in Computer Science 483, 342–416. Springer-Verlag, New York, 1991.Google Scholar
- R. Milner: A Calculus of Communicating Systems, Lecture Notes in Computer Science 92, Springer-Verlag, New York, 1980.Google Scholar
- G.J. Ramackers and P.A.C. Verkoulen: A Formally Integrated Conceptual Model based on Objects. Third International Conference on Dynamic Modelling of Information Systems, June 1992.Google Scholar
- W. Reisig: Petri Nets: an Introduction. Prentice-Hall, 1985.Google Scholar
- D.W. Shipman: The Functional Data Model and the Data Language DAPLEX. ACM Transactions on Database Systems, 6:140–173, 1981.Google Scholar
- H.G. Sol and K.M. van Hee, editors. Dynamic Modelling of Information Systems. North-Holland, 1991.Google Scholar
- J.M. Spivey: The Z Notation: A Reference Manual. Englewood Cliffs, Prentice-Hall, 1989.Google Scholar
- S. Thompson: Type Theory and Functional Programming. Addison-Wesley, 1991.Google Scholar
- P.A.C. Verkoulen: Extensions and Enrichment of ExSpect. Master's thesis, Eindhoven University of Technology, December 1989.Google Scholar