Modellierung verteilter Systeme (Grundlagen der Programm- und Systementwicklung II) 10 Erweiterungen Dr. Sebastian Voss fortiss GmbH Kompetenzfeldleiter Model-based Systeme Engineering
Themenübersicht 1. Einführung 2. Grundlagen: Verhalten, Interaktion, Nebenläufigkeit 3. Sequentielle Programme und Koroutinen 4. Datenflussmodelle 5. Kommunizierende Prozesse 6. Zustandsübergangssysteme 7. Koordination 8. Ausführungen 9. Verhaltensspezifikationen 10. Erweiterte Themen Modellierung verteilter Systeme 2
Themenübersicht 1. Einführung 2. Grundlagen: Verhalten, Interaktion, Nebenläufigkeit 3. Sequentielle Programme und Koroutinen 4. Datenflussmodelle 5. Kommunizierende Prozesse 6. Zustandsübergangssysteme 7. Koordination 8. Ausführungen 9. Verhaltensspezifikationen 10.Erweiterte Themen 1. Gezeitete Transitionssysteme 2. Andere Transitionssysteme Modellierung verteilter Systeme 3
Gezeitete Transitionssysteme Ziel: Modellierung von kontinuierlichem Zeitverhalten Beschreibung nicht-diskreter Interaktionszeitpunkte Explizite Modellierung von Zeitverhalten Konzepte: Zustand, Uhr, Zustandsinvariante, Transition Modell: Gezeitetes Transitionssystem 4
Wiederholung: Zeitdiskrete Systeme t t+1 t+2 t+3 t+4 TrafLights::TrafColor T Konzept: Zeitdiskretes System = Interaktion an einzelnen diskreten Zeitpunkten Abstraktion: Zeitpunkte der Interaktion sind undefiniert aber global Abstraktion: Aktionen sind atomar = Aktionen haben keine Dauer Intuition: Systemkomponenten interagieren simultan im Takt einer globalen Uhr unbekannter Geschwindigkeit 5
Motivation: Zeitkontinuierliche Systeme Ansatz: Interaktionszeitpunkte eines Systems sind nicht auf global definierte Zeitpunkte beschränkt: System kann zu beliebigen Zeitpunkten interagieren Zeitpunkte sind metrisch erfassbar (genaue globale Beobachtung) Weiterhin: Aktionen sind atomar = Aktionen haben keine Dauer Konzept: Lokale Uhren System kann zu beliebigen Zeitpunkten interagieren Zeitpunkte sind metrisch erfassbar (genaue globale Beobachtung) 6
Konzept: Uhr Ziel: Modell für kontinuierlichen Zeitverlauf Konzept: Uhr - explizite Zeitvariablen aus R0+ Verhalten: Gleichmäßiger, global kompatibler, analoger Werteverlauf Uhrenoperationen: Zurücksetzen, Wertabfrage Beispiel: Uhr C, Zurücksetzen: c = 0, Werteabfrage: 1 <= c < 2 7
Konzept: Gezeitete Transition s1 c 1 a c = 0 s2 Ziel: Modell für Aktion des Systems Konzept: Gezeitete Transition = Markierung, (Zeit-) Bedingung Beschreibt die Zustandsänderungen des Systems Zeitbedingungen über Uhren c, d: Vorbedingungen: c {,<,=,,> } x, c - d {,<,=,,> } x mit R0+ Nachbedingungen: c = 0 (Zurücksetzen von Uhren) Ansonsten: analog erweiterte markierte Transitionssysteme Beispiel: ((s1,c = 2),a,(s2, c = 0)) 8
Konzept: Gezeitete Zustandsinvariante 0 c 1 1 c d < 4 s1 s2 Ziel: Modell für (modulo Zeit) inaktives Verhalten eines Systems Konzept: Zustandsinvariante = Zeitbedingung P(c,..,d) Beschreibt im Zustand gültige Zeitbedingungen über Uhren c,,d Zeitbedingung P(c,..., d) i.a. beschränkt auf c {<,,=,>, } n bzw. c - d {<,,=,>, } n für n Nat Kombinationen mittels {,, } (oft beschränkt auf ) Beispiel: Zustand s1 mit Invarianten 0 c 1: Im Zustand s1 hat die Uhr c immer einen Wert zwischen 0 und 1 9
Interpretation: Zustandsinvariante / gezeitete Transition c 1 d < 4 s1 s2 c 1 - d < 4 - c = c+ d = d+ Intuition: Analoger Zeitfortschritt ohne Änderung diskreter Zustand Interpretation: Zustandsinvariante = gezeitete Transition P(c,..,d) Markierung: Verzögerungsereignis ( delay ) der Dauer Vorbedingung: Uhren erfüllen vor und nach Transition Zeitbeschränkung Nachbedingung: Uhren sind um Dauer fortgeschritten Impliziert Transitionsmenge: { (s1,c=x,...,d=y),, (s1,c=x+,...d=y+ ) P(x,..,y) P(x+,..,y+ ) } für R+ 10
Beispiel: Zustandsinvariante c = 0,d = 0 0.2 c = 0.2, d = 0.2 c 1 d < 4 s s s c = 0,d = 1.1 0.9 c = 0.9, d = 2 c 1 - d < 4 - c = c+ d = d+ c = 0.9,d=3,8 0.1 c = 1,d=3.9 Beispiel: Zustand s mit Invarianten c 1 d < 4: Zustandsmenge { ( s, c=x, d=y) 0 x 1 0 y < 4} Transitionen { ((s, c=x, d=y),, (s, c=x+, d=y+ )) R+ x+ 1 y+ < 4} = {((s,c=0,d=0),0.2,(s,c=0.2,d=0,2)), (s,c=0,d=2),0.8, (s,c=0.8,2.8), } 11
Model: Gezeitetes Transitionssystem c>3 produce c<=5 wait write c<=10 exchange c=0 c>5 Ziel: Verhaltensbeschreibung von Systemen Modell: Gezeitetes Transitionssystem (S,V,S0,A,T) Menge möglicher Zustände S und Uhrenbelegungen V: C R0+ Anfangszustände S0 S mit V0: C {0} Menge möglicher Transitionen T (S x V) x A x (S x V) (S x V) x R+ x (S x V) 12
Model: Gezeitetes Transitionssystem c<=5- c>3 produce c<=10- wait write c=c+ c<=5 c=0 exchange c>5 c<=10 c=c+ Beispiel: S = { write}, C = { c } S0 = { wait } T = { ((c=x),produce,(write,c=x)) 3<x 5} {((write,c=x),exchange,(c=0)) 5<x 10} {(c=x),,(c=x+ )) R+ x+ 5 } {(write,c=x),,(write,c=x+ )) R+ x+ 10 } 13
Konzept: Beobachtbarer gezeiter Ablauf c=0 c=0 4 produce write, c=4 c=4 3 write, c=7 c=0 4 1 c=4 c=5 produce write, c=5 exchange c=0 Ziel: Modellierung einer (partiellen) Ausführung eines System wie an der Schnittstelle - einschließlich Verzögerungen - zu beobachten Konzept: Ablauf = (endliche oder unendliche) Sequenz aufeinanderfolgender Interaktionen oder Verzögerungen a1 a2 a3 a4... Erster Zustand ist ein Anfangszustand: s1 S0 x V0 Folgende Zustände stehen in Relationsbeziehung: (si, ai, si+1) T Beispiel: 4 1 produce 3 2 exchange 1... 14
Konzept: Synchronisierte Interaktion c<=5 c=c+ d<=8 d=d+ wait read c>3 produce write exchange c<=5 c=0 c>5c<=10 d=2 exchange consume d<=8 d=0 d>8 ready c<=10- c=c+ d<=10- d<=10 d=d+ read ready write, read read ready produce consume exchange (0,min(5-c,8-d] (0,min(5-c,10-d] write, read read ready read ready Ziel: Modellierung synchronisierter Interaktionen von gezeiteten Systemen Konzept: Transition für synchronisierte Interaktionen (S,C,A,S0,T) u. (S,C,A,S 0,T ) Synchronisierter Interaktion: Aktion a A A sowie Verzögerung R+ (((s,v),(s,v )),e,((t,w),(t,w ))) for each ((s,v),a,(t,w)) T, ((s,v ),a,(t,w )) T, und e R+ A A Beispiele:(((write,c=6),(read,d=6)),exchange,((c=0),(ready,d=6))) oder (((c=1),(read=7)),,((c=1+ ),(read,d=7+ ))) mit (0,1] 15
Modell: Synchronisiertes Produkt-Transitionssystem Modell: Gezeitetes Produkttransitionssystem von (S,C,A,S0,T) und (S,C,A,S 0,T ): Zustandsraum: S x V x S x V für Uhrenbelegungen V: C R0+ und V : C R0+ Alphabet: A A Anfangszustände: S0 x V0 x S 0 x V0 Transitionsrelation T T : für ((s,v),a,(t,w)) T, bzw ((s,v ),a,(t,w )) T (((s,v),(s,v )),a,((t,w),(s,v ))) bzw. (((s,v),(s,v )),a,((s,v),(t,w ))) für a A \ A, bzw. a A \ A (((s,v),(s,v )),a,((t,w),(t,w ))) für ((s,v),a,(t,w)) T, ((s,v ),a(,t,w )) T, und a A A R+ 16
Beispiel: Synchronisiertes Produkt-Transitionssystem 17
Anomalie: Zeno-Transitionssystem produce d=>0 exchange wait write read ready c<=5 c=0 exchange c>=0 c<=6 c<=10 consume d=0 d<=8 Bemerkung: (Uhren-) Bedingungen können (ungewollt) unendliche Abläufe ohne echte Verzögerungen in gezeiteten Systemen erlauben Beobachtung: Unverzögernde Systeme stellen eine Zeit-Anomalie dar Unendliche Abläufe: Eine unbeschränkte Anzahl von Aktionen kann ausgeführt werden Verzögerungsfreie Abläufe: Während das Ablaufs schreitet die Zeit nicht voran Bemerkung: Gezeitete Transitionssysteme auf stetige Ausführung von Verzögerungstransitonen untersuchen ( Nicht-Zeno-Eigenschaft ) 18
Gezeitete Transitionssysteme: Modellnutzung Verifikation: Überprüfung von Systemen Verfahren: Analog erweitertet markierter Transitionssysteme Vergleich von Systemen: Simulation bzw. Bisimulation Nachweis von Eigenschaften: Temporale Logik Erweiterung atomarer Eigenschaften: Uhrenprädikate Zustands-/Pfadeigenschaften: Analog LTL, CTL*, CT Insbesondere Konsistenzüberprüfungen: Nicht-Blockieren, Nicht-Zeno 19
Weitere Transitionsystemarten Ziel: Modellierung von allgemeinerem Verhalten Beschreibung physikalischer Prozesse Beschreibung unscharfer Aussagen Konzepte: Kontinuierliche Zustandsveränderung, Übergangswahrscheinlichkeit Modell: Hybrides Transitionssystem, Markovprozess 20
Konzept: Hybrides System Ansatz: Aktionszeitpunkte eines Systems sind nicht auf diskrete Zeitpunkte beschränkt: System kann zu und zwischen diskreten Zeitpunkten agieren Zeitpunkte sind metrisch erfassbar (genaue globale Beobachtung) Aktionen sind nicht nur atomar = Aktionen haben Dauer Konzept: Modellierung mittels kontinuierlicher (Fluss-)Variablen System kann zu beliebigen, global messbaren Zeitpunkten interagieren System hat zwischen Zeitpunkten kontinuierlich analoge Wertverläufe 21
Konzept: Markovprozess Ziel: Modellierung probabilistischen Verhaltens Konzept: Modellierung Wahrscheinlichkeiten Nichtdeterminismus Übergangsverteilung: Transition mit Wahrscheinlichkeit x annotiert Wahrscheinlichkeit: Summe aller Transitionen pro Zustand und Marke ist 1 Erweiterung: Komposition: Analog erweitertet markierter Transitionssysteme Verifikation: Probabilistisches CTL mit Zustandsquantor P x S = Eigenschaft S gilt mit Wahrscheinlichkeit x 25
Danke... TTHank you Dr. Sebastian Voss (Department Model-based Systems Engineering) fortiss GmbH AN-Institut Technische Universität München Guerickestraße 25 80805 München Germany tel +49 89 3603522 33 fax +49 89 3603522 50 voss@fortiss.org 26