Diskrete Ereignissysteme
Transcription
Diskrete Ereignissysteme
Diskrete Ereignissysteme Materialien zur Kernfachvorlesung WS 2003/04 c 2003 bei den Autoren Lothar Thiele, Thomas Erlebach Institut für Technische Informatik und Kommunikationsnetze ETH Zürich Computer Engineering and Networks Swiss Federal Institute of Technology Zurich Inhaltsverzeichnis I Einführung 3 1 Vorwort 4 2 Materialien 6 II 7 Unterlagen zur Vorlesung 1 Einführung und Motivation 8 2 Systeme und Modelle 40 3 Endliche Automaten 3.1 Sprachen und Automaten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.2 Erweiterte Modelle endlicher Automaten . . . . . . . . . . . . . . . . . . . . . 3.3 Verifikation endlicher Automaten . . . . . . . . . . . . . . . . . . . . . . . . . 48 48 48 48 4 Petri-Netze 4.1 Definition von Petri-Netzen . . . . 4.2 Erweiterungen von Petri-Netzen . . 4.3 Analyse von Petri-Netzen . . . . . 4.4 Spezialisierungen von Petri-Netzen und synchrone Datenflussgraphen) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . (Zustandsautomaten, markierte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Graphen . . . . . 86 . 86 . 86 . 86 . 86 5 Zeitbehaftete diskrete Ereignissysteme 106 5.1 Zeitbehaftete Petri-Netze und ihre Simulation . . . . . . . . . . . . . . . . . . 106 5.2 Analyse zeitbehafteter markierter Graphen . . . . . . . . . . . . . . . . . . . . 106 6 Stochastische diskrete Ereignissysteme 115 6.1 Grundbegriffe der Wahrscheinlichkeitsrechnung . . . . . . . . . . . . . . . . . 115 6.2 Stochastische Prozesse in diskreter Zeit . . . . . . . . . . . . . . . . . . . . . 115 6.3 Stochastische Prozesse in kontinuierlicher Zeit . . . . . . . . . . . . . . . . . . 115 III Unterlagen zu Demonstrationen (Auswahl) 140 1 Mathematica: Systeme und Modelle 141 2 Statecharts: Von der Spezifikation zur Implementierung 150 1 3 Mathematica: Warteschlagen 160 IV 169 V Literaturhinweise Ausgewählte Publikationen 173 2 Teil I Einführung 3 Kapitel 1 Vorwort Der Inhalt der Vorlesung lässt sich mit den Vorbemerkungen zum Buch von Christos Cassandras (Discrete Event Systems) [Cas93] sehr gut beschreiben: Over the past few decades, the rapid evolution of computer technology has brought about the proliferation of new dynamic systems, mostly ”man–made”and highly complex. Examples are all around us: computer networks; automated manufacturing systems; air traffic control systems; and highly integrated command, control, communication, and information (C 3 I) systems. All activity in these systems is due to asynchronous occurrences of discrete events, some controlled (such as hitting a keyboard key) and some not (such as a spontaneous equipment failure). This feature lends itself to the term discrete event system. The mathematical arsenal at our disposal today (primarily, differential and difference equations) was developed over several centuries to model and analyze the time–driven processes one usually encounters in nature. The process of adapting this arsenal and developing a new one suitable for event–driven systems is only a few years old: The challenge is to develop new modeling frameworks, design tools, testing techniques, and systematic control procedures for this new generation of highly complex systems. New paradigms, based on combining mathematical techniques with processing experimental data, are slowly emerging. Moreover, the role of the computer itself as a tool for system design, analysis, and control is becoming critical in the development of these new paradigms. The capabilities that discrete event systems have, or are intended to have, are extremely exciting. Their complexity, on the other hand, is overwhelming. Yet, the availability of computer–aided tools makes it possible and often cost– effective simply to build new systems, sometimes based on a ”seat–of–the–pants”or trial–and–error approach alone, before we can fully figure out their properties, limitations, or overall implications. New models and methodologies are needed not only to enhance design procedures, but also to prevent failures (which can indeed be catastrophic at this level of complexity) and to deliver the full potential of these systems. Und weiter heisst es in einem anderen Abschnitt: Historically, scientists and engineers have concentrated on studying and harnessing natural phenomena which are well modeled by the laws of gravity, classical 4 and nonclassical mechanics, physical chemistry, and so forth. In so doing, we typically deal with quantities such as the displacement, velocity, and acceleration of particles and rigid bodies, or the pressure, temperature, and flow rates of fluids and gases. These are ”continuous variables”in the sense that they can take on any real value as time itself ”continuously”evolves. Based on this fact, a vast body of mathematical tools and techniques has been developed to model, analyze, and control the systems around us. It is fair to say that the study of ordinary and partial differential equations currently provides the main infrastructure for system analysis and control. But in the day–to–day life of our ”man–made”and increasingly computer– dependent world, we notice two things. First, that many of the quantities we deal with are ”discrete,”typically involving counting integer numbers (how many parts are in an inventory, how many planes are on a runway, how many telephone calls are active). And second that what drives many of the processes we use and depend on are instantaneous ”events”such as the pushing of a button, hitting a keyboard key, or a traffic light turning green. In fact, much of the technology we have invented and rely on (especially where digital computers are involved) is event–driven: Communication networks, manufacturing facilities, or the execution of a computer program are typical examples. Auf der anderen Seite sind komplexe technische Systeme aber auch durch ihre Heterogenität charakterisiert. Diese Eigenschaft wird einerseits in der Mixtur verschiedenster Realisierungsmglichkeiten sichtbar, zum Beispiel durch die Kopplung mechanischer und elektronischer oder analoger und digitaler Teilkomponenten. Als gutes Beispiel kann hier das elektronische Bremssystem von Autos dienen, in dem von der Messwertaufnahme über Sensoren, über die Bremsübertragung durch elektromechanische Aktoren und die analoge Signalvorverarbeitung bis hin zur prozessorgesteuerten Bremsregelung alle erwähnten Implementierunsarten vorkommen. Ganz entscheidend hat sich zudem in den letzten Jahren auch die Modellierung solcher Systeme gewandelt. Die Kopplung zwischen verschiedenen Paradigmen wie zeitdiskret, zeitkontinuierlich, ereignisgesteuert, wertediskret oder auch wertekontinuierlich ist von entscheidender Bedeutung für den Einsatz rechnergestützter Entwurfsverfahren, zur Analyse von Systemen oder auch zur Dokumentation des Systems und des gesamten Lebenszyklus. Gerade von industrieller Seite wird betont, dass von den Absolventen der Technischen Hochschulen vermehrt Systemkompetenz erwartet wird. Die vorliegende Vorlesung soll dieser Anforderung Rechnung tragen. 5 Kapitel 2 Materialien Die vorliegenden Materialien wurden zur Begleitung der Vorlesung Diskrete Ereignissysteme“ ” erstellt, die zum ersten Mal im Sommersemester 98 gehalten wurde. • Das Skript enthält vor allem Kopien der Vorlesungsfolien und ausgewählte Publikationen. • Das Skript soll als Referenz zu den in der Vorlesung behandelten Themenbereichen dienen. In vielen Teilen bezieht sich die Vorlesung auf das Buch von Christos G. Cassandras (Discrete Event Systems) [Cas93]. Weitere Literaturhinweise findet man im jeweiligen Zusammenhang. Das Buch ist zur Begleitung der Vorlesung sehr empfohlen: [Cas93 ] C. G. Cassandras. Discrete Event Systems: Modelling and Performance Analysis. Aksen Associates Inc. Publishers, Homewood, IL and Boston, MA, 1993. ISDN 0-25611212-6. 6 Teil II Unterlagen zur Vorlesung 7 Kapitel 1 Einführung und Motivation 8 Kapitel 2 Systeme und Modelle 40 Kapitel 3 Endliche Automaten 3.1 Sprachen und Automaten 3.2 Erweiterte Modelle endlicher Automaten 3.3 Verifikation endlicher Automaten 48 Kapitel 4 Petri-Netze 4.1 Definition von Petri-Netzen 4.2 Erweiterungen von Petri-Netzen 4.3 Analyse von Petri-Netzen 4.4 Spezialisierungen von Petri-Netzen (Zustandsautomaten, markierte Graphen und synchrone Datenflussgraphen) 86 Kapitel 5 Zeitbehaftete diskrete Ereignissysteme 5.1 Zeitbehaftete Petri-Netze und ihre Simulation 5.2 Analyse zeitbehafteter markierter Graphen 106 Kapitel 6 Stochastische diskrete Ereignissysteme 6.1 Grundbegriffe der Wahrscheinlichkeitsrechnung 6.2 Stochastische Prozesse in diskreter Zeit 6.3 Stochastische Prozesse in kontinuierlicher Zeit 115 139 Teil III Unterlagen zu Demonstrationen (Auswahl) 140 Kapitel 1 Mathematica: Systeme und Modelle 141 Kapitel 2 Statecharts: Von der Spezifikation zur Implementierung 150 Kapitel 3 Mathematica: Warteschlagen 160 168 Teil IV Literaturhinweise 169 Literaturverzeichnis [Cas93] C. G. Cassandras. Discrete Event Systems: Modelling and Performance Analysis. Aksen Associates Inc. Publishers, Homewood, IL and Boston, MA, 1993. ISDN 0-256-11212-6. Zu Kapitel: Einführung und Motivation [GVNG94] D. Gajski, F. Vahid, S. Naranyan, and J. Gong. Specification and Design of Embedded Systems. Prentice Hall, Englewood Cliffs, NJ, 1994. Zu Kapitel: Einführung und Motivation [Ho88] Y.C. Ho. Discrete Event Dynamic Systems: Analyzing Complexity and Performance in the Modern World. IEEE Press, New York, 1988. Zu Kapitel: Einführung und Motivation [Tan88] A. S. Tanenbaum. Computer Networks. Prentice Hall, Englewood Cliffs, NJ, 1988. Zu Kapitel: Einführung und Motivation [TK94] ”H.M. Taylor and S. Karlin. Introduction to Stochastic Modeling. Academic Press Inc, Boston, 1994. Zu Kapitel: Einführung und Motivation [Ho88] Y.C. Ho. Discrete Event Dynamic Systems: Analyzing Complexity and Performance in the Modern World. IEEE Press, New York, 1988. Zu Kapitel: Systeme und Modelle [Kai85] T. Kailath. Linear Systems. Prentice Hall, Englewood Cliffs, NJ, 1985. Zu Kapitel: Systeme und Modelle [Gui97a] User Guide. Simulink: Dynamic system simulation for matlab, 1997. MathWorks Inc., Natick, MA. Zu Kapitel: Systeme und Modelle [Gui97b] User Guide. Stateflow: For use with simulink, 1997. MathWorks Inc., Natick, MA. Zu Kapitel: Systeme und Modelle [Koh78] Z. Kohavi. Switching and Finite Automata Theory. Computer Science Press, 1978. Zu Kapitel: Endliche Automaten [PS82] C. H. Papadimitriou and K. Steiglitz. Combinatorial Optimization (Algorithms and Complexity). Prentice-Hall, New York, 1982. Zu Kapitel: Endliche Automaten [AW85] E. A. Ashcroft and W. W. Wadge. LUCID, the data-flow programming language. Academic Press, 1985. Zu Kapitel: Endliche Automaten [BdS91] F. Boussinot and R. de Simone. The ESTEREL language. Proceedings of the IEEE, 79(9), 1991. Zu Kapitel: Endliche Automaten 170 [GVNG94] D. Gajski, F. Vahid, S. Naranyan, and J. Gong. Specification and Design of Embedded Systems. Prentice Hall, Englewood Cliffs, NJ, 1994. Zu Kapitel: Endliche Automaten [Hal93] N. Halbwachs. Synchronous Programming of Reactive Systems. Kluwer Academic Publishers, Dordrecht, The Netherlands, 1993. Zu Kapitel: Endliche Automaten [Har87] D. Harel. Statecharts: A visual formalism for complex systems. Science of Computer Programming, 8, 1987. Zu Kapitel: Endliche Automaten [LGLL91] P. LeGuernic, T. Gautier, M. LeBorgne, and C. LeMaire. Programming real-time applications with SIGNAL. Proc. of the IEEE, 79(9):1321–1336, 1991. Zu Kapitel: Endliche Automaten [CGP99] E.M. Clarke, O. Grumberg and D.A. Peled. Symbolic Model Checking. MIT Press, 1999. Zu Kapitel: Endliche Automaten [Kro97] T. Kropf Hardware-Verifikation. Vorlesungsunterlagen Universität Karlsruhe (Buch und Folien), 1997. http://goethe.ira.uka.de/~schneider/lehrveranstaltungen/Verifikation Zu Kapitel: Endliche Automaten [Bau90] B. Baumgarten. Petri-Netze Grundlagen und Anwendungen. BI Wissenschaftsverlag, Mannheim, 1990. Zu Kapitel: Petri-Netze [Cas93] C. G. Cassandras. Discrete Event Systems: Modelling and Performance Analysis. Aksen Associates Inc. Publishers, Homewood, IL and Boston, MA, 1993. ISDN 0-256-11212-6. Zu Kapitel: Petri-Netze [Mur89] T. Murata. Petri nets: Properties, analysis and applications. Proceedings of the IEEE, 77:541–580, 1989. Zu Kapitel: Petri-Netze [Pet81] J.L. Peterson. Petri Net Theory and Modeling of Systems. Prentice Hall, Reading, Mass., 1981. Zu Kapitel: Petri-Netze [Rei85] W. Reisig. Petri-Nets - An Introduction. Springer, Berlin, Heidelberg, New York, Tokyo, 1985. Zu Kapitel: Petri-Netze [Rei91] W. Reisig. A Primer in Petri Net Design. Springer, Berlin, Heidelberg, New York, Tokyo, 1991. Zu Kapitel: Petri-Netze [LM87] E.A. Lee and D.G. Messerschmitt. Synchronous Data Flow. Proceedings of the IEEE, 75:1235-1245, 1987. Zu Kapitel: Petri-Netze [Bau90] B. Baumgarten. Petri-Netze Grundlagen und Anwendungen. BI Wissenschaftsverlag, Mannheim, 1990. Zu Kapitel: Zeitbehaftete diskrete Ereignissysteme [Cas93] C. G. Cassandras. Discrete Event Systems: Modelling and Performance Analysis. Aksen Associates Inc. Publishers, Homewood, IL and Boston, MA, 1993. ISDN 0-256-11212-6. Zu Kapitel: Zeitbehaftete diskrete Ereignissysteme [Mer76] P. M. Merlin. A methodoloy for the design and implementation of communication protocols. IEEE Transactions on Communications, COM-24(6), 1976. Zu Kapitel: Zeitbehaftete diskrete Ereignissysteme 171 [Mur89] T. Murata. Petri nets: Properties, analsis and applications. Proceedings of the IEEE, 77:541–580, 1989. Zu Kapitel: Zeitbehaftete diskrete Ereignissysteme [RH80] C. V. Ramamoorthy and G. S. Ho. Performance evaluation of asynchronous concurrent systems using petri nets. IEEE Transactions on Software Engineering, SE-6(5), 1980. Zu Kapitel: Zeitbehaftete diskrete Ereignissysteme [BD91] B. Berthomieu and M. Diaz. Modeling and verification of time dependent systems using timed petri nets. IEEE Transactions on Software Engineering, SE-3(3):259– 273, 1991. Zu Kapitel: Zeitbehaftete diskrete Ereignissysteme [CDQV85] G. Cohen, D. Dubois, J.P. Quadrat, and M. Voit. A linear system theoretic view of discrete-event processes and its use for performance evaluation. IEEE Transactions on Automatic Control, AC-30(3):210 – 220, 1985. Zu Kapitel: Zeitbehaftete diskrete Ereignissysteme [Asu87] S. Asumssen. Applied Probability and Queues. Wiley, New York, 1987. Zu Kapitel: Stochastische diskrete Ereignissysteme [Gly89] P. Glynn. A gsmp formalism for discrete event systems. Proceedings of the IEEE, 77:14–23, 1989. Zu Kapitel: Stochastische diskrete Ereignissysteme [TK94] H.M. Taylor and S. Karlin. Introduction to Stochastic Modeling. Academic Press Inc, Boston, 1994. Zu Kapitel: Stochastische diskrete Ereignissysteme [BG92] D. Bertsekas and R. Gallager. Data Networks. Prentice Hall, 1992. Zu Kapitel: Stochastische diskrete Ereignissysteme 172 Teil V Ausgewählte Publikationen 173 [Har87 ] D. Harel. Statecharts: A visual formalism for complex systems. Science of Computer Programming, 8, 1987. [Mur89 ] T. Murata. Petri nets: Properties, analysis and applications. Proceedings of the IEEE, 77:541–580, 1989. [CDQV85 ] G. Cohen, D. Dubois, J.P. Quadrat, and M. Voit. A linear system theoretic view of discrete-event processes and its use for performance evaluation. IEEE Transactions on Automatic Control, AC-30(3):210 – 220, 1985. [LM87 ] E.A. Lee and D.G. Messerschmitt. Synchronous Data Flow. Proceedings of the IEEE, 75:1235-1245, 1987. 174