Vorlesung Modellierung nebenläufiger Systeme Wintersemester 2009/10 Universität Duisburg-Essen

Größe: px
Ab Seite anzeigen:

Download "Vorlesung Modellierung nebenläufiger Systeme Wintersemester 2009/10 Universität Duisburg-Essen"

Transkript

1 Vorlesung Modellierung nebenläufiger Systeme Wintersemester 2009/10 Universität Duisburg-Essen Barbara König Übungsleitung: Christoph Blume Barbara König Vorlesung Modellierung nebenläufiger Systeme 1

2 Das heutige Programm: Organisatorisches Vorstellung Ablauf der Vorlesung und der Übungen Einordnung & Prüfung Literatur & Folien & Skript Einführung und Motivation: Modellierung nebenläufiger Systeme Inhalt der Vorlesung Barbara König Vorlesung Modellierung nebenläufiger Systeme 2

3 Vorstellung Dozentin: Prof. Barbara König Raum LF barbara Sprechstunde nach Vereinbarung Übungsleitung: Christoph Blume Raum LF Web-Seite: ns/ Barbara König Vorlesung Modellierung nebenläufiger Systeme 3

4 Vorlesungstermine Termine: Montag, 14:15-15:45 Uhr, im Raum LE 120 Dienstag, 8:30-10:00 Uhr, im Raum LE 120 Barbara König Vorlesung Modellierung nebenläufiger Systeme 4

5 Übung und Hausaufgaben Termin der Übung: Montag, 16:00-17:30, Raum LF 125 Der erste Übungstermin ist am Montag, den Das Übungsblatt wird am Montag der Vorwoche auf der Webseite bereitgestellt. Bitte geben Sie Ihre Lösungen in der folgenden Woche bis spätestens zum Anfang der Übung direkt bei Herrn Blume ab. Barbara König Vorlesung Modellierung nebenläufiger Systeme 5

6 Übung und Hausaufgaben Es gibt eine Bonusregelung: Wenn Sie 50% der Hausaufgabenpunkte erzielt haben und einmal eine Aufgabe in der Übung vorgestellt/vorgerechnet haben, so erhalten Sie einen Bonus für die Prüfung Auswirkung: Verbesserung um eine Notenstufe; z.b. von 2,3 auf 2,0 Barbara König Vorlesung Modellierung nebenläufiger Systeme 6

7 Einordnung Diese Vorlesung gehört zu mehreren Studiengängen... DAI Fachprüfung/Leistungskontrolle in Informatik der Systeme Zitate aus der Prüfungsordnung: Im Gebiet Informatik der Systeme: Leistungskontrollen über Lehrveranstaltungen [...] im Umfang von insgesamt 8 SWS. Die Fachprüfung im Gebiet Informatik der Systeme erstreckt sich auf Studieninhalte im Umfang von 10 SWS, für die keine Leistungskontrollen erbracht wurden. diese Veranstaltung hat 6 SWS. Barbara König Vorlesung Modellierung nebenläufiger Systeme 7

8 Einordnung DAI Leistungskontrolle im Grundlagenfach Zitat aus der Prüfungsordnung: im Grundlagenfach: Leistungskontrollen über Lehrveranstaltungen im Umfang von 2 SWS mit 4 Anrechnungspunkten (Credits) aus denjenigen Lehrveranstaltungen im Umfang von insgesamt 6 SWS, die nicht bereits Bestandteil der Studienerfolgskontrollen in der Diplom-Vorprüfung waren Je nach Anzahl der Teilnehmer gibt es im Anschluss an das Semester entweder eine Klausur oder mündliche Prüfungen. Der Stoff der Vorlesung wird für diese Prüfung geeignet eingeschränkt. (Genaue Einschränkungen werden noch bekanntgegeben, voraussichtlich analog zum letzten Jahr.) Barbara König Vorlesung Modellierung nebenläufiger Systeme 8

9 Einordnung MAI Informatik für den Anwendungsbereich Im Master Angewandte Informatik ist diese Veranstaltung folgendermaßen eingeordnet: Informatik für den Anwendungsbereich Katalog Verteilte, Verlässliche Systeme (Nebenläufige Systeme) Stundenzahl: 4 SWS (3V + 1Ü), 6 Credits Für diesen Studentenkreis wird es ebenfalls Stoffeinschränkungen geben. Barbara König Vorlesung Modellierung nebenläufiger Systeme 9

10 Einordnung Master ISE/CE Verteilte, Verlässliche Systeme Im Master ISE Computer Engineering ist diese Veranstaltung folgendermaßen eingeordnet: Wahlpflichtkatalog Verteilte, Verlässliche Systeme (Reliable Systems) Stundenzahl: 4 SWS (3V + 1Ü) Es gibt ebenfalls Stoffeinschränkungen Barbara König Vorlesung Modellierung nebenläufiger Systeme 10

11 Einordnung Unbedingte Voraussetzung! Diese Vorlesung verlangt als Voraussetzung: Informatik B2 Automaten und Formale Sprachen... oder eine äquivalente Veranstaltung Für den relevanten Inhalt aus diesen Veranstaltungen siehe Barbara König Vorlesung Modellierung nebenläufiger Systeme 11

12 Prüfung Ein Termin für die mündliche Prüfung bzw. Klausur wird noch bekanntgegeben. Barbara König Vorlesung Modellierung nebenläufiger Systeme 12

13 Literatur R. Milner: Communication and Concurrency. Prentice Hall, Prozesskalküle (CCS), Verhaltensäquivalenzen W.J. Fokkink: Introduction to Process Algebra. Springer, Prozesskalküle, Verhaltensäquivalenzen Luca Aceto, Anna Ingólfsdóttir, Kim G. Larsen, Jiri Srba: Reactive Systems: Modelling, Specification and Verification. Cambridge University Press, Prozesskalküle (CCS), Verhaltensäquivalenzen Barbara König Vorlesung Modellierung nebenläufiger Systeme 13

14 Literatur Edmund M. Clarke, Orna Grumberg, Doron A. Peled: Model Checking. MIT Press, Transitionssysteme (Kripke-Strukturen), LTL/Büchi-Automaten, Model-Checking Christel Baier, Joost-Pieter Katoen: Principles of Model Checking. MIT Press, Transitionssysteme, Sicherheit/Lebendigkeit, LTL/Büchi-Automaten, Model-Checking W. Reisig: Petrinetze. Springer, (Eine neuere Version ist online verfügbar unter buch/) Petri-Netze Barbara König Vorlesung Modellierung nebenläufiger Systeme 14

15 Literatur Elektronisch verfügbare Literatur: Davide Sangiorgi: On the origins of Bisimulation, Coinduction, and Fixed Points. Technical Report , Department of Computer Science, University of Bologna, public/history bis coind.pdf Transitionssysteme, Verhaltensäquivalenzen Tadao Murata: Petri Nets: Properties, Analysis and Applications. Proc. of the IEEE, 77(4), Petri-Netze Barbara König Vorlesung Modellierung nebenläufiger Systeme 15

16 Literatur Elektronisch verfügbare Literatur (Fortsetzung): Madhavan Mukund: Finite-state Automate on Infinite Inputs. Tutorial talk, Büchi-Automaten Madhavan Mukund: Linear-Time Temporal Logic and Büchi Automata. Tutorial talk, Büchi-Automaten, LTL, Model-Checking Barbara König Vorlesung Modellierung nebenläufiger Systeme 16

17 Folien & Skript Folien werden Skript: im Web bereitgestellt regelmäßig aktualisiert ähnlich zu den Folien des Vorjahres sein (vor allem zu den Folien aus dem WS 07/08) Zu Teilen des Vorlesungsstoffes, der eher an der Tafel behandelt wird und von den Folien nicht so gut abgedeckt wird, wird ein (relativ knappes) Skript zur Verfügung gestellt. Trotzdem kann es sinnvoll sein, wenn Sie sich während der Vorlesung eigene Notizen machen. Barbara König Vorlesung Modellierung nebenläufiger Systeme 17

18 Werbung in eigener Sache... Seminar Model-Checking (DAI/BAI/MAI) Als Blockseminar im Anschluss an das Wintersemester. Vorbesprechung: 6. November, 10:00 Uhr, LK Model-Checking Lösen eines Verifikations-Problems Gegeben ist eine Systembeschreibung eines Hardware- oder Software-Systems und eine Spezifikation zumeist in Form einer temporallogische Formel. Erfüllt das System die Spezifikation? D.h., ist das System korrekt? Barbara König Vorlesung Modellierung nebenläufiger Systeme 18

19 Motivation Was sind nebenläufige Systeme? Ganz allgemein: Systeme, bei denen mehrere Komponenten/Prozesse nebenläufig arbeiten und typischerweise durch Nachrichtenaustausch miteinander kommunizieren. Das englische Wort für nebenläufig ist concurrent. Barbara König Vorlesung Modellierung nebenläufiger Systeme 19

20 Motivation Nebenläufigkeit versus Parallelität: Parallelität Zwei Ereignisse finden parallel statt, wenn sie gleichzeitig ausgeführt werden. Nebenläufigkeit (engl. concurrency) Zwei Ereignisse sind nebenläufig, wenn sie parallel ausgeführt werden können (jedoch nicht müssen), das heißt, wenn zwischen ihnen keine kausale Abhängigkeit besteht. Das bedeutet: Nebenläufigkeit ist der allgemeinere Begriff. Barbara König Vorlesung Modellierung nebenläufiger Systeme 20

21 Motivation Beispiele Prozesswechsel auf einem Prozessor (Nebenläufigkeit, aber keine Parallelität) Rechner mit mehreren Prozessoren Netzwerk (LAN, WAN, Internet) Nebenläufige/parallele Anwendungen Hierbei ist zu unterscheiden: Parallelität zum Effizienzgewinn (Beispiel: paralleles Sortierverfahren) Nebenläufigkeit durch Nutzung verteilter Ressourcen (Beispiel: Verwendung von Web Services) Barbara König Vorlesung Modellierung nebenläufiger Systeme 21

22 Motivation (Mögliche) Charakteristika von nebenläufigen Systeme Nebenläufigkeit/Parallelität Offenheit (Erweiterbarkeit, Interaktion mit der Umgebung) Modularität Nicht-terminierendes Verhalten (unendlich lange Abläufe) Nicht-Determinismus Temporale Eigenschaften (z.b.: irgendwann wird etwas passieren ) Barbara König Vorlesung Modellierung nebenläufiger Systeme 22

23 Motivation Probleme beim Umgang mit nebenläufigen Systemen Deadlocks (Verklemmungen) Einhaltung des wechselseitigen Ausschlusses (engl. mutual exclusion) Unendlicher bzw. sehr großer Zustandsraum Stark dynamisches Verhalten/wechselnde Anzahl von Prozessen Variable Topologie/Mobilität Daher: Methoden zur Modellierung, Analyse und Verifikation solcher Systeme sind erforderlich. Barbara König Vorlesung Modellierung nebenläufiger Systeme 23

24 Einführendes Beispiel: Prozesskommunikation Wir betrachten das folgende System mit drei Prozessen P 0, P 1, P 2 : P 1 P 2 P 0 Dabei schickt P 0 Nachrichten an P 1, P 1 schickt Nachrichten an P 2 und P 2 schickt Nachrichten an P 0. Barbara König Vorlesung Modellierung nebenläufiger Systeme 24

25 Einführendes Beispiel: Prozesskommunikation Ein Prozess P i verhält sich wie folgt: Falls eine Nachricht für P i anliegt, so empfängt P i diese Nachricht (Aktion r i receive). Falls keine Nachricht für P i anliegt und auch keine Nachricht am Nachbarn P j (mit j = (i + 1) mod 3) anliegt, so sendet P i eine Nachricht an P j (Aktion s i send). Zu jedem Zeitpunkt kann ein beliebiger Prozess des Systems die nächste Aktion ausführen. Barbara König Vorlesung Modellierung nebenläufiger Systeme 25

26 Einführendes Beispiel: Prozesskommunikation Beschreibung durch ein Transitionssystem: System-Zustände der Form (x, y, z) mit x, y, z {N, }. Beispiel: (N, N, ) bedeutet, dass an den Prozessen P 0 und P 1 jeweils eine Nachricht anliegt. Transitionen/Zustandsübergänge mit Aktionen r i (Prozess i liest eine Nachricht) und s i (Prozess i sendet eine Nachricht). Barbara König Vorlesung Modellierung nebenläufiger Systeme 26

27 Einführendes Beispiel: Prozesskommunikation (,, ) (, N, ) s 2 r 0 s 0 (N, N, ) r 1 r 0 s 1 r 2 (,, N) s 0 r 2 r 1 (, N, N) s 2 (N,, ) s 1 r 0 r 2 (N,, N) r 1 Barbara König Vorlesung Modellierung nebenläufiger Systeme 27

28 Einführendes Beispiel: Prozesskommunikation Erweiterungen Was passiert, wenn man von als externer Beobachter Sendeoperationen untereinander und Empfangsoperationen untereinander nicht unterscheiden kann? Welche Zustände können dann als äquivalent angesehen werden? Zusätzlich: In oben beschriebenen System kann ein Fehler eintreten, der zur Folge hat, dass der Prozess P 0 keine Nachrichten mehr senden kann. Dieser Fehler kann immer direkt nach einer Sendeoperation von P 0 auftreten. Wie kann das Transitionssystem so erweitert werden, dass dieser Fehler berücksichtigt wird? Was passiert, wenn ein Prozess auch eine Nachricht schicken darf, wenn die vorherige Nachricht noch nicht empfangen wurde? Barbara König Vorlesung Modellierung nebenläufiger Systeme 28

29 Inhalt der Vorlesung Im folgenden werden wir zur Modellierung nebenläufiger Systeme einsetzen: Transitionssysteme (wie oben) Modelle, die näher an echten Programmiersprachen liegen (beispielsweise Prozesskalküle) Weitere Modelle: Büchi-Automaten, Petri-Netze, Graphtransformationssysteme Außerdem (zur Untersuchung/Analyse von Systemen): Beschreibung von Eigenschaften nebenläufiger Systeme (Sicherheit und Lebendigkeit, temporale Logik) Verhaltensäquivalenzen: Wann verhalten sich zwei Systeme gleich (aus der Sicht eines externen Beobachters)? Barbara König Vorlesung Modellierung nebenläufiger Systeme 29

30 Inhalt der Vorlesung Transitionssysteme Verhaltensäquivalenzen (Sprachäquivalenz, Bisimulation) Sicherheits- und Lebendigkeitseigenschaften Büchi-Automaten Temporale Logik (LTL), Model-Checking Prozesskalküle (CCS, π-kalkül) Petri-Netze (Entfaltung von Netzen) Graphtransformationssysteme Barbara König Vorlesung Modellierung nebenläufiger Systeme 30

31 Transitionssysteme Transitionssysteme repräsentieren Zustände und Zustandsübergänge von Systemen. Echte Parallelität wird nicht direkt repräsentiert. Starke Ähnlichkeit zu Automaten, aber hier sind wir weniger an der akzeptierten Sprache interessiert. 1 a 2 c b 3 Barbara König Vorlesung Modellierung nebenläufiger Systeme 31

32 Verhaltensäquivalenzen Angenommen, ein externer Beobachter kann nur bestimmte Aktionen eines Systems von außen beobachten und nur begrenzt mit diesem System interagieren... Wie kann man feststellen, ob zwei Systeme aus Sicht dieses externen Beobachters äquivalent sind? Die Interaktion des Beobachter mit den Systemen kann oft als eine Art Spiel beschrieben werden. Verschiedene Verhaltensäquivalenzen (Sprachäquivalenz, Bisimularität) Interface, das nur gewissen Interaktionen mit dem System erlaubt Barbara König Vorlesung Modellierung nebenläufiger Systeme 32

33 Sicherheits- und Lebendigkeitseigenschaften Jede Eigenschaft von (endlichen oder unendlichen) Abläufen eines Systems kann in eine Sicherheits- und in eine Lebendigkeitseigenschaft zerlegt werden. (engl. safety and liveness properties) Sicherheitseigenschaft (in etwa): es passiert nie etwas Schlimmes (z.b. keine Verklemmung) Lebendigkeitseigenschaft (in etwa): es passiert irgendwann einmal etwas Gutes (z.b. Terminierung) Barbara König Vorlesung Modellierung nebenläufiger Systeme 33

34 Büchi-Automaten Spezielle Art von Automaten, die unendlich lange Wörter akzeptieren können (benannt nach Julius Richard Büchi) Unendliche Wörter stellen nicht-terminierende Abläufe eines Systems dar Die von endlichen Automaten bekannten Endzustände werden durch andere Akzeptanzbedingungen ersetzt. 1 a 2 c b 3 abcabcabc... Barbara König Vorlesung Modellierung nebenläufiger Systeme 34

35 Temporale Logik, Model-Checking Eigenschaften von Systemen kann man auch mit Hilfe von temporaler Logik (z.b. LTL) beschreiben. Dazu gibt es sogenannte Model-Checking-Verfahren, die mit Hilfe des Transitionssystems überprüfen können, ob ein System die Eigenschaft auch erfüllt. Diese Verfahren funktionieren vor allem gut für Systeme mit endlichem Zustandsraum. S = P die Eigenschaft P ist in jedem Ablauf von S unendlich oft erfüllt. Dabei ist S das zu der Formel gehörende Modell (= model). Barbara König Vorlesung Modellierung nebenläufiger Systeme 35

36 Prozesskalküle Prozesskalküle sind Mini-Programmiersprachen mit denen direkt interagierende und kommunizierende Prozesse beschrieben werden können. Mögliche zusätzliche Features : Mobilität (von Kommunikationskanälen, von Prozessen) Beschreibung des Verhaltens von Prozessen durch Transitionen Bekannte Prozesskalküle: CCS, π-kalkül a.p ā.q τ P Q Barbara König Vorlesung Modellierung nebenläufiger Systeme 36

37 Petri-Netze Modell für nebenläufige Systeme, das die gemeinsame Nutzung von Ressourcen beschreibt. Ressourcen werden durch Marken repräsentiert und Transitionen konsumieren und erzeugen Marken. Viele Analysetechniken vorhanden (Überdeckbarkeitsgraph, Markierungsgleichung, Invarianten) Es gibt sogenannte Partialordnungsverfahren, die versuchen, Zustandsexplosionen aufgrund von Nebenläufigkeit zu vermeiden (z.b. Netz-Entfaltungen). Stelle Marke Transition Barbara König Vorlesung Modellierung nebenläufiger Systeme 37

38 Graphtransformations-Systeme Verallgemeinerung von Petri-Netzen, bei denen nicht nur Mengen von Marken, sondern Graphen transformiert werden. Graphen modellieren untereinander vernetzte Komponenten, die sich dynamisch verändern können. Transition in einem Graphtransformations-System: Barbara König Vorlesung Modellierung nebenläufiger Systeme 38

39 Modellierung mit UML Die Modellierung von Systemen mit Hilfe von UML (= Unified Modeling Language) wird im Rahmen dieser Vorlesung nur am Rande behandelt. Folgende Typen von Diagrammen haben einen Bezug zu Themen der Vorlesung: Zustandsdiagramme (state diagrams/statecharts): entsprechen (erweiterten) Transitionssystemen mit zusätzlicher hierarchischer Struktur Aktivitätsdiagramme (activity diagrams): entsprechen in etwa Petri-Netzen Barbara König Vorlesung Modellierung nebenläufiger Systeme 39

40 Modellierung mit UML Sequenzdiagramme (message sequence charts): können verwendet werden, um Kommunikation zwischen einer festen Anzahl von Prozessen darzustellen Prozess 1 Prozess 2 Prozess 3 Zeit Prozesskommunikation (Nachricht) Barbara König Vorlesung Modellierung nebenläufiger Systeme 40

41 Transitionssysteme (Motivation) Wir behandeln im folgenden Transitionssysteme, mit denen man sehr direkt und explizit das Verhalten eines Systems darstellen kann. 1 a 2 c b 3 Barbara König Vorlesung Modellierung nebenläufiger Systeme 41

42 Aktionen und Aktionsfolgen Wir verwenden folgende Notation: Act: Menge von atomaren Aktionen, oft mit a, b, c,... bezeichnet. Manchmal verwenden wir auch die interne Aktion τ, die von außen her nicht beobachtbar sein soll. Act : Die Menge aller endlichen Wörter (engl. finite words) über dem Alphabet Act. Act ω : Die Menge aller unendlichen Wörter (engl. infinite words) über dem Alphabet Act. Ein unendliches Wort w Act ω kann durch eine Abbildung w : N 0 \{0} Act dargestellt werden. Act = Act Act ω : Die Menge aller endlichen und unendlichen Wörter über Act. Pref(L): Für eine Sprache L Act definieren wir die Menge aller Präfixe von L wie folgt: Pref(L) = {u Act w L, v Act : w = uv}. Barbara König Vorlesung Modellierung nebenläufiger Systeme 42

43 Relationen Wir verwenden folgende Notation für Relationen: Eine Relation R zwischen den Mengen A, B ist eine Teilmenge von A B, d.h., R A B. Sei (a, b) A B ein Paar mit (a, b) R. Dann schreiben wir manchmal auch a R b (in Worten: a steht mit b in Relation). Barbara König Vorlesung Modellierung nebenläufiger Systeme 43

44 Transitionssysteme Transitionssystem (Definition) Gegeben sei eine feste Menge von Aktionen Act. Ein Transitionssystem T = (Z, ) über Act besteht aus Einer Menge von Zuständen Z und einer Menge Z Act Z von Zustandsübergängen. Ein Transitionssystem heißt endlich (engl. finite), wenn sowohl die Zustandsmenge als auch die Übergangsmenge endlich sind. Statt (z, l, z ) schreiben wir in Zukunft z l z. Außerdem werden wir z a 1... an z im folgenden mit z a 1...a n z abkürzen. Es gilt außerdem, dass z ε z für jeden Zustand z. Für einen Zustand z schreiben wir z, a falls es einen Zustand z mit z a z a gibt und z, wenn es einen solchen Zustand nicht gibt. Barbara König Vorlesung Modellierung nebenläufiger Systeme 44

45 Transitionssysteme (Beispiele) Ein klassisches Beispiel: die Tee- und Kaffee-Maschine. Wir wollen eine ganz einfache Maschine modellieren, die nach Münzeinwurf und Tastendruck entweder Tee oder Kaffee ausgibt, Fehlverhalten zeigen kann und sich unter Umständen nicht-deterministisch verhält. Barbara König Vorlesung Modellierung nebenläufiger Systeme 45

46 Transitionssysteme (Beispiele) z kaffee münze tee taste(kaffee) taste(tee) Eine Tee-/Kaffee-Maschine. Wir unterscheiden Eingabeaktionen der Form a und Ausgabeaktionen (auch Ko-Aktionen genannt) der Form a. Barbara König Vorlesung Modellierung nebenläufiger Systeme 46

47 Transitionssysteme (Beispiele) wechselgeld taste(kaffee) z münze taste(tee) kaffee tee Eine Maschine, die sogar wechselt. Barbara König Vorlesung Modellierung nebenläufiger Systeme 46

48 Transitionssysteme (Beispiele) z fehler kaffee münze tee taste(kaffee) taste(tee) Eine Maschine mit Fehler. Das Auftreten eines Fehlers entspricht eher einer internen Aktion und könnte alternativ auch mit einem τ modelliert werden. Barbara König Vorlesung Modellierung nebenläufiger Systeme 46

49 Transitionssysteme (Beispiele) kaffee münze taste(kaffee) z fehler fehler taste(tee) tee Eine (unfaire) Maschine mit Fehler, die nach Einwurf einer Münze in den Fehlerzustand übergehen kann. Barbara König Vorlesung Modellierung nebenläufiger Systeme 46

50 Transitionssysteme (Beispiele) z fehler reparatur kaffee münze tee taste(kaffee) taste(tee) Eine Maschine mit Fehler, die wieder repariert werden kann. Barbara König Vorlesung Modellierung nebenläufiger Systeme 46

51 Transitionssysteme (Beispiele) z kaffee münze münze tee taste(kaffee) taste(tee) Eine Maschine mit nicht-deterministischem Verhalten, die die Getränkeauswahl für den Benutzer trifft. Barbara König Vorlesung Modellierung nebenläufiger Systeme 46

52 Deterministische Transitionssysteme Deterministisches Transitionssystem (Definition) Ein Transitionssystem T = (Z, ) heißt deterministisch, wenn für jeden Zustand z Z gilt: Falls z a z 1 und z a z 2, dann gilt z 1 = z 2. Bemerkungen: Alle Tee-/Kaffee-Maschinen bis auf die letzte sind deterministisch. Im Gegensatz zu deterministischen Automaten wird hier nicht gefordert, dass bei einem deterministischem Transitionssystem von jedem Zustand aus auch jede Aktion möglich ist. Barbara König Vorlesung Modellierung nebenläufiger Systeme 47

53 Transitionssysteme (Beispiele) Beim Problem der Dining Philosophers werden Prozesse (= Philosophen) und Ressourcen (= Gabeln/Forks) betrachtet: Es sitzen drei Philosophen um einen runden Tisch, zwischen je zwei Philosophen liegt eine Gabel. Philosophen werden von Zeit zu Zeit hungrig und benötigen zum Essen beide benachbarte Gabeln. Jeder Philosoph nimmt zu einem beliebigen Zeitpunkt beide Gabeln nacheinander (in beliebiger Reihenfolge) auf, isst und legt anschließend beide Gabeln wieder zurück. P 1 F 1 P 2 F 3 F 2 P 3 Barbara König Vorlesung Modellierung nebenläufiger Systeme 48

54 Transitionssysteme (Beispiele) Frage Das System sollte eigentlich beliebig lange laufen und niemals terminieren. Kann es passieren, dass es irgendwann zu einer Verklemmung kommt, so dass keine Aktionen mehr möglich sind? Wir lösen diese Frage, indem wir das entsprechende Transitionssystem (zumindest teilweise) aufstellen. Barbara König Vorlesung Modellierung nebenläufiger Systeme 49

55 Transitionssysteme (Beispiele) Zustände: 3-Tupel der Form (z 1, z 2, z 3 ), wobei z i den Zustand der Gabel F i symbolisiert. Es gilt: z 1 {, P 1, P 2 } (F 1 nicht zugeordnet, zu P 1 oder zu P 2 zugeordnet) z 2 {, P 2, P 3 } (Bedeutung analog) z 3 {, P 3, P 1 } (Bedeutung analog) Damit hat das Transitionssystem 3 3 = 27 Zustände. Aktionen: t(p i, F j ): Philosoph P i nimmt Gabel F j auf ( take ). e i : Philosoph P i isst ( eat ). r i : Philosoph P i legt beide Gabeln zurück ( return ). Barbara König Vorlesung Modellierung nebenläufiger Systeme 50

56 Transitionssysteme (Beispiele) Ausschnitt aus dem Transitionssystem: (,, ) r 1 t(p 1, F 1 ) t(p 1, F 3 ) (P 1,, ) t(p 2, F 2 ) e 1 (P 1,, P 1 ) (P 1, P 2, ) e 1 t(p 2, F 2 ) (P 1, P 2, P 1 ) t(p 3, F 3 ) (P 1, P 2, P 3 ) t(p e 2, F 1 ) 2 (P 2, P 2, ) r 1 (, P 2, ) Barbara König Vorlesung Modellierung nebenläufiger Systeme 51

57 Transitionssysteme (Beispiele) Ausschnitt aus dem Transitionssystem: (,, ) r 1 t(p 1, F 1 ) t(p 1, F 3 ) (P 1,, ) t(p 2, F 2 ) e 1 (P 1,, P 1 ) (P 1, P 2, ) t(p 2, F 2 ) (P 1, P 2, P 1 ) t(p e 2, F 1 ) 2 (P 2, P 2, ) (, P 2, ) e 1 r 1 t(p 3, F 3 ) (P 1, P 2, P 3 ) Verklemmung! Keine Transitionen mehr möglich. Barbara König Vorlesung Modellierung nebenläufiger Systeme 51

58 Transitionssysteme (Beispiele) Mögliche Lösungen für das Verklemmungsproblem: Verklemmungen vermeiden: Ein Philosoph muss beide Gabeln gleichzeitig aufnehmen. Einführen von links- und rechts-händigen Philosophen. Ein linkshändiger Philosoph nimmt zunächst die linke Gabel, ein rechtshändiger zunächst die rechte. Wenn sowohl links-, als auch rechts-händige Philosophen vorkommen, so können keine Verklemmungen entstehen. Durch Ordnen der Ressourcen: F 1 < F 2 < F 3. Je kleiner eine Ressource bezüglich der Ordnung ist, desto früher muss sie belegt werden. Verklemmungen erkennen und auflösen: Verklemmungen werden gefunden (durch einen weiteren Prozess, durch Timeouts,... ) und geeignet aufgelöst. Barbara König Vorlesung Modellierung nebenläufiger Systeme 52

59 Verhaltensäquivalenzen (Sprachäquivalenz) Sprache eines Zustands (Definition) Mit der Sprache eines Zustands z bezeichnen wir alle Wörter über Act, die den von z ausgehenden Pfaden entsprechen. Es gibt drei verschiedene Möglichkeiten, Sprachen zu definieren: S(z) = {w Act z Z : z w z } S ω (z) = {a 1 a 2 a 3 Act ω z a 1 a z 2 a 1 3 z2... } S (z) = S(z) S ω (z) Sprachäquivalenz (Definition) Zwei Zustände z, z Z heißen S-sprachäquivalent, wenn S(z) = S(z ) gilt. Analog ist S ω - und S -Sprachäquivalenz definiert. Sprachäquivalenz wird auf Englisch auch als trace equivalence bezeichnet. Barbara König Vorlesung Modellierung nebenläufiger Systeme 53

60 Verhaltensäquivalenzen (Sprachäquivalenz) Die Sprachäquivalenz hat folgende Eigenschaft: Falls z, z S -sprachäquivalent sind, dann sind sie auch S- und S ω -sprachäquivalent. Begründung: Aus S (z) = S (z ) folgt S(z) = S (z) Act = S (z ) Act = S(z ). Und analog: S ω (z) = S (z) Act ω = S (z ) Act ω = S ω (z ). Barbara König Vorlesung Modellierung nebenläufiger Systeme 54

61 Verhaltensäquivalenzen (Sprachäquivalenz) Es gilt aber auch: Falls z, z S-sprachäquivalent sind, dann sind sie nicht notwendigerweise S ω -sprachäquivalent (und umgekehrt). Gegenbeispiele: Zustände z, z sind S-äquivalent, aber nicht S ω -äquivalent. (Von z aus gibt es nur endliche Pfade.) Zustände z, z sind S ω -äquivalent, aber nicht S-äquivalent. z a a a a z a a a... a z a z a b a... Barbara König Vorlesung Modellierung nebenläufiger Systeme 55

62 Verhaltensäquivalenzen (Verweigerungsäquivalenz) Motivation: die Zustände z, z der beiden folgenden Tee-/Kaffee-Maschinen sind sprachäquivalent. z z münze kaffee münze tee kaffee münze tee taste(kaffee) taste(tee) taste(kaffee) taste(tee) Allerdings möchte man diese Zustände nicht wirklich als gleich ansehen. In dem einen Fall funktioniert die Maschine korrekt, in dem anderen verschluckt sie eine Münze, ohne etwas auszugeben. Folgerung: Sprachäquivalenz ist nicht ausreichend. Wir benötigen auch noch die Möglichkeit zu sagen, dass die erreichbaren Zustände dieselben Aktionen erlauben bzw. nicht erlauben sollen. Barbara König Vorlesung Modellierung nebenläufiger Systeme 56

63 Verhaltensäquivalenzen (Verweigerungsäquivalenz) Verweigerungsäquivalenz (Definition) Sei T = (Z, ) ein Transitionssystem. Die Menge der Verweigerungspaare eines Zustands z Z ist definiert als: F(z) = {(w, A) Act P(Act) w z Z : z z und z für alle a A} Zwei Zustände z, z Z heißen verweigerungsäquivalent, wenn F(z) = F(z ) gilt. Verweigerungsäquivalenz wird auf Englisch als failures equivalence bezeichnet. a Barbara König Vorlesung Modellierung nebenläufiger Systeme 57

64 Verhaltensäquivalenzen (Verweigerungsäquivalenz) Motivation: die Zustände z, z der beiden folgenden Tee-/Kaffee-Maschinen sind sprachäquivalent. z z münze kaffee münze tee kaffee münze tee taste(kaffee) taste(tee) taste(kaffee) taste(tee) In diesem Beispiel enthält F(z ) das Paar (münze, {taste(kaffee), taste(tee)}), wobei dieses Paar in F(z) nicht vorkommt. Barbara König Vorlesung Modellierung nebenläufiger Systeme 58

65 Verhaltensäquivalenzen (Verweigerungsäquivalenz) Bemerkungen: Falls ein Paar (w, A) in einer Menge F(z) enthalten ist, so gilt auch für jedes A A, dass (w, A ) F(z). (Man sagt dazu auch: F(z) ist unter Inklusion abgeschlossen.) Daher reicht es aus, Paare (w, A) zu betrachten, bei denen A maximal ist. Die Definition einer Aktivierungsäquivalenz mit folgenden Mengen A(z) reicht nicht aus, um die fehlerhafte Maschine von der korrekten zu unterscheiden. A(z) = {(w, A) Act P(Act) z Z : z w z und z a für alle a A} Barbara König Vorlesung Modellierung nebenläufiger Systeme 59

66 Verhaltensäquivalenzen (Verweigerungsäquivalenz) Ein weiteres Beispiel für Verweigerungsäquivalenz: z z a a a a a a b c b c b c Es gilt: F(z) = {(ε, A) A {b, c}} {(a, A) A {a, b, c}} {(ab, A) A {a, b, c}} {(ac, A) A {a, b, c}} = F(z ) und z, z sind damit verweigerungsäquivalent. Barbara König Vorlesung Modellierung nebenläufiger Systeme 60

67 Verhaltensäquivalenzen (Bisimularität) Es gibt noch eine weitere wichtige Äquivalenz, die etwas feiner als Verweigerungsäquivalenz und im allgemeinen auch leichter zu mechanisieren ist: die Bisimularität oder Bisimulationsäquivalenz. Dabei verlangt man anschaulich, dass die beiden Zustände z, z in der Lage sind, sich gegenseitig zu simulieren. Bisimulation (Definition) Sei T = (Z, ) ein Transitionssystem. Eine Relation R Z Z auf den Zuständen heißt Bisimulation, wenn für jedes Paar (z 1, z 2 ) R und für jede Aktion a Act gilt: für jedes z 1 mit z 1 a z 1 gibt es ein z 2 mit z 2 a z 2 und (z 1, z 2 ) R. für jedes z 2 mit z 2 a z 2 gibt es ein z 1 mit z 1 a z 1 und (z 1, z 2 ) R. Barbara König Vorlesung Modellierung nebenläufiger Systeme 61

68 Verhaltensäquivalenzen (Bisimularität) Bisimularität (Definition) Zwei Zustände z 1, z 2 heißen bisimular, wenn es eine Bisimulation R gibt mit (z 1, z 2 ) R. In diesem Fall schreiben wir z 1 z 2. Die Relation heißt dann Bisimularität oder Bisimulationsäquivalenz. Bisimularität wird auf Englisch auch als bisimilarity oder bisimulation equivalence bezeichnet. Barbara König Vorlesung Modellierung nebenläufiger Systeme 62

69 Verhaltensäquivalenzen (Bisimularität) Beispiele: z z münze kaffee münze tee kaffee münze tee taste(kaffee) taste(tee) taste(kaffee) taste(tee) Die beiden Zustände z, z sind nicht bisimular. Barbara König Vorlesung Modellierung nebenläufiger Systeme 63

70 Verhaltensäquivalenzen (Bisimularität) Beispiele: z z kaffee münze tee kaffee münze münze tee taste(kaffee) taste(tee) taste(kaffee) taste(tee) Die beiden Zustände z, z sind nicht bisimular. Barbara König Vorlesung Modellierung nebenläufiger Systeme 64

71 Verhaltensäquivalenzen (Bisimularität) Beispiele: z z 1 5 d b a 2 c d a a 6 7 b, c b, c d Die beiden Zustände z = 1, z = 5 sind bisimular. Bisimulationsrelation: R = {(1, 5), (2, 6), (2, 7), (3, 8), (4, 8)} Barbara König Vorlesung Modellierung nebenläufiger Systeme 65

72 Verhaltensäquivalenzen (Bisimularität) Bisimularität läßt sich auch als Spiel charakterisieren: Bisimulationsspiel Teilnehmer: Spieler I, Spieler II Ausstattung: 2 Spielsteine, 1 Transitionssystem Ausgangssituation: Die Spielsteine liegen auf den Zuständen z, z. Regeln einer Runde: Spieler I wählt einen der beiden Spielsteine aus und führt damit eine beliebige a-transition aus. Spieler II muss mit dem anderen Spielstein ebenfalls eine a-transition durchführen. Wichtig: Spieler I kann in jeder Runde wechseln und einen anderen Spielstein wählen! Barbara König Vorlesung Modellierung nebenläufiger Systeme 66

73 Verhaltensäquivalenzen (Bisimularität) Bisimulationsspiel (Fortsetzung) Spielverlauf: Beginnend mit der Ausgangssituation wird eine Runde nach der anderen gespielt, bis einer der beiden Spieler nicht mehr ziehen kann. Sieg/Niederlage: Spieler I gewinnt, wenn er einen Zug machen kann, den Spieler II nicht simulieren kann. Spieler II gewinnt, wenn er jeden Zug von Spieler I simulieren kann. (Das kann auch dazu führen, dass das Spiel unendlich lange läuft.) Barbara König Vorlesung Modellierung nebenläufiger Systeme 67

74 Verhaltensäquivalenzen (Bisimularität) Korrektheit des Bisimulationsspiels (Satz) Zwei Zustände z, z sind bisimular genau dann, wenn Spieler II in dem zugehörigen Bisimulationsspiel mit der Ausgangssituation z, z eine Strategie hat, mit der er immer gewinnen kann. Bemerkungen: Das bedeutet, Spieler II muss immer in der Lage sein, zu gewinnen, wenn er keinen Fehler macht. Es bedeutet nicht, dass Spieler II immer gewinnt, egal welche Züge er durchführt. Diese Strategie ist eine Bisimulationsrelation R, mit der die Bisimularität von z und z nachgewiesen werden kann. Barbara König Vorlesung Modellierung nebenläufiger Systeme 68

75 Verhaltensäquivalenzen (Bisimularität) Wie beschreibt man eine Gewinnstrategie für Spieler I? Spieler I macht den ersten Zug. Dann kann man in einer Art Entscheidungsbaum notieren, welche Züge Spieler I in Abhängigkeit von den Zügen von Spieler II machen muss. Die Blätter des Entscheidungsbaum sind die Züge von Spieler I, auf die Spieler II nicht mehr antworten kann. Barbara König Vorlesung Modellierung nebenläufiger Systeme 69

76 Verhaltensäquivalenzen (Bisimularität) Beispiel (Gewinnstrategie für Spieler I): z 1 z a a a a b 2 3 b 5 6 c b c c Spieler I: 1 a 3 Spieler II: 4 a 5 4 a 6 Spieler I: 5 c 5 3 b 3 Spieler II: Je nachdem, ob Spieler II mit 4 a 5 oder mit 4 a 6 antwortet, muss Spieler I einen anderen nächsten Zug wählen. Barbara König Vorlesung Modellierung nebenläufiger Systeme 70

77 Verhaltensäquivalenzen (Bisimularität) Eigenschaften der Bisimularität Bisimularität ist eine Bisimulation (Satz) Sei T = (Z, ) ein Transitionssystem. Für die Bisimularität auf Z gelten folgende Eigenschaften: = {R R Z Z, R ist Bisimulation} Die Bisimularität ist selbst eine Bisimulationsrelation. Barbara König Vorlesung Modellierung nebenläufiger Systeme 71

78 Verhaltensäquivalenzen (Bisimularität) Abschlusseigenschaften (Satz) Sei T = (Z, ) ein Transitionssystem und seien R 1, R 2 Bisimulationen. Dann sind folgende Relationen ebenfalls Bisimulationen: 1 Id Z = {(z, z) z Z}. 2 R 1 1 = {(z 2, z 1 ) (z 1, z 2 ) R 1 } 3 R 1 R 2 = {(z 1, z 3 ) z 2 : (z 1, z 2 ) R 1, (z 2, z 3 ) R 2 } 4 R 1 R 2 Aus den ersten drei Aussagen dieses Satzes folgt, dass die Bisimularität eine Äquivalenzrelation ist, d.h., dass sie reflexiv, symmetrisch und transitiv ist. Barbara König Vorlesung Modellierung nebenläufiger Systeme 72

79 Verhaltensäquivalenzen (Bisimularität) Ähnlich wie das Verfahren zur Minimierung von (deterministischen) endlichen Automaten gibt es auch eine Methode zur Bestimmung von bisimularen Zustandspaaren in einem Transitionssystem. Idee: Man beginnt zunächst mit einer i.a. zu groben Relation 0, die alle Zustände miteinander in Relation setzt. Dann wird diese Relation schrittweise verfeinert und es werden Relationen 1, 2,... erstellt. Sobald zwei aufeinanderfolgende Relationen gleich sind ( n = n+1 ) hat man die Bisimularität gefunden (zumindest bei endlichen Transitionssystemen). D.h., es gilt dann = n. Barbara König Vorlesung Modellierung nebenläufiger Systeme 73

80 Verhaltensäquivalenzen (Bisimularität) Methode zur Bestimmung von bisimularen Zustandspaaren Eingabe: Ein Transitionssystem T = (Z, ) Setze 0 = Z Z. n+1 Z Z, wobei z n+1 z genau dann, wenn für alle a Act gilt: 1 Für jedes z 1 mit z a z 1 gibt es ein z 2, so dass z a z2 und z 1 n z 2. 2 Für jedes z 2 mit z a z2 gibt es ein z 1, so dass z a z 1 und z 1 n z 2. Das Verfahren terminiert, sobald n = n+1 gilt. Ausgabe: n Barbara König Vorlesung Modellierung nebenläufiger Systeme 74

81 Verhaltensäquivalenzen (Bisimularität) Beispiel: Bestimmen Sie die bisimularen Zustandspaare des folgenden Transitionssystems b 1 b 5 a a a a 2 3 b a 6 7 c 4 a c c Barbara König Vorlesung Modellierung nebenläufiger Systeme 75

82 Verhaltensäquivalenzen (Bisimularität) Wenn wir die Äquivalenzrelationen i durch Äquivalenzklassen darstellen, so erhalten wir folgende Folge 0, 1, 2 = = Barbara König Vorlesung Modellierung nebenläufiger Systeme 76

83 Verhaltensäquivalenzen (Bisimularität) Lemma Es gilt: 1 n ist eine Äquivalenzrelation für alle n N 0. 2 z n z impliziert z m z für alle m n. 3 z z impliziert z n z für alle n N 0. 4 n = n+1 impliziert n = m für alle m n. Barbara König Vorlesung Modellierung nebenläufiger Systeme 77

84 Verhaltensäquivalenzen (Bisimularität) Satz Sei T = (Z, ) ein Transitionssystem, das endlich verzweigt ist, das heißt für jeden Zustand z ist die Menge endlich. {z a Act: z a z } Dann gilt z z genau dann, wenn z n z für alle n N 0. In anderen Worten: = n N 0 n. Dieser Satz gilt nicht für Transitionssysteme, die nicht endlich verzweigt sind. Barbara König Vorlesung Modellierung nebenläufiger Systeme 78

85 Verhaltensäquivalenzen (Bisimularität) Korollar Für jedes endliche Transitionssystem gilt: 1 Die Methode zur Bestimmung von bisimularen Zustandspaaren terminiert immer und 2 gibt die korrekte Bisimularität zurück. Barbara König Vorlesung Modellierung nebenläufiger Systeme 79

86 Verhaltensäquivalenzen (Bisimularität) Bemerkung zum Verfahren zur Bestimmung bisimularer Zustandspaare: Um eine effiziente Implementierung zu erhalten, sollte man im allgemeinen die Relationen 0, 1, 2,..., nicht explizit angeben. Dies gilt insbesondere für die Relation 0, die alle Zustandspaare umfasst und damit die Größe Z 2 hat. Eine effizientere Implementierung repräsentiert die Äquivalenzrelation i durch ihre Äquivalenzklassen. Zu Beginn gibt es nur eine Äquivalenzklasse, die dann geeignet verfeinert wird (siehe auch das vorhergehende Beispiel). Barbara König Vorlesung Modellierung nebenläufiger Systeme 80

87 Interne Aktionen Im folgenden behandeln wir τ-aktionen als spezielle interne Aktionen, die von außen nicht beobachtet werden können. Das bedeutet insbesondere: τ τ Eine Aktionenfolgen z 1... z2 sieht von außen betrachtet so aus, als würde gar keine Aktion ausgeführt werden. τ a τ Bei einer Aktionenfolgen z z2 nimmt ein externer Beobachter nur die Aktion a wahr. Barbara König Vorlesung Modellierung nebenläufiger Systeme 81

88 Interne Aktionen Wir definieren daher neue Übergangsrelationen mit Hilfe von schwachen Transitionen: Definition Für eine Menge Act von Aktionen definieren wir folgende Relationen: z 1 ε z2 genau dann, wenn z 1 ( τ ) z 2, d.h., z 1 τ... τ z2. Für ein a Act gilt z 1 a z2 genau dann, wenn z 1 ε a ε z2. Herkömmliche Transitionen werden im folgenden auch oft als starke Transitionen bezeichnet, um sie von schwachen Transitionen unterscheiden zu können. Barbara König Vorlesung Modellierung nebenläufiger Systeme 82

89 Interne Aktionen Divergenz Ein Transitionssystem T = (Z, ) mit τ-transitionen heißt divergent, wenn es einen unendlichen Ablauf z τ z 1 τ z2 τ... gibt. Es heißt konvergent, wenn es keinen solchen Ablauf gibt. Barbara König Vorlesung Modellierung nebenläufiger Systeme 83

90 Interne Aktionen Verhaltensäquivalenzen und τ-transitionen Schwache Sprachäquivalenz, schwache Verweigerungsäquivalenz und schwache Bisimularität werden auf schwachen Übergängen der Form a definiert. Dadurch erhält man gröbere Verhaltensäquivalenzen, d.h., mehr Zustände stehen zueinander in Relation. Barbara König Vorlesung Modellierung nebenläufiger Systeme 84

91 Interne Aktionen Beispiel 1: z 1 b a c τ τ τ z 3 τ a a b c Die beiden Zustände z, z sind schwach sprachäquivalent. Barbara König Vorlesung Modellierung nebenläufiger Systeme 85

92 Interne Aktionen Beispiel 2: z 1 b a c b τ τ z 3 c a a τ τ Die beiden Zustände z, z sind ebenfalls schwach sprachäquivalent. Barbara König Vorlesung Modellierung nebenläufiger Systeme 86

93 Interne Aktionen Wir betrachten nun noch genauer die schwache Bisimularität: Schwache Bisimulation (Definition) Sei T = (Z, ) ein Transitionssystem. Eine Relation R Z Z auf den Zuständen heißt schwache Bisimulation, wenn für jedes Paar (z 1, z 2 ) R und für jedes a Act\{τ} {ε} gilt: für jedes z 1 mit z 1 a z 1 gibt es ein z 2 mit z 2 a z 2 und (z 1, z 2 ) R. für jedes z 2 mit z 2 a z 2 gibt es ein z 1 mit z 1 a z 1 und (z 1, z 2 ) R. Barbara König Vorlesung Modellierung nebenläufiger Systeme 87

94 Interne Aktionen Schwache Bisimularität (Definition) Zwei Zustände z 1, z 2 heißen schwach bisimular, wenn es eine schwache Bisimulation R gibt mit (z 1, z 2 ) R. In diesem Fall schreiben wir z 1 z 2. Die Relation heißt dann schwache Bisimularität oder Beobachtungsäquivalenz. Barbara König Vorlesung Modellierung nebenläufiger Systeme 88

95 Interne Aktionen Bemerkung: die obige Definition der Bisimularität ist für praktische Zwecke nicht sehr befriedigend, da es zumeist wesentlich mehr schwache als starke Transitionen gibt. Daher verwendet man lieber folgende alternative Charakterisierung: Alternative Charakterisierung schwacher Bisimulation (Satz) Eine Relation R Z Z ist schwache Bisimulation genau dann, wenn für jedes Paar (z 1, z 2 ) R und für jedes a Act gilt: für jedes z 1 mit z 1 a z 1 gibt es ein z 2 mit z 2 â z 2 und (z 1, z 2 ) R. für jedes z 2 mit z 2 a z 2 gibt es ein z 1 mit z 1 â z 1 und (z 1, z 2 ) R. Dabei ist â = a, falls a Act\{τ}, und ˆτ = ε. Barbara König Vorlesung Modellierung nebenläufiger Systeme 89

96 Interne Aktionen Beispiel 1: z 1 b a c τ τ τ z 3 τ a b c Die beiden Zustände z, z sind schwach bisimular mit Bisimulationsrelation R = {(1, 3), (1, 4), (1, 5), (2, 6), (1, 7), (1, 8)}. a Barbara König Vorlesung Modellierung nebenläufiger Systeme 90

97 Interne Aktionen Beispiel 2: z 1 b a c b τ τ z 3 c a τ τ Die beiden Zustände z, z sind nicht schwach bisimular. Spieler I zieht z = 3 a 7, was Spieler II nur mit z = 1 a 2 beantworten kann. Dann macht Spieler I den Übergang 2 c 1, vom Zustand 7 aus ist jedoch kein (schwacher) c-übergang möglich. Barbara König Vorlesung Modellierung nebenläufiger Systeme 91 a

98 Interne Aktionen Bemerkungen: Die alternative Charakterisierung der schwachen Bisimularität ist komfortabler, wenn man zeigen will, dass zwei Zustände schwach bisimular sind. (Da Spieler I hier weniger Möglichkeiten hat.) Dagegen ist die herkömmliche Charakterisierung komfortabler, wenn man zeigen will, dass zwei Zustände nicht schwach bisimular sind. (Da Spieler I hier mehr Möglichkeiten hat.) Die jeweils weniger komfortable Charakterisierung funktioniert aber genauso. Man muss nur evtl. mehr Arbeit investieren. Barbara König Vorlesung Modellierung nebenläufiger Systeme 92

99 Verhaltensäquivalenzen (Vergleich) Wir zeigen nun im folgenden den Zusammenhang zwischen den verschiedenen Verhaltensäquivalenzen. Wir beschränken uns zunächst auf starke Transitionen. Die Ergebnisse gelten jedoch entsprechend auch für die schwachen Äquivalenzen. Verweigerungsäquivalenz impliziert S-Sprachäquivalenz (Satz) Seien z, z zwei verweigerungsäquivalente Zustände, d.h., es gilt F(z) = F(z ). Dann sind z, z auch S-sprachäquivalent, d.h., es gilt S(z) = S(z ). Bemerkung: zwei verweigerungsäquivalente Zustände sind jedoch nicht notwendigerweise S ω -sprachäquivalent. Barbara König Vorlesung Modellierung nebenläufiger Systeme 93

100 Verhaltensäquivalenzen (Vergleich) Bisimularität impliziert Verweigerungsäquivalenz und S ω -Sprachäquivalenz (Satz) Seien z, z zwei bisimulare Zustände, d.h., es gilt z z. Dann sind z und z auch verweigerungsäquivalent und S ω -sprachäquivalent. Barbara König Vorlesung Modellierung nebenläufiger Systeme 94

101 Verhaltensäquivalenzen (Vergleich) Zuletzt setzen wir noch starke und schwache Bisimularität miteinander in Beziehung: Starke Bisimularität impliziert schwache Bisimularität Seien z, z zwei stark bisimulare Zustände, d.h., es gilt z z. Dann sind z, z auch schwach bisimular, d.h., z z. Begründung: Jede starke Bisimulation ist auch eine schwache Bisimulation (bei der jeder starke Übergang wiederum durch einen starken Übergang simuliert wird). Barbara König Vorlesung Modellierung nebenläufiger Systeme 95

102 Verhaltensäquivalenzen (Vergleich) Insgesamt ergibt sich damit folgendes Bild (jeder Pfeil beschreibt eine Implikation): S-äqu. S ω -äqu. S -äqu. verw.äqu. bisimular schw. S-äqu. schw. S ω -äqu. schw. S -äqu. schw. verw.äqu. schw. bisimular Barbara König Vorlesung Modellierung nebenläufiger Systeme 96

103 Vergleichsordnungen Neben den bisher betrachteten Verhaltensäquivalenzen gibt es auch Vergleichsordnungen, die Zustände ordnen, je nachdem ob sie mehr oder weniger Verhalten zeigen. Die betrachteten Relationen sind keine echten Ordnungen, sondern nur sogenannte Quasi-Ordnungen (engl. preorders), da sie nur reflexiv und transitiv, jedoch im allgemeinen nicht anti-symmetrisch sind. Barbara König Vorlesung Modellierung nebenläufiger Systeme 97

104 Vergleichsordnungen Vergleichsordnungen (Definition) Gegeben sei eine Transitionssystem T = (Z, ) und zwei Zustände z, z Z. Die Zustände z, z sind geordnet bezüglich (S-)Sprachinklusion, falls S(z) S(z ) gilt. (Analog: S ω -/S -Sprachinklusion) Die dazugehörige Quasi-Ordnung heißt auf Englisch trace preorder. Die Zustände z, z sind geordnet bezüglich Inklusion der Mengen der Verweigerungspaare, falls F(z) F(z ) gilt. Die dazugehörige Quasi-Ordnung heißt auf Englisch failures preorder. Barbara König Vorlesung Modellierung nebenläufiger Systeme 98

105 Vergleichsordnungen Den Begriff der Simulation erhält man aus der Definition der Bisimulation, wobei nur die erste Bedingung verwendet wird. Simulation (Definition) Sei T = (Z, ) ein Transitionssystem. Eine Relation R Z Z auf den Zuständen heißt Simulation, wenn für jedes Paar (z 1, z 2 ) R und für jede Aktion a Act gilt: für jedes z 1 mit z 1 a z 1 gibt es ein z 2 mit z 2 a z 2 und (z 1, z 2 ) R. Wir sagen, dass ein Zustand z 2 einen Zustand z 1 simuliert (in Zeichen: z 1 z 2 ), wenn es eine Simulation R gibt mit (z 1, z 2 ) R. Bemerkung: Aus z 1 z 2 folgt immer S(z 1 ) S(z 2 ) und S ω (z 1 ) S ω (z 2 ). Barbara König Vorlesung Modellierung nebenläufiger Systeme 99

106 Vergleichsordnungen Bemerkungen zur Simulation: Es gelte z 1 z 2, d.h. z 2 simuliert z 1. Dann gilt nicht notwendigerweise F(z 1 ) F(z 2 ) (oder umgekehrt). a 1 2 a b 3 4 Da R = {(1, 3), (2, 4)} eine Simulation ist, gilt 1 3. Es gilt jedoch weder F(1) F(3) (wegen (a, {b}) F(3)), noch F(3) F(1) (wegen (ab, ) F(1)). 5 Barbara König Vorlesung Modellierung nebenläufiger Systeme 100

107 Vergleichsordnungen Aus z 1 z 2 und z 2 z 1 folgt nicht notwendigerweise z 1 z 2. Das heißt, aus wechselseitiger Simulation folgt nicht immer Bisimularität. a 1 3 a a 2 Es gilt 1 3, da {(1, 3), (2, 3)} eine Simulation ist, und 3 1, da {(3, 1)} eine Simulation ist. Jedoch: 1 3. Anschauliche Begründung: diese beiden Zustände können im Bisimulationsspiel nur dann als nicht bisimular erkannt werden, wenn Spieler I den Spielstein wechselt. Das ist bei wechselseitiger Simulation nicht möglich. Barbara König Vorlesung Modellierung nebenläufiger Systeme 101

108 Vergleichsordnungen Aus z 1 z 2 folgt jedoch immer z 1 z 2 und z 2 z 1. Das liegt daran, dass jede Bisimulation auch eine Simulation ist. Barbara König Vorlesung Modellierung nebenläufiger Systeme 102

109 Eigenschaften unendlicher Wörter In diesem Kapitel der Vorlesung geht es darum, Eigenschaften von (im allgemeinen) unendlicher Wörter zu beschreiben. Dabei betrachten wir folgende Beschreibungsmethoden und die Zusammenhänge zwischen diesen Methoden: Sicherheits- und Lebendigkeitseigenschaften Büchi-Automaten Linear Temporal Logic (LTL) und LTL-Model-Checking Barbara König Vorlesung Modellierung nebenläufiger Systeme 103

110 Sicherheits- und Lebendigkeitseigenschaften Jede Eigenschaft von (endlichen oder unendlichen) Abläufen eines Systems kann in eine Sicherheits- und in eine Lebendigkeitseigenschaft zerlegt werden. Sicherheitseigenschaft (in etwa): es passiert nie etwas schlimmes (z.b. keine Verklemmung) Lebendigkeitseigenschaft (in etwa): es passiert irgendwann einmal etwas gutes (z.b. Terminierung) Barbara König Vorlesung Modellierung nebenläufiger Systeme 104

111 Sicherheits- und Lebendigkeitseigenschaften Hier: eine Eigenschaft P ist eine Sprache bzw. eine Teilmenge von Act (P Act ) Sicherheitseigenschaft (Definition) Eine Sprache P Act heißt Sicherheitseigenschaft, wenn folgendes gilt: 1 P 2 Ein beliebiges Wort w Act ist in P genau dann enthalten, wenn alle (endlichen) Präfixe v Pref({w}) in P enthalten sind. Barbara König Vorlesung Modellierung nebenläufiger Systeme 105

112 Sicherheits- und Lebendigkeitseigenschaften Bemerkungen zu Sicherheitseigenschaften: Jede Sicherheitseigenschaft ist unter Präfixbildung abgeschlossen. Das heißt, falls ein Wort w die Sicherheitseigenschaft erfüllt, so erfüllen auch alle Präfixe von w die Sicherheitseigenschaft. Bei einem unendlichen Wort kann man bereits bei Betrachtung seiner Präfixe entscheiden, ob es in der Sicherheitseigenschaft enthalten ist. Barbara König Vorlesung Modellierung nebenläufiger Systeme 106

113 Sicherheits- und Lebendigkeitseigenschaften Beispiele: {w {a, b, c} w enthält kein c} ist eine Sicherheitseigenschaft. {w {a, b, c} w enthält endlich viele c s} ist keine Sicherheitseigenschaft. {w {a, b, c} w enthält mindestens ein c} ist keine Sicherheitseigenschaft. {w {a, b, c} w enthält unendlich viele c s} ist keine Sicherheitseigenschaft. {w {a, b, c} w enthält kein Teilwort abc} ist eine Sicherheitseigenschaft. {w {a, b, c} auf jedes a in w folgt irgendwann ein b} ist keine Sicherheitseigenschaft. Barbara König Vorlesung Modellierung nebenläufiger Systeme 107

114 Sicherheits- und Lebendigkeitseigenschaften Lebendigkeitseigenschaft (Definition) Eine Sprache P Act heißt Lebendigkeitseigenschaft, wenn folgendes gilt: 1 für jedes u Act gibt es ein v Act, so dass uv P. Das heißt, jedes beliebige endliche Wort (nicht notwendigerweise aus P) muss zu einem Wort verlängerbar sein, das die Lebendigkeitseigenschaft P erfüllt. Barbara König Vorlesung Modellierung nebenläufiger Systeme 108

115 Sicherheits- und Lebendigkeitseigenschaften Beispiele: {w {a, b, c} w enthält kein c} ist keine Lebendigkeitseigenschaft. {w {a, b, c} w enthält endlich viele c s} ist eine Lebendigkeitseigenschaft. {w {a, b, c} w enthält mindestens ein c} ist eine Lebendigkeitseigenschaft. {w {a, b, c} w enthält unendlich viele c s} ist eine Lebendigkeitseigenschaft. {w {a, b, c} w enthält kein Teilwort abc} ist keine Lebendigkeitseigenschaft. {w {a, b, c} auf jedes a in w folgt irgendwann ein b} ist eine Lebendigkeitseigenschaft. Barbara König Vorlesung Modellierung nebenläufiger Systeme 109

116 Sicherheits- und Lebendigkeitseigenschaften Weitere Bemerkungen: Es gibt Eigenschaften, die weder Sicherheits- noch Lebendigkeitseigenschaften sind: die leere Menge {w {a, b, c} w enthält kein a und mindestens ein b} Ebenso gibt es (genau eine) Eigenschaft, die sowohl Sicherheits- als auch Lebendigkeitseigenschaften ist: die Menge aller endlichen und unendlichen Wörter Act Barbara König Vorlesung Modellierung nebenläufiger Systeme 110

117 Sicherheits- und Lebendigkeitseigenschaften Gleichzeitig Sicherheits- und Lebendigkeitseigenschaft Ist P zugleich Sicherheits- und Lebendigkeitseigenschaft, dann gilt P = Act. Barbara König Vorlesung Modellierung nebenläufiger Systeme 111

118 Sicherheits- und Lebendigkeitseigenschaften Der zentrale Satz über Sicherheits- und Lebendigkeitseigenschaften lautet wie folgt: Satz Sei P Act eine beliebige Sprache mit P. Dann gibt es eine Sicherheitseigenschaft S und eine Lebendigkeitseigenschaft L mit S L = P. Barbara König Vorlesung Modellierung nebenläufiger Systeme 112

119 Sicherheits- und Lebendigkeitseigenschaften Beweisskizze: eine Eigenschaft P kann folgendermaßen in eine Sicherheitseigenschaft S und eine Lebendigkeitseigenschaft L zerlegt werden: S = Pref(P) (die Menge aller Präfixe von Wörtern in P) S ω = {w Act ω alle Präfixe von w liegen in S } S = S S ω L = P {w Act v Act : wv P} Barbara König Vorlesung Modellierung nebenläufiger Systeme 113

120 Sicherheits- und Lebendigkeitseigenschaften Beispiel: wir zerlegen P = {w {a, b, c} w enthält kein a und mindestens ein b} in eine Sicherheits- und eine Lebendigkeitseigenschaft. S = {w {a, b, c} w enthält kein a} L = P {w {a, b, c} w enthält ein a} = {w {a, b, c} w enthält kein a und mindestens ein b} {w {a, b, c} w enthält ein a} Bemerkung: die Zerlegung in Sicherheits- und Lebendigkeitseigenschaften ist nicht eindeutig. In diesem Fall hätte auch folgende Lebendigkeitseigenschaft alle Bedingungen erfüllt L = {w {a, b, c} w enthält mindestens ein b} Barbara König Vorlesung Modellierung nebenläufiger Systeme 114

121 Büchi-Automaten Spezielle Art von Automaten, die unendlich lange Wörter akzeptieren können (benannt nach Julius Richard Büchi) Unendliche Wörter stellen nicht-terminierende Abläufe eines Systems dar Die von endlichen Automaten bekannten Endzustände werden durch andere Akzeptanzbedingungen ersetzt. 1 a 2 c b 3 abcabcabc... Barbara König Vorlesung Modellierung nebenläufiger Systeme 115

122 Büchi-Automaten Ein Büchi-Automat ist definiert wie ein herkömmlicher nichtdeterministischer Automat. Allerdings wird die Menge der Akzeptanzzustände dann anders interpretiert als bei endlichen Automaten. Büchi-Automat (Definition) Ein Büchi-Automat M ist ein 5-Tupel M = (Z, Act, δ, S, E), wobei Z die (endliche) Menge der Zustände, Act die Aktionenmenge (mit Z Act = ), S Z die Menge der Startzustände, E Z die Menge der Akzeptanzzustände und δ : Z Act P(Z) die Überführungsfunktion (oder Übergangsfunktion) ist. Statt z δ(z, a) schreiben wir auch z a z. Barbara König Vorlesung Modellierung nebenläufiger Systeme 116

123 Büchi-Automaten ω-reguläre Sprache Die von einem Büchi-Automaten M akzeptierte Sprache ist L ω (M) = {a 1 a 2 a 3... Act ω z 0 S, z 1, z 2,... Z : a z 1 a 0 2 a z1 3 z2 } {{... } π und Inf Z (π) E }. Dabei ist Inf Z (π) die Menge der Zustände, die unendlich oft in dem Pfad π vorkommen. Eine Sprache, die von einem Büchi-Automaten akzeptiert wird, heißt ω-regulär. Barbara König Vorlesung Modellierung nebenläufiger Systeme 117

124 Büchi-Automaten Beispiel-Automaten: {w {a, b, c} ω w enthält kein c} a, b Barbara König Vorlesung Modellierung nebenläufiger Systeme 118

125 Büchi-Automaten {w {a, b, c} ω w enthält endlich viele c s} a, b, c a, b a, b Barbara König Vorlesung Modellierung nebenläufiger Systeme 119

126 Büchi-Automaten {w {a, b, c} ω w enthält mindestens ein c} a, b a, b, c c Barbara König Vorlesung Modellierung nebenläufiger Systeme 120

127 Büchi-Automaten {w {a, b, c} ω w enthält unendlich viele c s} a, b c c a, b Barbara König Vorlesung Modellierung nebenläufiger Systeme 121

128 Büchi-Automaten {w {a, b, c} ω w enthält kein Teilwort abc} b, c a c a b a c a, b, c b Barbara König Vorlesung Modellierung nebenläufiger Systeme 122

129 Büchi-Automaten {w {a, b, c} ω auf jedes a in w folgt irgendwann ein b} b, c a a, c b Barbara König Vorlesung Modellierung nebenläufiger Systeme 123

130 Büchi-Automaten ω-reguläre Ausdrücke Ein ω-regulärer Ausdruck ist von der Form (αβ), (β γ) oder (α) ω, wobei α ein beliebiger regulärer Ausdruck ist und β, γ wiederum ω-reguläre Ausdrücke sind. Außerdem bezeichnet L(β) die Sprache eines ω-regulären Ausdrucks β. Dabei werden alle Operatoren so interpretiert, wie das bei regulären Ausdrücken üblich ist. Und für (α) ω gilt: L((α) ω ) = (L(α)) ω mit L ω = {w Act ω w = w 1 w 2 w 3... und w i L für alle i N 0 } Barbara König Vorlesung Modellierung nebenläufiger Systeme 124

131 Büchi-Automaten Die Sprachen, die von Büchi-Automaten erkannt werden, entsprechen genau den Sprachen, die von ω-regulären Ausdrücken erzeugt werden. Das kann sogar noch genauer ausgedrückt werden: ω-reguläre Sprachen (Satz) Eine Sprache L wird von einem Büchi-Automaten erkannt (d.h., sie ist ω-regulär) genau dann, wenn es eine endliche Indexmenge I und reguläre Sprachen U i, V i, i I gibt mit L = i I U i V ω i. (Ohne Beweis) Barbara König Vorlesung Modellierung nebenläufiger Systeme 125

132 Deterministische Büchi-Automaten Deterministischer Büchi-Automat (Definition) Ein Büchi-Automat M = (Z, Act, δ, S, E) heißt deterministisch, wenn für jedes z Z und jedes a Act gilt: δ(z, a) 1. (Das heißt, jeder Zustand hat höchstens einen a-übergang für jedes a Act.) Außerdem muss S = 1 erfüllt sein. Bemerkungen: Es gibt ω-reguläre Sprachen, die nicht von einem deterministischen Büchi-Automaten akzeptiert werden können. Ein Beispiel dafür ist die Sprache L = {w {a, b, c} ω w enthält endlich viele c s} (ohne Beweis). Barbara König Vorlesung Modellierung nebenläufiger Systeme 126

133 Deterministische Büchi-Automaten Das heißt, bei Büchi-Automaten kann Nicht-Determinismus nicht immer durch einen deterministischen Automaten simuliert werden. Außerdem bedeutet es, dass die Klasse der Sprachen, die durch deterministische Büchi-Automaten erzeugt werden, nicht unter Komplementbildung abgeschlossen ist. Begründung: Die Sprache Act ω \L = {w {a, b, c} ω w enthält unendlich viele c s} ist durch einen deterministischen Automaten akzeptierbar, das gilt jedoch nicht für ihr Komplement L. Barbara König Vorlesung Modellierung nebenläufiger Systeme 127

134 Deterministische Büchi-Automaten Bemerkungen zur Komplementierung deterministischer Büchi-Automaten: Warum erhält man bei folgendem (deterministischen) Automaten der alle Wörter akzeptiert, die unendlich viele c s besitzen durch Vertauschen der Akzeptanz- und Nicht-Akzeptanz-Zustände nicht die Komplementsprache? a, b c c a, b Barbara König Vorlesung Modellierung nebenläufiger Systeme 128

135 Deterministische Büchi-Automaten a, b c c a, b Durch Vertauschen der Akzeptanz- und Nicht-Akzeptanz-Zustände erhält man einen Automaten, der alle Wörter akzeptiert, die unendlich viele a s oder unendlich viele b s enthalten. Dazu gehört jedoch auch das Wort (ac) ω, das unendlich viele c s enthält. Ein Wort w wird von einem Automaten akzeptiert, wenn es zu diesem Wort einen Pfad π gibt mit Inf Z (π) E. Das heißt jedoch nicht, dass Inf Z (π) (Z\E) = gelten muss! Barbara König Vorlesung Modellierung nebenläufiger Systeme 129

136 Verallgemeinerte Büchi-Automaten Verallgemeinerter Büchi-Automat (Definition) Ein verallgemeinerter Büchi-Automat M ist ein 5-Tupel M = (Z, Act, δ, S, E), wobei Z die Menge der Zustände, Act die Aktionenmenge (mit Z Act = ), S Z die Menge der Startzustände, E P(Z) die Menge von Akzeptanzmengen und δ : Z Act P(Z) die Überführungsfunktion (oder Übergangsfunktion) ist. Z, Act müssen endliche Mengen sein. Einziger Unterschied zum herkömmlichen Büchi-Automaten: die Menge der Akzeptanzzustände wird durch eine Menge von Mengen von Zuständen ersetzt. Barbara König Vorlesung Modellierung nebenläufiger Systeme 130

137 Verallgemeinerte Büchi-Automaten Akzeptierte Sprache eines verallgemeinerten Büchi-Automaten (Definition) Die von einem verallgemeinerten Büchi-Automaten M akzeptierte Sprache ist L ω (M) = {a 1 a 2 a 3... Act ω z 0 S, z 1, z 2,... Z : a z 1 a 0 2 a z1 3 z2... und }{{} π Inf Z (π) E für alle E E}. Barbara König Vorlesung Modellierung nebenläufiger Systeme 131

138 Verallgemeinerte Büchi-Automaten Beispiel: Welche Sprache akzeptiert der folgende verallgemeinerte Büchi-Automat? Es gibt zwei Akzeptanzzustandsmengen, wobei die erste mit einem Kreis (Zustände 1, 3), die zweite mit einem Quadrat (Zustände 3, 4) gekennzeichnet ist. b a c 1 2 a b a a b c b 3 4 c Barbara König Vorlesung Modellierung nebenläufiger Systeme 132 c

139 Verallgemeinerte Büchi-Automaten Die akzeptierte Sprache ist {w {a, b, c} ω w enthält unendlich viele c s Interpretation der Zustände: und auf jedes a in w folgt irgendwann ein b} 1: Letztes Zeichen war ein b bzw. Beginn des Wortes 2: Letztes Zeichen war ein a 3: Letztes Zeichen war ein c und es gibt kein unbeantwortetes a 4: Letztes Zeichen war ein c und es gibt noch ein unbeantwortetes a Barbara König Vorlesung Modellierung nebenläufiger Systeme 133

140 Verallgemeinerte Büchi-Automaten Verallgemeinerte Büchi-Automaten können in herkömmliche Büchi-Automaten umgewandelt werden, das heißt, sie sind nicht ausdrucksmächtiger. Umwandlung verallgemeinerter Büchi-Automaten Zu jedem verallgemeinerten Büchi-Automaten M gibt einen einen herkömmlichen Büchi-Automaten M mit L ω (M) = L ω (M ). Konstruktion (Idee): Erstelle für jede Akzeptanzzustandsmenge eine Kopie von M und wechsle in die nächste Kopie, sobald ein Akzeptanzzustand besucht wurde. Barbara König Vorlesung Modellierung nebenläufiger Systeme 134

141 Verallgemeinerte Büchi-Automaten Beispiel: Umwandlung des folgenden verallgemeinerten Automaten b a c 1 2 a b a a b c b 3 4 c c Barbara König Vorlesung Modellierung nebenläufiger Systeme 135

142 Abschlusseigenschaften ω-regulärer Sprachen Im folgenden betrachten wir Abschlusseigenschaften von Sprachen, die von Büchi-Automaten akzeptiert werden. Wozu ist das gut? Wir wollen im folgenden Transitionssysteme analysieren und zeigen, dass sie bestimmte temporale Eigenschaften haben. Das heißt, dass sie Formeln einer temporalen Logik erfüllen. Um dieses Analyseverfahren durchführen zu können, benötigen wir insbesondere die Möglichkeit, den Schnitt zweier ω-regulärer Sprachen berechnen zu können. Barbara König Vorlesung Modellierung nebenläufiger Systeme 136

143 Abschlusseigenschaften ω-regulärer Sprachen Abschluss unter Vereinigung Seien M 1, M 2 zwei Büchi-Automaten. Dann gibt es einen Büchi-Automaten M mit L ω (M) = L ω (M 1 ) L ω (M 2 ). Konstruktion: Vereinigung der beiden Automaten. Insbesondere Vereinigung der Start- und Akzeptanzzustandsmengen. Barbara König Vorlesung Modellierung nebenläufiger Systeme 137

144 Abschlusseigenschaften ω-regulärer Sprachen Abschluss unter Schnitt Seien M 1, M 2 zwei Büchi-Automaten. Dann gibt es einen Büchi-Automaten M mit L ω (M) = L ω (M 1 ) L ω (M 2 ). Konstruktion: Übliche Produktautomatenkonstruktion, wobei der entstehende Büchi-Automat ein verallgemeinerter Büchi-Automat mit Akzeptanzzustandsmengen {E 1 Z 2, Z 1 E 2 } ist. Dann Umwandlung in einen herkömmlichen Büchi-Automaten mit dem entsprechenden Verfahren. Barbara König Vorlesung Modellierung nebenläufiger Systeme 138

145 Abschlusseigenschaften ω-regulärer Sprachen Beispiel: konstruiere einen Automaten, der den Schnitt der beiden folgenden Sprachen (dargestellt durch Büchi-Automaten) akzeptiert. {w {a, b, c} ω auf jedes a in w folgt irgendwann ein b} b, c a a, c {w {a, b, c} ω w enthält unendlich viele c s} a, b c c b a, b Barbara König Vorlesung Modellierung nebenläufiger Systeme 139

146 Abschlusseigenschaften ω-regulärer Sprachen Abschluss unter Komplement Seien M ein Büchi-Automat. Dann gibt es einen Büchi-Automaten M mit L ω (M ) = Act ω \L ω (M). (Ohne Beweis) Bemerkungen: Im Gegensatz zu deterministischen Büchi-Automaten sind nicht-deterministische Büchi-Automaten also unter Komplement abgeschlossen. Die Komplementierungskonstruktion ist relativ aufwändig und kann zu sehr großen Automaten führen. Barbara König Vorlesung Modellierung nebenläufiger Systeme 140

147 Abschlusseigenschaften ω-regulärer Sprachen Entscheidbarkeit des Leerheitsproblems Es ist entscheidbar, ob ein Büchi-Automat die leere Sprache akzeptiert. Verfahren: Bestimme die starken Zusammenhangskomponenten des Automaten. Eine Teilmenge K Z der Zustände ist eine starke Zusammenhangskomponente, wenn jeder Zustand in K von jedem anderen Zustand in K erreichbar ist, d.h., K ist stark zusammenhängend. es keine größere stark zusammenhängende Menge K mit K K gibt, d.h., K ist maximal. Barbara König Vorlesung Modellierung nebenläufiger Systeme 141

148 Abschlusseigenschaften ω-regulärer Sprachen Die akzeptierte Sprache ist nicht leer genau dann, wenn es eine nicht-triviale starke Zusammenhangskomponente gibt, die von einem Anfangszustand aus erreichbar ist und die einen Akzeptanzzustand enthält. Eine Zusammenhangskomponente heißt trivial, wenn sie nur aus einem Zustand ohne Schleife besteht. Anders ausgedrückt: Die akzeptierte Sprache ist nicht leer genau dann, wenn es einen erreichbaren Akzeptanzzustand gibt, der von sich selbst aus (in mindestens einem Schritt) erreichbar ist. Barbara König Vorlesung Modellierung nebenläufiger Systeme 142

149 Linear Temporal Logic (LTL) Wir betrachten nun eine andere Möglichkeit, unendliche Wörter zu charakterisieren: temporale Logik, insbesondere LTL (linear temporal logic). Weitere temporale Logiken (in der Vorlesung nicht behandelt): CTL (computation tree logic) Aussagen über Zustände und das Verzweigungsverhalten (branching behaviour) eines Transitionssystems, anstatt über Wörter und Abläufe µ-kalkül eine sehr allgemeine temporale Logik, basierend auf Fixpunkt-Operatoren, die sowohl LTL als auch CTL umfasst. Barbara König Vorlesung Modellierung nebenläufiger Systeme 143

150 Linear Temporal Logic (LTL) LTL-Syntax (Definition) Sei Act eine Menge von Aktionen. Eine LTL-Formel α hat folgende Form: true a Act ( die aktuelle Aktion ist a ) α ( nicht α ) α β ( α oder β ) X α ( nach dem nächsten Schritt gilt α ) α U β ( α gilt, solange bis β gilt; und β wird irgendwann eintreten ) Herkunft der Abkürzungen: X kommt von next, U von Until. Barbara König Vorlesung Modellierung nebenläufiger Systeme 144

151 Linear Temporal Logic (LTL) LTL-Formeln werden auf unendlichen Wörter w Act ω interpretiert. Wir schreiben w = α, falls w die Formel α erfüllt. Erforderliche Notation: sei w = a 1 a 2 a 3... Act ω w[i] = a i und w i = a i a i+1... (w i heißt auch i-tes Suffix von w) Barbara König Vorlesung Modellierung nebenläufiger Systeme 145

152 Linear Temporal Logic (LTL) Die Bedeutung (= Semantik) von LTL-Formeln ist folgendermaßen definiert: Semantik von LTL (Definition) Sei w Act ω und seien α, β LTL-Formeln. Dann gilt: w = true w = a (mit a Act) genau dann, wenn w[1] = a. w = α genau dann, wenn w = α. w = α β genau dann, wenn w = α oder w = β. w = X α genau dann, wenn w 2 = α. w = α U β genau dann, wenn es einen Index k N 0 \{0} gibt mit w k = β und außerdem w j = α für alle 0 < j < k. Barbara König Vorlesung Modellierung nebenläufiger Systeme 146

153 Linear Temporal Logic (LTL) Abkürzende Schreibweisen false = true. Es gilt: Aussagenlogische Operatoren der Form,, kann man mit Hilfe von und darstellen. α steht für true U α ( sometimes α bzw. eventually α ). α wird in anderen Texten auch mit Fα bezeichnet. α steht für α ( always α, globally α bzw. henceforth α ). α wird in anderen Texten auch mit Gα bezeichnet. w = α genau dann, wenn es ein k N 0 \{0} gibt mit w k = α. w = α genau dann, wenn für alle k N 0 \{0} gilt: w k = α. Barbara König Vorlesung Modellierung nebenläufiger Systeme 147

154 Linear Temporal Logic (LTL) Wir betrachten folgendes unendliche Wort: w = (abcab) ω = abcababcababcab... Erfüllt w folgende LTL-Formeln? w = a? w = Xa, w = Xb? w = c? w = (a Xb), w = (b Xc)? w = (b U c), w = ((a b) U c)? w = c, w = c? Barbara König Vorlesung Modellierung nebenläufiger Systeme 148

155 Linear Temporal Logic (LTL) Ähnlich wie Automaten und regulären Ausdrücken kann man auch LTL-Formeln eine erzeugte Sprache zuordnen. Definierte Sprache (Definition) Eine LTL-Formel α definiert eine Sprache L Act ω genau dann, wenn gilt: L = {w Act ω w = α}. Die Sprache L wird dann auch mit L α bezeichnet. Für zwei Formeln α, β schreiben wir α β ( α und β sind äquivalent ) genau dann, wenn L α = L β gilt. Außerdem schreiben wir α = β ( β folgt aus α ) genau dann, wenn L α L β gilt. Das heißt, dass jedes Wort, das α erfüllt, auch β erfüllt. Barbara König Vorlesung Modellierung nebenläufiger Systeme 149

156 Linear Temporal Logic (LTL) Beispiel: LTL-Formeln für die Beispiel-Sprachen {w {a, b, c} ω w enthält kein c} ( c) {w {a, b, c} ω w enthält endlich viele c s} ( c) {w {a, b, c} ω w enthält mindestens ein c} c Barbara König Vorlesung Modellierung nebenläufiger Systeme 150

157 Linear Temporal Logic (LTL) {w {a, b, c} ω w enthält unendlich viele c s} c {w {a, b, c} ω w enthält kein Teilwort abc} (a Xb XXc) {w {a, b, c} ω auf jedes a in w folgt irgendwann ein b} (a b) Barbara König Vorlesung Modellierung nebenläufiger Systeme 151

158 Linear Temporal Logic (LTL) Beziehungen zwischen den Operatoren (I) X(α 1 α 2 ) Xα 1 Xα 2 X(α 1 α 2 ) Xα 1 Xα 2 Xα X α (α 1 α 2 ) α 1 α 2 α α (α 1 α 2 ) α 1 α 2 α α (α 1 α 2 ) U β (α 1 U β) (α 2 U β) α U (β 1 β 2 ) (α U β 1 ) (α U β 2 ) Barbara König Vorlesung Modellierung nebenläufiger Systeme 152

159 Linear Temporal Logic (LTL) Beziehungen zwischen den Operatoren (II) α α α α (α U β) U β α U β α α X α α α X α α U β β (α X(α U β)) Barbara König Vorlesung Modellierung nebenläufiger Systeme 153

160 Linear Temporal Logic (LTL) Bemerkung: Neben den oben aufgeführten Gesetzen sind alle üblichen Gesetze der Aussagenlogik (Assoziativität, Kommutativität, Idempotenz, Distributivität, de Morgan, usw.) gültig. Barbara König Vorlesung Modellierung nebenläufiger Systeme 154

161 Linear Temporal Logic (LTL) Bemerkungen: LTL-Formeln sind zumeist kompakter und kleiner als ihre korrespondierenden Büchi-Automaten. Ebenso: LTL-Formeln sind näher an der natürlichen Sprache. Daher werden sie gerne in praktischen Anwendungen zur Spezifikation von Systemen eingesetzt. Man kann LTL-Formeln klassifizieren in Formeln, die Sicherheits- bzw. Lebendigkeitseigenschaften beschreiben. Barbara König Vorlesung Modellierung nebenläufiger Systeme 155

162 Linear Temporal Logic (LTL) Aber: nicht jede ω-reguläre Sprache kann durch eine LTL-Formel ausgedrückt werden. Beispielsweise kann die Sprache {w {a, b, c} ω an jeder geraden Position in w steht ein c} durch einen Büchi-Automaten beschrieben werden, a, b, c jedoch nicht durch eine LTL-Formel (ohne Beweis). c Barbara König Vorlesung Modellierung nebenläufiger Systeme 156

163 LTL Büchi-Automaten Umgekehrt ist jedoch für eine LTL-Formel α die definierte Sprache L α = {w Act ω w = α} immer durch einen Büchi-Automaten akzeptierbar. Wir beschreiben zunächst die entsprechende Konstruktion und betrachten dann Anwendungsmöglichkeiten im Bereich Model-Checking (= automatische Überprüfung, ob alle Abläufe eines Transitionssystems eine Formel erfüllen). Barbara König Vorlesung Modellierung nebenläufiger Systeme 157

164 LTL Büchi-Automaten Sei α eine beliebige LTL-Formel. Unser Ziel ist, den dazugehörigen (verallgemeinerten) Büchi-Automaten M zu bestimmen. Das geschieht in mehreren Schritten. LTL Büchi (1): Teilformeln von α bestimmen Für eine Formel α sei CL (α) (CL steht für closure) die kleinste Menge von Formeln, die folgende Bedingungen erfüllt: α CL (α) Falls β CL (α), dann gilt auch β CL (α). Falls β γ CL (α), dann gilt auch β, γ CL (α). Falls Xβ CL (α), dann gilt auch β CL (α). Falls β U γ CL (α), dann gilt auch β, γ, X(β U γ) CL (α). Außerdem sei CL(α) = CL (α) { β β CL (α)}, wobei allerdings β mit β identifiziert wird. Barbara König Vorlesung Modellierung nebenläufiger Systeme 158

165 LTL Büchi-Automaten Bemerkungen zu Schritt (1): Die Zustände des zukünftigen Büchi-Automaten sind Teilmengen von CL(α), wobei eine Menge gerade die Formeln enthält, die für das restliche noch einzulesende Wort gelten sollen. Eigentlich bestimmt man bei CL(α) nicht nur die Menge aller Teilformeln, sondern nimmt noch folgende Formeln hinzu: Für jedes Vorkommen von β U γ wird noch X(β U γ) hinzugenommen. Denn falls γ aktuell nicht gilt, so möchte man ausdrücken können, dass β U γ auf jeden Fall noch nach dem nächsten Schritt gelten muss. Für jedes Vorkommen von β wird noch β hinzugenommen, um explizit ausdrücken zu können, dass eine Teilformel nicht gilt. CL(α) ist immer endlich. Barbara König Vorlesung Modellierung nebenläufiger Systeme 159

166 LTL Büchi-Automaten LTL Büchi (2): In sich konsistente Formelmengen bestimmen Wir bestimmen nun die Teilmengen von CL(α), die in sich (maximal) konsistent sind und nennen sie Atome. Eine Teilmenge A CL(α) heißt Atom, falls gilt: false = true A Es gibt keine zwei verschiedenen Aktionen a, b Act, die in A liegen. (Im nächsten Schritt ist immer nur eine Aktion möglich.) Für eine Formel β CL(α) gilt: β A β A. (Dabei wird β wiederum mit β identifiziert.) Für eine Formel (β γ) CL(α) gilt: (β γ) A (β A oder γ A). Für eine Formel (β U γ) CL(α) gilt: (β U γ) A (γ A oder β, X(β U γ) A). Barbara König Vorlesung Modellierung nebenläufiger Systeme 160

167 LTL Büchi-Automaten Bemerkungen zu Schritt (2): Die letzte Konsistenzbedingung (β U γ) A (γ A oder β, X(β U γ) A) beruht auf der (Entfaltungs-)Gleichung β U γ γ (β X(β U γ)) Ein andere Charakterisierung für ein Atom lautet wie folgt: A CL(α) ist ein Atom, wenn jedes β CL(α) entweder positiv oder negativ in A vorkommt (d.h., A ist maximal) und die Konjunktion aller Formeln in A nicht äquivalent zu false ist (d.h., A ist konsistent). Barbara König Vorlesung Modellierung nebenläufiger Systeme 161

168 LTL Büchi-Automaten LTL Büchi (3): Büchi-Automaten konstruieren Nun kann man den (verallgemeinerten) Büchi-Automaten M bestimmen: Zustände: Z ist die Menge aller Atome. Startzustände: Alle Atome, die die Formel α enthalten. Überführungsfunktion: Es gilt A a B, falls (a A oder (a CL(α) und keine Aktion aus CL(α) liegt in A)) und für alle Xβ CL(α) gilt (Xβ A β B). Akzeptanzzustandsmengen: Für jede Formel der Form β i U γ i, die in CL(α) auftaucht, gibt es eine Akzeptanzzustandsmenge E i mit E i = {A (β i U γ i ) A oder γ i A}. Barbara König Vorlesung Modellierung nebenläufiger Systeme 162

169 LTL Büchi-Automaten Beispiel: wir konstruieren den Büchi-Automaten für die LTL-Formel α = taste U kaffee. ( Die Taste wird solange gedrückt, bis Kaffee erhältlich ist; und irgendwann gibt es Kaffee. ) Dabei kürzen wir taste durch t und kaffee durch k ab. LTL Büchi (1) Beispiel Es gilt: CL(α) = {t U k, (t U k), X(t U k), X(t U k), t, t, k, k}. Barbara König Vorlesung Modellierung nebenläufiger Systeme 163

170 LTL Büchi-Automaten LTL Büchi (2) Beispiel Folgende sechs Formelmengen sind Atome: {t U k, X(t U k), k, t} (Zustand 1) {t U k, X(t U k), k, t} (Zustand 2) {t U k, X(t U k), k, t} (Zustand 3) { (t U k), X(t U k), k, t} (Zustand 4) { (t U k), X(t U k), k, t} (Zustand 5) { (t U k), X(t U k), k, t} (Zustand 6) Davon ist 3 der einzige Zustand, der kein Akzeptanzzustand ist. Barbara König Vorlesung Modellierung nebenläufiger Systeme 164

171 LTL Büchi-Automaten Beispiele für Formelmengen, die keine Atome sind: {t U k, X(t U k), k, t, t} enthält eine Formel (t) positiv und negativ. {t U k, X(t U k), k, t} enthält zwei Aktionen (k, t) {t U k, X(t U k), k, t} enthält die Behauptung, dass t U k gelten soll. Da jedoch k nicht gilt, müsste t U k im nächsten Zustand gelten. Das steht im Widerspruch zur Anwesenheit von X(t U k). Barbara König Vorlesung Modellierung nebenläufiger Systeme 165

172 LTL Büchi-Automaten LTL Büchi (3) Beispiel Damit ergibt sich folgender Automat (mit nur einer Akzeptanzzustandsmenge). Act steht für Act\{k, t}. k t 1 Act k 4 t k k 2 Act k 5 t t Act t Act 3 Act k 6 t Act Barbara König Vorlesung Modellierung nebenläufiger Systeme 166

173 LTL Büchi-Automaten LTL Büchi (Satz) Sei α eine LTL-Formel und M der daraus konstruierte Büchi-Automat. Ferner sei w Act ω. Dann gilt: w L ω (M) w = α. Barbara König Vorlesung Modellierung nebenläufiger Systeme 167

174 LTL-Model-Checking Model-Checking-Problem Gegeben sei ein Transitionssystem T = (Z, ), ein Zustand z 0 Z und eine LTL-Formel α. Bei dem Model-Checking-Problem geht es darum, zu entscheiden, ob für jeden Übergang z 0 w von z0 mit w Act ω die Formel α erfüllt ist, d.h., ob w = α gilt. In diesem Fall schreibt man auch z 0 = α. Barbara König Vorlesung Modellierung nebenläufiger Systeme 168

175 LTL-Model-Checking Beispiel: wir betrachten das folgende Transitionssystem. z 0 a b c b Welche der folgenden Formeln werden von allen (unendlichen) Abläufen des Transitionssystems erfüllt? c b b a b Xb XXb (a c) U b X(c U b) Barbara König Vorlesung Modellierung nebenläufiger Systeme 169

176 LTL-Model-Checking Model-Checking-Verfahren Gegeben: Transitionssystem T, Zustand z 0, LTL-Formel α 1 Wandle das Transitionssystem T in einen Büchi-Automaten M T um, mit z 0 als Anfangszustand und einer Akzeptanzmenge, die alle Zustände beinhaltet. Damit gilt: L ω (M T ) = {w z 0 w, w Act ω }. 2 Wandle die Formel α wie oben beschrieben in einen Büchi-Automaten M α um. Barbara König Vorlesung Modellierung nebenläufiger Systeme 170

177 LTL-Model-Checking Model-Checking-Verfahren (Fortsetzung) 3 Bestimme einen Automaten M, der den Schnitt von L ω (M T ) und L ω (M α ) akzeptiert. Überprüfe, ob M die leere Sprache akzeptiert. Falls ja: es gibt keinen Ablauf in T, der α erfüllt z 0 = α Falls nein: es gibt einen Ablauf in T, der α erfüllt z 0 = α Barbara König Vorlesung Modellierung nebenläufiger Systeme 171

178 LTL-Model-Checking Bemerkungen zu LTL-Model-Checking: alle in obigem Verfahren benutzten Konstruktionen sind im Laufe der Vorlesung eingeführt worden: Konstruktion des Büchi-Automaten zu einer LTL-Formel. Konstruktion des Automaten, der den Schnitt der Sprachen erkennt. Leerheitstest. Durch die Negation der Formel umgeht man den Inklusionstest L ω (M T ) L ω (M α ), der die (problematische) Komplementierungsoperation benötigen würde. Diese Umwandlungskonstruktion wird von Model-Checking-Tools benutzt, so beispielsweise von SPIN. Barbara König Vorlesung Modellierung nebenläufiger Systeme 172

179 LTL-Model-Checking Weitere Bemerkungen: Im allgemeinen müssen die konstruierten Büchi-Automaten noch weiter vereinfacht werden, damit Model-Checking effizient durchgeführt werden kann. Man kann bereits mit dem Model-Checking (insbesondere mit der Suche nach Zyklen für den Leerheitstest) beginnen, während das Kreuzprodukt des Transitionssystems und des Büchi-Automaten konstruiert wird. Solche Verfahren, die die zu untersuchende Struktur erst nach Bedarf aufbauen, nennt man auch On-the-Fly-Verfahren. Wenn die Verifikation erfolgreich ist, dann muss allerdings der gesamte Kreuzprodukt-Automat erstellt werden. Barbara König Vorlesung Modellierung nebenläufiger Systeme 173

180 Anwendung: Verifikation eines Leader-Election-Protokolls Wir betrachten folgende Problemstellung: Leader Election Gegeben seien n Prozesse, die auf einem Ring angeordnet sind. Diese Prozesse müssen einen neuen ausgezeichneten Prozess (sogenannter Leader) wählen. Dieses Verfahren muss im allgemeinen angewandt werden, wenn der vorhergehende Leader ausgefallen ist. Beispiel: Neuwahl des Monitors im Token-Ring-Protokoll Barbara König Vorlesung Modellierung nebenläufiger Systeme 174

181 Anwendung: Verifikation eines Leader-Election-Protokolls Leader Election (Idee) Jeder Prozess besitzt eine eindeutige Nummer. Der Prozess mit der größten Nummer soll der neue Leader werden. Aber: wie findet jeder Prozess heraus, welcher Prozess die größte Nummer hat?... Prozess 1 Nummer k 1... Prozess 2 Nummer k 2... Prozess 3 Nummer k 3 Barbara König Vorlesung Modellierung nebenläufiger Systeme 175

182 Anwendung: Verifikation eines Leader-Election-Protokolls Leader Election (Verfahren, Teil 1) Jeder Prozess führt Buch darüber, welche bisher größte Nummer (maximum) er gesehen hat. Zu Beginn ist dies seine eigene Nummer. Diese Nummer schickt er an seinen Nachfolger auf dem Ring. Barbara König Vorlesung Modellierung nebenläufiger Systeme 176

183 Anwendung: Verifikation eines Leader-Election-Protokolls Leader Election (Verfahren, Teil 2) Bei Empfang einer Nachricht, die eine Nummer nr enthält, wird folgendes geprüft: Gilt nr > maximum, so wird nr zum neuen Maximum, diese Nummer wird an den Nachfolger weitergeschickt. Gilt nr = maximum, so ist diese Nummer (anschaulich) einmal um den ganzen Ring herumgewandert und muss das absolute Maximum sein. In diesem Fall ist der Prozess mit der Nummer maximum der Gewinner. Es wird eine Nachricht um den ganzen Ring geschickt, die den Gewinner bekanntgibt. Ansonsten (nr < maximum) wird keine Aktion unternommen. Barbara König Vorlesung Modellierung nebenläufiger Systeme 177

184 Anwendung: Verifikation eines Leader-Election-Protokolls Leader Election (Verfahren, Teil 3) Nach Ankündigung des Gewinners vergleicht jeder Prozess maximum mit seiner eigenen Nummer, um festzustellen, ob er der Gewinner ist. Bemerkungen zum Leader-Election-Protokoll: Hier wird gefordert, dass sich jeder Prozess an das Protokoll hält. Systeme mit nicht-kooperierenden Prozessen erfordern komplexere Protokolle. Wenn alle Prozesse den gleichen Code besitzen und auch durch Nummern nicht unterschieden werden können (vollständige Symmetrie), so ist Leader-Election nicht möglich. Es gibt effizientere Verfahren für Leader Election (z.b. von Itai & Rodeh), bei denen die Anzahl der ausgetauschten Nachrichten möglichst klein gehalten wird. Barbara König Vorlesung Modellierung nebenläufiger Systeme 178

185 Anwendung: Verifikation eines Leader-Election-Protokolls Wir verifizieren das Leader-Election-Protokoll mit Hilfe von SPIN. Model-Checker SPIN SPIN ist ein bekannter LTL-Model-Checker, der bereits in großem Umfang eingesetzt wurde. SPIN erhielt für 2001 den Software System Award der ACM (Association for Computing Machinery). Andere bekannte Preisträger sind: Java, Apache, Tcl/Tk, Word-Wide Web, TCP/IP, PostScript, TeX SPIN wurde von Gerard J. Holzmann bei den Bell Labs entwickelt. Als Eingabesprache wird Promela verwendet, eine Programmiersprache, mit der das Verhalten jedes Prozesses einzeln spezifiert werden kann. Daraus wird dann ein Transitionssystem erzeugt. Barbara König Vorlesung Modellierung nebenläufiger Systeme 179

186 Anwendung: Verifikation eines Leader-Election-Protokolls Ausschnitt aus dem Promela-Code des Leader-Election-Protokolls: Verhalten eines Prozesses bei Empfang einer Nachricht: :: in?standard(nr) -> if :: nr == maximum -> out!winner(nr); know_winner = 1 :: nr > maximum -> out!standard(nr); maximum = nr; :: else -> skip fi Barbara König Vorlesung Modellierung nebenläufiger Systeme 180

187 Anwendung: Verifikation eines Leader-Election-Protokolls Von SPIN zur Verfügung gestellt Methoden: Simulation eines Systemablaufs (dargestellt durch Sequenzdiagramme Message Sequence Charts) Verifikation von LTL-Formeln. Dabei beziehen sich die LTL-Formeln auf die Zustände (nicht Aktionen) eines Systems. Beispiele: ((nr leaders = 1) (nr leaders = 0)) (es gibt immer entweder einen oder gar keinen Leader) (nr leaders = 0) U (nr leaders = 1) (es gibt keinen Leader, solange bis es einen Leader gibt) (nr leaders = 1) (irgendwann gibt es einen Leader und diese Eigenschaft verändert sich dann nicht mehr) Gegenbeispiel: Falls die LTL-Formel nicht erfüllt ist, so wird ein Sequenzdiagramm ausgegeben, das einen Ablauf beschreibt, der die Formel verletzt. Barbara König Vorlesung Modellierung nebenläufiger Systeme 181

188 Anwendung: Verifikation eines Leader-Election-Protokolls Sequenzdiagramm eines Beispielablaufs (3 Prozesse) Barbara König Vorlesung Modellierung nebenläufiger Systeme 182

189 Anwendung: Verifikation eines Leader-Election-Protokolls SPIN: Fenster für die Verifikation von LTL-Formeln Barbara König Vorlesung Modellierung nebenläufiger Systeme 183

Vorlesung Modellierung nebenläufiger Systeme Sommersemester 2014 Universität Duisburg-Essen

Vorlesung Modellierung nebenläufiger Systeme Sommersemester 2014 Universität Duisburg-Essen Vorlesung Modellierung nebenläufiger Systeme Sommersemester 2014 Universität Duisburg-Essen Barbara König Übungsleitung: Sebastian Küpper Barbara König Vorlesung Modellierung nebenläufiger Systeme 1 Das

Mehr

Vorlesung Modellierung nebenläufiger Systeme Sommersemester 2011 Universität Duisburg-Essen

Vorlesung Modellierung nebenläufiger Systeme Sommersemester 2011 Universität Duisburg-Essen Vorlesung Modellierung nebenläufiger Systeme Sommersemester 2011 Universität Duisburg-Essen Barbara König Barbara König Vorlesung Modellierung nebenläufiger Systeme 1 Das heutige Programm: Organisatorisches

Mehr

Motivation. Motivation

Motivation. Motivation Vorlesung Modellierung nebenläufiger Systeme Sommersemester 2012 Universität Duisburg-Essen Was sind nebenläufige Systeme? Ganz allgemein: Systeme, bei denen mehrere Komponenten/Prozesse nebenläufig arbeiten

Mehr

Vorlesung Formale Aspekte der Software-Sicherheit und Kryptographie Sommersemester 2015 Universität Duisburg-Essen

Vorlesung Formale Aspekte der Software-Sicherheit und Kryptographie Sommersemester 2015 Universität Duisburg-Essen Vorlesung Formale Aspekte der Software-Sicherheit und Kryptographie Sommersemester 2015 Universität Duisburg-Essen Prof. Barbara König Übungsleitung: Sebastian Küpper Barbara König Form. Asp. der Software-Sicherheit

Mehr

Vorlesung Modellierung Modellierungsmethoden der Informatik. Wintersemester 2011/12. Lernplattform Moodle. Wer sind wir?

Vorlesung Modellierung Modellierungsmethoden der Informatik. Wintersemester 2011/12. Lernplattform Moodle. Wer sind wir? Vorlesung Modellierung Modellierungsmethoden der Informatik Wintersemester 2011/12 Prof. Barbara König Übungsleitung: Dr. Sander Bruggink Das heutige Programm Organisatorisches Vorstellung Ablauf der Vorlesung

Mehr

Vorlesung Modellierung Modellierungsmethoden der Informatik. Wintersemester 2011/12

Vorlesung Modellierung Modellierungsmethoden der Informatik. Wintersemester 2011/12 Vorlesung Modellierung Modellierungsmethoden der Informatik Wintersemester 2011/12 Prof. Barbara König Übungsleitung: Dr. Sander Bruggink Barbara König Modellierung 1 Das heutige Programm Organisatorisches

Mehr

3.0 VU Formale Modellierung

3.0 VU Formale Modellierung 3.0 VU Formale Modellierung Gernot Salzer Arbeitsbereich Theoretische Informatik und Logik Institut für Computersprachen SS 2016 1 Inhalt 0. Überblick 1. Organisation 2. Was bedeutet Modellierung? 3. Aussagenlogik

Mehr

1. Einführung in Temporallogik CTL

1. Einführung in Temporallogik CTL 1. Einführung in Temporallogik CTL Temporallogik dient dazu, Aussagen über Abläufe über die Zeit auszudrücken und zu beweisen. Zeit wird in den hier zunächst behandelten Logiken als diskret angenommen

Mehr

Vorlesung Berechenbarkeit und Komplexität alias Theoretische Informatik: Komplexitätstheorie und effiziente Algorithmen. Wintersemester 2011/12

Vorlesung Berechenbarkeit und Komplexität alias Theoretische Informatik: Komplexitätstheorie und effiziente Algorithmen. Wintersemester 2011/12 Vorlesung Berechenbarkeit und Komplexität alias Theoretische Informatik: und effiziente Algorithmen Wintersemester 2011/12 Prof. Barbara König Übungsleitung: Jan Stückrath Barbara König BeKo/TI 1 Willkommen

Mehr

Vorlesung Berechenbarkeit und Komplexität Wintersemester 2016/17. Wer sind wir? Willkommen zu

Vorlesung Berechenbarkeit und Komplexität Wintersemester 2016/17. Wer sind wir? Willkommen zu Vorlesung Berechenbarkeit und Komplexität Wintersemester 2016/17 Prof. Barbara König Übungsleitung: Sebastian Küpper Willkommen zu Berechenbarkeit und Komplexität (Bachelor Angewandte Informatik, Duisburg

Mehr

Vorlesung Berechenbarkeit und Komplexität alias Theoretische Informatik: Komplexitätstheorie und effiziente Algorithmen. Wintersemester 2013/14

Vorlesung Berechenbarkeit und Komplexität alias Theoretische Informatik: Komplexitätstheorie und effiziente Algorithmen. Wintersemester 2013/14 Vorlesung Berechenbarkeit und Komplexität alias Theoretische Informatik: und effiziente Algorithmen Wintersemester 2013/14 Prof. Barbara König Übungsleitung: Henning Kerstan & Sebastian Küpper Barbara

Mehr

Vorlesung Modellierung Wintersemester 2014/15. Organisatorisches (Folien teilw. von Prof. B. König) Wer sind wir? Wer sind wir? Das heutige Programm

Vorlesung Modellierung Wintersemester 2014/15. Organisatorisches (Folien teilw. von Prof. B. König) Wer sind wir? Wer sind wir? Das heutige Programm Vorlesung Modellierung Wintersemester 2014/15 Organisatorisches (Folien teilw. von Prof. B. König) Prof. Norbert Fuhr Übungsleitung: Thomas Beckers Das heutige Programm Organisatorisches Vorstellung Ablauf

Mehr

Vorlesung Modellierung Wintersemester 2014/15. Organisatorisches (Folien teilw. von Prof. B. König)

Vorlesung Modellierung Wintersemester 2014/15. Organisatorisches (Folien teilw. von Prof. B. König) Vorlesung Modellierung Wintersemester 2014/15 Organisatorisches (Folien teilw. von Prof. B. König) Prof. Norbert Fuhr Übungsleitung: Thomas Beckers 1 / 23 Das heutige Programm Organisatorisches Vorstellung

Mehr

Vorlesung Automaten und Formale Sprachen alias Theoretische Informatik Sommersemester 2015

Vorlesung Automaten und Formale Sprachen alias Theoretische Informatik Sommersemester 2015 Vorlesung Automaten und Formale Sprachen alias Theoretische Informatik Sommersemester 2015 Prof. Barbara König Übungsleitung: Jan Stückrath Barbara König Automaten und Formale Sprachen 1 Das heutige Programm:

Mehr

Automaten und Coinduktion

Automaten und Coinduktion Philipps-Univestität Marburg Fachbereich Mathematik und Informatik Seminar: Konzepte von Programmiersprachen Abgabedatum 02.12.03 Betreuer: Prof. Dr. H. P. Gumm Referentin: Olga Andriyenko Automaten und

Mehr

Computergestützte Modellierung und Verifikation

Computergestützte Modellierung und Verifikation Computergestützte Modellierung und Verifikation Vorlesung mit Übungen SS 2007 Prof. F. von Henke mit Dr. H. Pfeifer Inst. für Künstliche Intelligenz Organisatorisches Vorlesung: Mi 14 16 Raum 3211 Do 14

Mehr

Vorlesung Automaten und Formale Sprachen Sommersemester 2018

Vorlesung Automaten und Formale Sprachen Sommersemester 2018 Vorlesung Automaten und Formale Sprachen Sommersemester 2018 Prof. Barbara König Übungsleitung: Christina Mika-Michalski Barbara König Automaten und Formale Sprachen 1 Das heutige Programm: Organisatorisches

Mehr

Vorlesung Logik Wintersemester 2016/17 Universität Duisburg-Essen

Vorlesung Logik Wintersemester 2016/17 Universität Duisburg-Essen Vorlesung Logik Wintersemester 2016/17 Universität Duisburg-Essen Barbara König Übungsleitung: Dennis Nolte, Harsh Beohar Barbara König Logik 1 Das heutige Programm: Organisatorisches Vorstellung Ablauf

Mehr

Verhaltensäquivalenzen für CCS

Verhaltensäquivalenzen für CCS Verhaltensäquivalenzen für CC Holger Dell Lehrstuhl für rogrammiersysteme - rof. Gert molka 18. Oktober 2004 Nachdem nun CC-Ausdrücke eingeführt sind, wendet sich obin Milner in Kapitel 5 und 6 von Communicating

Mehr

Vorlesung Logik Wintersemester 2015/16 Universität Duisburg-Essen

Vorlesung Logik Wintersemester 2015/16 Universität Duisburg-Essen Vorlesung Logik Wintersemester 2015/16 Universität Duisburg-Essen Barbara König Übungsleitung: Dennis Nolte, Dr. Harsh Beohar Barbara König Logik 1 Barbara König Logik 2 Das heutige Programm: Organisatorisches

Mehr

Die mathematische Seite

Die mathematische Seite Kellerautomaten In der ersten Vorlesung haben wir den endlichen Automaten kennengelernt. Mit diesem werden wir uns in der zweiten Vorlesung noch etwas eingängiger beschäftigen und bspw. Ansätze zur Konstruktion

Mehr

Vorlesungsmitschrift zur Vorlesung Theoretische Informatik I vom 23. Juni Christian Franz

Vorlesungsmitschrift zur Vorlesung Theoretische Informatik I vom 23. Juni Christian Franz Vorlesungsmitschrift zur Vorlesung Theoretische Informatik I vom 23. Juni 2 Christian Franz Inhaltsverzeichnis Wiederholung: Vorlesung vom 9.6.2... Beispiele für Äquivalenzklassen... 4.5. Minimierung

Mehr

Adventure-Problem. Vorlesung Automaten und Formale Sprachen Sommersemester Adventure-Problem

Adventure-Problem. Vorlesung Automaten und Formale Sprachen Sommersemester Adventure-Problem -Problem Vorlesung Automaten und Formale Sprachen Sommersemester 2018 Prof. Barbara König Übungsleitung: Christina Mika-Michalski Zum Aufwärmen: wir betrachten das sogenannte -Problem, bei dem ein Abenteurer/eine

Mehr

4. Alternative Temporallogiken

4. Alternative Temporallogiken 4. Alternative Temporallogiken Benutzung unterschiedlicher Temporallogiken entsprechend den verschiedenen Zeitbegriffen LTL: Linear Time Logic Ähnlich der CTL, aber jetzt einem linearen Zeitbegriff entspechend

Mehr

Petri-Netze. Teil 2. Chandran Goodchild. Department of Automata Theory University of Freiburg. Pro Seminar, 2017

Petri-Netze. Teil 2. Chandran Goodchild. Department of Automata Theory University of Freiburg. Pro Seminar, 2017 Petri-Netze Teil 2 Chandran Goodchild Department of Automata Theory University of Freiburg Pro Seminar, 2017 Chandran Goodchild (University of Freiburg) Petri-Netze Pro Seminar, 2017 1 / 40 Struktur 1

Mehr

Automaten und Formale Sprachen alias Theoretische Informatik. Sommersemester 2012

Automaten und Formale Sprachen alias Theoretische Informatik. Sommersemester 2012 Automaten und Formale Sprachen alias Theoretische Informatik Sommersemester 2012 Dr. Sander Bruggink Übungsleitung: Jan Stückrath Sander Bruggink Automaten und Formale Sprachen 1 Wer sind wir? Dozent:

Mehr

Verifikation in der Realität. In der Industrie wird der Begriff Verifikation häufig im Zusammenhang mit nicht formalen Methoden verwendet:

Verifikation in der Realität. In der Industrie wird der Begriff Verifikation häufig im Zusammenhang mit nicht formalen Methoden verwendet: Verifikation in der Realität In der Industrie wird der Begriff Verifikation häufig im Zusammenhang mit nicht formalen Methoden verwendet: Testen, Strategien: 100% Befehlsabdeckung (Statement Coverage)

Mehr

Lösung zur Klausur. Grundlagen der Theoretischen Informatik im WiSe 2003/2004

Lösung zur Klausur. Grundlagen der Theoretischen Informatik im WiSe 2003/2004 Lösung zur Klausur Grundlagen der Theoretischen Informatik im WiSe 2003/2004 1. Geben Sie einen deterministischen endlichen Automaten an, der die Sprache aller Wörter über dem Alphabet {0, 1} akzeptiert,

Mehr

5. Äquivalenzrelationen

5. Äquivalenzrelationen 36 Andreas Gathmann 5. Äquivalenzrelationen Wenn man eine große und komplizierte Menge (bzw. Gruppe) untersuchen will so kann es sinnvoll sein zunächst kleinere einfachere Mengen (bzw. Gruppen) zu betrachten

Mehr

Theorie kommunizierender Systeme Sequentielle Prozesse und Bisimulation

Theorie kommunizierender Systeme Sequentielle Prozesse und Bisimulation Theorie kommunizierender Systeme Ehsan Gholamsaghaee Betreuer: Andreas Rossberg 1 Department 6.2 - Computer Science 2 Fakultät für Naturwissenschaft und Technologie I 4. Oktober 2004 Ziel Outline Beschreibung

Mehr

Semestralklausur zur Vorlesung Modellierung

Semestralklausur zur Vorlesung Modellierung Name: Vorname: Matr.Nr: Universität Duisburg-Essen WS 2008/09 Ingenieurwissenschaften / Informatik 18. Februar 2009 Dozentin: Prof. Dr. Barbara König Klausur Semestralklausur zur Vorlesung Modellierung

Mehr

KV Software Engineering Übungsaufgaben SS 2005

KV Software Engineering Übungsaufgaben SS 2005 KV Software Engineering Übungsaufgaben SS 2005 Martin Glinz, Silvio Meier, Nancy Merlo-Schett, Katja Gräfenhain Übung 4 Aufgabe 1 (8 Punkte) Programmverifikation Gegeben ist folgendes Programmfragment

Mehr

Automaten und Formale Sprachen alias Theoretische Informatik. Sommersemester 2013

Automaten und Formale Sprachen alias Theoretische Informatik. Sommersemester 2013 Automaten und Formale Sprachen alias Theoretische Informatik Sommersemester 2013 Dr. Sander Bruggink Übungsleitung: Jan Stückrath Sander Bruggink Automaten und Formale Sprachen 1 Reguläre Ausdrücke Wozu

Mehr

Reguläre Sprachen. R. Stiebe: Theoretische Informatik für ING-IF und Lehrer,

Reguläre Sprachen. R. Stiebe: Theoretische Informatik für ING-IF und Lehrer, Reguläre Sprachen Reguläre Sprachen (Typ-3-Sprachen) haben große Bedeutung in Textverarbeitung und Programmierung (z.b. lexikalische Analyse) besitzen für viele Entscheidungsprobleme effiziente Algorithmen

Mehr

Einführung in die Theoretische Informatik

Einführung in die Theoretische Informatik Technische Universität München Fakultät für Informatik Prof. Tobias Nipkow, Ph.D. Dr. Werner Meixner, Dr. Alexander Krauss Sommersemester 2010 Lösungsblatt 3 14. Mai 2010 Einführung in die Theoretische

Mehr

Mathematische Strukturen

Mathematische Strukturen Mathematische Strukturen Lineare Algebra I Kapitel 3 16. April 2013 Kartesisches Produkt Das kartesische Produkt (benannt nach René Descartes) von n Mengen M 1,..., M n ist M 1 M n := {(x 1,..., x n )

Mehr

Modellierung verteilter Systeme

Modellierung verteilter Systeme Modellierung verteilter Systeme (Grundlagen der Programm- und Systementwicklung II) 10 Erweiterungen Dr. Sebastian Voss fortiss GmbH Kompetenzfeldleiter Model-based Systeme Engineering Themenübersicht

Mehr

5. Äquivalenzrelationen

5. Äquivalenzrelationen 5. Äquivalenzrelationen 35 5. Äquivalenzrelationen Wenn man eine große und komplizierte Menge (bzw. Gruppe) untersuchen will, so kann es sinnvoll sein, zunächst kleinere, einfachere Mengen (bzw. Gruppen)

Mehr

Software Engineering Ergänzung zur Vorlesung

Software Engineering Ergänzung zur Vorlesung Ergänzung zur Vorlesung Prof. Dr. Markus Müller-Olm WS 2008 2009 2.6.1 Endliche und reguläre Sprachen Endliche und reguläre Sprache: fundamental in vielen Bereichen der Informatik: theorie Formale Sprachen

Mehr

Warum Modellierung? OE-Vorlesung 2016 Einführung in Petrinetze. Was ist ein Modell? Und warum Petrinetze? Petrinetze sind ein Modellierungswerkzeug.

Warum Modellierung? OE-Vorlesung 2016 Einführung in Petrinetze. Was ist ein Modell? Und warum Petrinetze? Petrinetze sind ein Modellierungswerkzeug. Warum Modellierung? OE-Vorlesung 016 Einführung in Petrinetze Dr. Lawrence Cabac cabac@informatik.uni-hamburg.de Folien: Dr. Frank Heitmann Fachbereich Informatik Universität Hamburg Petrinetze sind ein

Mehr

Übung zur Vorlesung Theoretische Information. Minimierungsalgorithmus

Übung zur Vorlesung Theoretische Information. Minimierungsalgorithmus Übung zur Vorlesung Theoretische Information Minimierungsalgorithmus Folie Warum Automaten minimieren? Zwei endliche Automaten Automat q q Automat 2 q q Beide akzeptieren die selbe Sprache Welche? q 2

Mehr

Modellierung verteilter Systeme

Modellierung verteilter Systeme Modellierung verteilter Systeme (Grundlagen der Programm- und Systementwicklung II) 09 Eigenschaften Dr. Sebastian Voss fortiss GmbH Kompetenzfeldleiter Model-based Systeme Engineering Themenübersicht

Mehr

Kapitel 2. Mathematische Grundlagen. Skript zur Vorlesung Einführung in die Programmierung

Kapitel 2. Mathematische Grundlagen. Skript zur Vorlesung Einführung in die Programmierung LUDWIG- MAXIMILIANS- UNIVERSITY MUNICH DEPARTMENT INSTITUTE FOR INFORMATICS DATABASE Kapitel 2 Mathematische Grundlagen Skript zur Vorlesung Einführung in die Programmierung im Wintersemester 2012/13 Ludwig-Maximilians-Universität

Mehr

Die Prädikatenlogik erster Stufe: Syntax und Semantik

Die Prädikatenlogik erster Stufe: Syntax und Semantik Die Prädikatenlogik erster Stufe: Syntax und Semantik 1 Mathematische Strukturen und deren Typen Definition 1.1 Eine Struktur A ist ein 4-Tupel A = (A; (R A i i I); (f A j j J); (c A k k K)) wobei I, J,

Mehr

Theoretische Grundlagen der Informatik. Vorlesung am 02. November INSTITUT FÜR THEORETISCHE INFORMATIK

Theoretische Grundlagen der Informatik. Vorlesung am 02. November INSTITUT FÜR THEORETISCHE INFORMATIK Theoretische Grundlagen der Informatik Vorlesung am 2. November 27 2..27 Dorothea Wagner - Theoretische Grundlagen der Informatik KIT Die Forschungsuniversität in der Vorlesung am 2. November 27 Helmholtz-Gemeinschaft

Mehr

Theoretische Grundlagen des Software Engineering

Theoretische Grundlagen des Software Engineering Theoretische Grundlagen des Software Engineering 1: Grundlagen, Sprachen, Automaten schulz@eprover.org Software Systems Engineering Definition Eine Definition ist eine genaue Beschreibung eines Objektes

Mehr

Logik für Informatiker

Logik für Informatiker Logik für Informatiker Wintersemester 2007/08 Thomas Schwentick Teil C: Nichtklassische Logiken 9. Temporallogiken Version von: 4. Februar 2008(11:55) Inhalt 9.1 Vorüberlegungen 9.2 Lineare Zeit: LTL 9.3

Mehr

Theoretische Grundlagen der Informatik

Theoretische Grundlagen der Informatik Theoretische Grundlagen der Informatik Übung am 3..2 INSTITUT FÜR THEORETISCHE KIT 7..2 Universität des Andrea Landes Schumm Baden-Württemberg - Theoretische und Grundlagen der Informatik INSTITUT FÜR

Mehr

Übungen zur Vorlesung Modellierung WS 2003/2004 Blatt 11 Musterlösungen

Übungen zur Vorlesung Modellierung WS 2003/2004 Blatt 11 Musterlösungen Dr. Theo Lettmann Paderborn, den 9. Januar 24 Abgabe 9. Januar 24 Übungen zur Vorlesung Modellierung WS 23/24 Blatt Musterlösungen AUFGABE 7 : Es sei der folgende partielle deterministische endliche Automat

Mehr

Theorie der Informatik

Theorie der Informatik Theorie der Informatik 11. Kontextsensitive und Typ-0-Sprachen Malte Helmert Gabriele Röger Universität Basel 7. April 2014 Kontextsensitive und allgemeine Grammatiken Wiederholung: (kontextsensitive)

Mehr

Model Checking. H. Peter Gumm. Philipps-Universität Marburg Sommersemester 2007

Model Checking. H. Peter Gumm. Philipps-Universität Marburg Sommersemester 2007 H. Peter Gumm Philipps-Universität Marburg Sommersemester 2007 Inhaltsverzeichnis 1. Einführung Motivation Ampel-Beispiel Modellierung in SMV Temporale Eigenschaften 2. Das SMV System SMV Module und Prozesse

Mehr

Abschnitt 3: Mathematische Grundlagen

Abschnitt 3: Mathematische Grundlagen Abschnitt 3: Mathematische Grundlagen 3. Mathematische Grundlagen 3.1 Mengen und Abbildungen 3.2 Induktion und Rekursion 3.3 Ausdrücke 3 Mathematische Grundlagen Einf. Progr. (WS 08/09) 102 Überblick 3.

Mehr

1.1 Transitionssysteme Produkte von Transitionssystemen Kripkestrukturen Verifikation und Model-Checking...

1.1 Transitionssysteme Produkte von Transitionssystemen Kripkestrukturen Verifikation und Model-Checking... Transitionssysteme und Verifikation 3. Transitionssysteme.................................. 3. Produkte von Transitionssystemen......................... 9.3 Automaten und reguläre Sprachen.........................

Mehr

Vorsemesterkurs Informatik

Vorsemesterkurs Informatik Vorsemesterkurs Informatik Vorsemesterkurs Informatik Mario Holldack WS2015/16 30. September 2015 Vorsemesterkurs Informatik 1 Einleitung 2 Aussagenlogik 3 Mengen Vorsemesterkurs Informatik > Einleitung

Mehr

Theoretische Informatik II

Theoretische Informatik II Theoretische Informatik II Einheit 4.2 Modelle für Typ-0 & Typ-1 Sprachen 1. Nichtdeterministische Turingmaschinen 2. Äquivalenz zu Typ-0 Sprachen 3. Linear beschränkte Automaten und Typ-1 Sprachen Maschinenmodelle

Mehr

MODEL CHECKING 3 TEMPORALE LOGIKEN

MODEL CHECKING 3 TEMPORALE LOGIKEN MODEL CHECKING 3 TEMPORALE LOGIKEN Sommersemester 2009 Dr. Carsten Sinz, Universität Karlsruhe Kripke-Struktur 2 Definition: Sei A eine Menge von Aussagevariablen. Eine Kripke-Struktur M über A ist ein

Mehr

Modellierung verteilter Systeme Grundlagen der Programm und Systementwicklung

Modellierung verteilter Systeme Grundlagen der Programm und Systementwicklung Modellierung verteilter Systeme Grundlagen der Programm und Systementwicklung Wintersemester 2009/10 Prof. Dr. Dr. h.c. Manfred Broy Unter Mitarbeit von Dr. K. Spies, Dr. M. Spichkova, L. Heinemann, P.

Mehr

Analysis I - Notizen 1. Daniel Lenz Jena - Wintersemester 2016

Analysis I - Notizen 1. Daniel Lenz Jena - Wintersemester 2016 Analysis I - Notizen 1 Daniel Lenz Jena - Wintersemester 2016 1 Es handelt sich nicht um ein Skriptum zur Vorlesung. Besten Dank an alle, die zu Verbesserungen früherer Notizen zur Analysis I beigetragen

Mehr

Turingmaschinen Vorlesung Berechenbarkeit und Komplexität alias Theoretische Informatik: Komplexitätstheorie und effiziente Algorithmen

Turingmaschinen Vorlesung Berechenbarkeit und Komplexität alias Theoretische Informatik: Komplexitätstheorie und effiziente Algorithmen Vorlesung Berechenbarkeit und Komplexität alias Theoretische Informatik: und effiziente Algorithmen Wintersemester 2011/12 Schematische Darstellung einer Turing-Maschine: Kopf kann sich nach links und

Mehr

MODEL CHECKING 2 - AUTOMATEN

MODEL CHECKING 2 - AUTOMATEN MODEL CHECKING 2 - AUTOMATEN Sommersemester 2009 Dr. Carsten Sinz, Universität Karlsruhe Model Checking 2 System (Hardware/ Software) Model Checking, Formalisierung, Beweis Übersetzung in Logik Gewünschte

Mehr

Thomas Schirrmann Nebenläufigkeit. Nebenläufigkeit. Vortrag Thomas Schirrmann. Seminar Systementwurf Dozentin Daniela Weinberg

Thomas Schirrmann Nebenläufigkeit. Nebenläufigkeit. Vortrag Thomas Schirrmann. Seminar Systementwurf Dozentin Daniela Weinberg Nebenläufigkeit Vortrag Seminar Systementwurf Dozentin Daniela Weinberg 1 Gliederung 1. Einführung 2. Modellierung 2.1. POMSET 2.2. Transitionssystem 2.3. Petrinetz 2.4. abstraktes nebenläufiges Programm

Mehr

Korrektheit durch modulare Konstruktion. Wie kann man die Korrektheit reaktiver Systeme gewährleisten?

Korrektheit durch modulare Konstruktion. Wie kann man die Korrektheit reaktiver Systeme gewährleisten? Korrektheit durch modulare Konstruktion Wie kann man die Korrektheit reaktiver Systeme gewährleisten? Ansatz: Durch systematische Konstruktion (Schlagwort: strukturierte Programmierung für parallele Programmiersprachen)

Mehr

1 Lokale Sprachen. 2 Verallgemeinerung

1 Lokale Sprachen. 2 Verallgemeinerung 1 Lokale Sprachen Es soll um Sprachen gehen die nur aufgrund ihrer Teilworte einer festen Länge entschieden werden können. Anschaulich heisst dies man kann ein Fenster der Länge k über das Eingabewort

Mehr

Wie kann man die Korrektheit reaktiver Systeme gewährleisten?

Wie kann man die Korrektheit reaktiver Systeme gewährleisten? Korrektheit durch modulare Konstruktion Wie kann man die Korrektheit reaktiver Systeme gewährleisten? Ansatz: Durch systematische Konstruktion (Schlagwort: strukturierte Programmierung für parallele Programmiersprachen)

Mehr

Grundlagen des expliziten Model Checkings

Grundlagen des expliziten Model Checkings Grundlagen des expliziten Model Checkings Seminar: Vortrag Dawid Kopetzki Gutachter: Prof. Dr. Jan Jürjens Dipl.-Inf. Daniel Warzecha 2. Juli 2012 Motivation Outline 1 Einleitung Motivation Hintergrund

Mehr

Werkzeuggestützte Softwareprüfungen: Model Checking I - CTL. Vortrag von Florian Heyer

Werkzeuggestützte Softwareprüfungen: Model Checking I - CTL. Vortrag von Florian Heyer Werkzeuggestützte Softwareprüfungen: Vortrag von Florian Heyer Gliederung Wiederholung Einführung CTL im Detail Anwendungsbeispiele Abschluss 2 Model Checking (Wiederholung) Überprüfung einer Systembeschreibung

Mehr

1. Übungsblatt 6.0 VU Theoretische Informatik und Logik

1. Übungsblatt 6.0 VU Theoretische Informatik und Logik . Übungsblatt 6. VU Theoretische Informatik und Logik 25. September 23 Aufgabe Sind folgende Aussagen korrekt? Begründen Sie jeweils Ihre Antwort. a) Für jede Sprache L gilt: L < L (wobei A die Anzahl

Mehr

DisMod-Repetitorium Tag 4

DisMod-Repetitorium Tag 4 DisMod-Repetitorium Tag 4 Endliche Automaten, Reguläre Sprachen und Kontextfreie Grammatiken 22. März 2018 1 Endliche Automaten Definition DFA Auswertungen Äquivalenzrelationen Verschmelzungsrelation und

Mehr

Herzlich willkommen!!!

Herzlich willkommen!!! Theoretische Informatik 2 Sommersemester 2013 Prof. Dr. Georg Schnitger AG Theoretische Informatik Johann Wolfgang Goethe-Universität Frankfurt am Main Herzlich willkommen!!! 1 / 19 Kapitel 1: Einführung

Mehr

Formale Methoden 2. Gaetano Geck Lehrstuhl I Logik in der Informatik WS 2015/2016

Formale Methoden 2. Gaetano Geck Lehrstuhl I Logik in der Informatik WS 2015/2016 Formale Methoden 2 Gaetano Geck Lehrstuhl I Logik in der Informatik WS 2015/2016 Teil 1: Wiederholung 1 Mengen 2 Abbildungen 3 Exkurs Beweistechniken 4 Relationen Definition Operationen Eigenschaften Äquivalenzrelationen

Mehr

Lineare Algebra I Abschlussklausur

Lineare Algebra I Abschlussklausur Dr. Peter Philip Wintersemester 2018/2019 Kilian Rückschloß, Pascal Stucky 7. Februar 2019 Lineare Algebra I Abschlussklausur Nachname: Matrikelnr.: Vorname: Fachsemester: Abschluss: Bachelor Master Version

Mehr

Modellierung verteilter Systeme (Grundlagen der Programm- und Systementwicklung II)

Modellierung verteilter Systeme (Grundlagen der Programm- und Systementwicklung II) Modellierung verteilter Systeme (Grundlagen der Programm- und Systementwicklung II) 02 Grundlagen Dr. Sebastian Voss fortiss GmbH Kompetenzfeldleiter Model-based Systeme Engineering Themenübersicht - Gesamtvorlesung

Mehr

Proseminar Komplexitätstheorie P versus NP Wintersemester 2006/07. Nichtdeterministische Turingmaschinen und NP

Proseminar Komplexitätstheorie P versus NP Wintersemester 2006/07. Nichtdeterministische Turingmaschinen und NP Proseminar Komplexitätstheorie P versus NP Wintersemester 2006/07 Vortrag am 17.11.2006 Nichtdeterministische Turingmaschinen und NP Yves Radunz Inhaltsverzeichnis 1 Wiederholung 3 1.1 Allgemeines........................................

Mehr

FORMALE SYSTEME. 8. Vorlesung: Minimale Automaten. TU Dresden, 6. November Markus Krötzsch Lehrstuhl Wissensbasierte Systeme

FORMALE SYSTEME. 8. Vorlesung: Minimale Automaten. TU Dresden, 6. November Markus Krötzsch Lehrstuhl Wissensbasierte Systeme FORMALE SYSTEME 8. Vorlesung: Minimale Automaten Markus Krötzsch Lehrstuhl Wissensbasierte Systeme TU Dresden, 6. November 2017 Rückblick Markus Krötzsch, 6. November 2017 Formale Systeme Folie 2 von 26

Mehr

Endliche Automaten Jörg Roth 101

Endliche Automaten Jörg Roth 101 Endliche Automaten Jörg Roth 101 Wir wollen im Folgenden die Abschlusseigenschaften regulärer Sprachen betrachten. Fragestellung: Wenn wir reguläre Sprachen haben, welche binären und unären Operationen

Mehr

Einführung in die Theoretische Informatik

Einführung in die Theoretische Informatik Technische Universität München Fakultät für Informatik Prof. Tobias Nipkow, Ph.D. Sascha Böhme, Lars Noschinski Sommersemester 2011 Lösungsblatt 9 25. Juli 2011 Einführung in die Theoretische Informatik

Mehr

Automaten und Formale Sprachen alias Theoretische Informatik. Sommersemester 2012

Automaten und Formale Sprachen alias Theoretische Informatik. Sommersemester 2012 Automaten und Formale Sprachen alias Theoretische Informatik Sommersemester 2012 Dr. Sander Bruggink Übungsleitung: Jan Stückrath Sander Bruggink Automaten und Formale Sprachen 1 Abgeschlossenheit (Definition)

Mehr

Mathematische Grundlagen der Computerlinguistik

Mathematische Grundlagen der Computerlinguistik Mengen und Mengenoperationen (Teil I) Centrum für Informations- und Sprachverarbeitung (CIS) 2. Juni 2014 Table of Contents Mengen und ihre Darstellung Darstellung endlicher Mengen Darstellung unendlicher

Mehr

Die Nerode-Relation und der Index einer Sprache L

Die Nerode-Relation und der Index einer Sprache L Die Nerode-Relation und der Index einer Sprache L Eine zweite zentrale Idee: Sei A ein vollständiger DFA für die Sprache L. Repäsentiere einen beliebigen Zustand p von A durch die Worte in Σ, die zu p

Mehr

Automaten und formale Sprachen Notizen zu den Folien

Automaten und formale Sprachen Notizen zu den Folien 13 Kellerautomaten Automaten und formale Sprachen Notizen zu den Folien Warum ein Automatenmodell für kontextfreien Sprachen (zu Folie 233) Manche Konstruktionen und Verfahren lassen sich besser mit Hilfe

Mehr

Mengen. Welche dieser Mengen sind paarweise gleich, ungleich? Begründung!

Mengen. Welche dieser Mengen sind paarweise gleich, ungleich? Begründung! Hinweis: Auf den Übungsblättern in diesem Semester wird es grundsätzlich die drei Aufgabentypen Vorbereitungsaufgabe, Tutoraufgabe und Hausaufgabe geben. Die als Vorbereitung bezeichneten Aufgaben dienen

Mehr

Algorithmen mit konstantem Platzbedarf: Die Klasse REG

Algorithmen mit konstantem Platzbedarf: Die Klasse REG Algorithmen mit konstantem Platzbedarf: Die Klasse REG Sommerakademie Rot an der Rot AG 1 Wieviel Platz brauchen Algorithmen wirklich? Daniel Alm Institut für Numerische Simulation Universität Bonn August

Mehr

Theoretische Informatik 2 bzw. Formale Sprachen und Berechenbarkeit. Sommersemester Herzlich willkommen!

Theoretische Informatik 2 bzw. Formale Sprachen und Berechenbarkeit. Sommersemester Herzlich willkommen! Theoretische Informatik 2 bzw. Formale Sprachen und Berechenbarkeit Sommersemester 2012 Prof. Dr. Nicole Schweikardt AG Theorie komplexer Systeme Goethe-Universität Frankfurt am Main Herzlich willkommen!

Mehr

Model Checking. H. Peter Gumm. Philipps-Universität Marburg Sommersemester 2008

Model Checking. H. Peter Gumm. Philipps-Universität Marburg Sommersemester 2008 H. Peter Gumm Philipps-Universität Marburg Sommersemester 2008 Inhaltsverzeichnis 1. Einführung Motivation Ampel-Beispiel Modellierung in SMV Temporale Eigenschaften 2. Das SMV System SMV Module und Prozesse

Mehr

Formale Verifikation von Software. 10. Juli 2013

Formale Verifikation von Software. 10. Juli 2013 Formale Verifikation von Software 10. Juli 2013 Überblick Wann ist formale Softwareverifikation sinnvoll? Welche Techniken gibt es? Was ist Model Checking und wie kann man es zur Verifikation einsetzen?

Mehr

Formale Methoden 2. Gaetano Geck Lehrstuhl I Logik in der Informatik WS 2015/2016

Formale Methoden 2. Gaetano Geck Lehrstuhl I Logik in der Informatik WS 2015/2016 Formale Methoden 2 Gaetano Geck Lehrstuhl I Logik in der Informatik WS 2015/2016 Teil 3: Kodierung 1 Motivation 2 Exkurs Grundlagen formaler Sprachen 3 Grundlagen 4 Beispielkodierungen FM2 (WS 2014/15,

Mehr

Modellierung verteilter Systeme (Grundlagen der Programm- und Systementwicklung II)

Modellierung verteilter Systeme (Grundlagen der Programm- und Systementwicklung II) Modellierung verteilter Systeme (Grundlagen der Programm- und Systementwicklung II) 08 Ausführungen Dr. Sebastian Voss fortiss GmbH Kompetenzfeldleiter Model-based Systeme Engineering Themenübersicht 1.

Mehr

1 Analytische Geometrie und Grundlagen

1 Analytische Geometrie und Grundlagen $Id: vektor.tex,v 1.4 2017/04/13 14:48:29 hk Exp $ 1 Analytische Geometrie und Grundlagen 1.1 Affine Geometrie im R d Wir hatten einen affinen Teilraum A des R d als eine Teilmenge der Form A = a + U definiert,

Mehr

Vorlesung 4. Tilman Bauer. 13. September 2007

Vorlesung 4. Tilman Bauer. 13. September 2007 Vorlesung 4 Universität Münster 13. September 2007 Kartesische Wir befassen uns in dieser Vorlesung noch einmal mit Mengen. Definition Seien M und N zwei Mengen. Dann bezeichnen wir mit M N das (kartesische)

Mehr

4.2.4 Reguläre Grammatiken

4.2.4 Reguläre Grammatiken 4.2.4 Reguläre Grammatiken Eine reguläre Grammatik ist eine kontextfreie Grammatik, deren Produktionsregeln weiter eingeschränkt sind Linksreguläre Grammatik: A w P gilt: w = ε oder w = Ba mit a T und

Mehr

Kapitel 1. Mengen und Abbildungen. 1.1 Mengen

Kapitel 1. Mengen und Abbildungen. 1.1 Mengen Kapitel 1 Mengen und Abbildungen 1.1 Mengen Die Objekte der modernen Mathematik sind die Mengen. Obwohl die Logik einen axiomatischen Zugang zur Mengenlehre bietet, wollen wir uns in dieser Vorlesung auf

Mehr

3 Werkzeuge der Mathematik

3 Werkzeuge der Mathematik 3.1 Mengen (18.11.2011) Definition 3.1 Die Menge heißt leere Menge. :=»x M x x Definition 3.2 Es seien N und M Mengen. Wir definieren: und analog M N : (x M x N). N M : (x N x M). Wir sagen M ist Teilmenge

Mehr

Grundlagen der theoretischen Informatik

Grundlagen der theoretischen Informatik Grundlagen der theoretischen Informatik Kurt Sieber Fakultät IV, Department ETI Universität Siegen SS 2013 Vorlesung vom 30.04.2013 Grenzen regulärer Sprachen Wie beweist man, dass eine Sprache nicht regulär

Mehr

Kapitel 4 Spezifikation von Kommunikationssystemen

Kapitel 4 Spezifikation von Kommunikationssystemen Kapitel 4 Spezifikation von Kommunikationssystemen i. (Tele-)Kommunikationsprotokolle ii. Spezifikationstechniken a. Weg/Zeit-Diagramm b. erweiterter endlicher Automat c. Unified Modeling Language iii.

Mehr

Kontextfreie Sprachen. Automaten und Formale Sprachen alias Theoretische Informatik. Sommersemester Kontextfreie Sprachen

Kontextfreie Sprachen. Automaten und Formale Sprachen alias Theoretische Informatik. Sommersemester Kontextfreie Sprachen Automaten und Formale Sprachen alias Theoretische Informatik Sommersemester 2012 Dr. Sander Bruggink Übungsleitung: Jan Stückrath Wortproblem: der CYK-Algorithmus Pumping Lemma für kontextfreie Sprachen

Mehr

5.2 Entity-Relationship-Modell

5.2 Entity-Relationship-Modell 5.2 Entity-Relationship-Modell Mod-5.8 Entity-Relationship-Modell, ER-Modell (P. Chen 1976): Kalkül zur Modellierung von Aufgabenbereichen mit ihren Objekten, Eigenschaften und Beziehungen. Weitergehende

Mehr

Objektorientierte Programmierung. Kapitel 3: Syntaxdiagramme

Objektorientierte Programmierung. Kapitel 3: Syntaxdiagramme Stefan Brass: OOP (Java), 3. 1/31 Objektorientierte Programmierung Kapitel 3: Stefan Brass Martin-Luther-Universität Halle-Wittenberg Wintersemester 2014/15 http://www.informatik.uni-halle.de/ brass/oop14/

Mehr