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