Modellierung verteilter Systeme - Software and Systems Engineering

Werbung
Technische Universität München
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. Neubeck
Lehrstuhl Software & Systems Engineering
Broy WS 09/10: Modellierung verteilter Systeme
Technische Universität München
Sichtenintegration
Broy WS 09/10: Modellierung verteilter Systeme
Technische Universität München
Zustand und Ablauf
Wir können einen Zusammenhang zwischen einem Zustandsmodell
und einem Ablaufmodell für ein System herstellen, indem wir
 Jedem Zustand σ eine Menge von Abläufen abl(σ) zuordnen
 Jedem endlichen Ablauf q, für den ein Ablauf p ∈ abl(σ) existiert,
eine Menge von Zustandsübergängen zuordnen der folgenden
Form
q
" ##$ "%
Wir sagen dann:
 Zustandsbegriff eines Systems ist adäquat, wenn aus jedem
Zustand die Menge der möglichen Abläufe ableitbar ist (d.h. abl(σ)
ist wohldefiniert)
 Zustandsmenge heißt voll abstrakt, wenn je zwei verschiedene
Zustände auch unterschiedliche Mengen von Abläufen beschreiben
 voll abstrakt = redundanzfrei
(ähnlich zu minimalen Automaten in formalen Sprachen)
!
Broy WS 09/10: Modellierung verteilter Systeme
Technische Universität München
Lineare Temporale Logik

Zustandsmaschinen mit markierten Übergängen besitzen
sequentielle Abläufe

Ablauf endet, wenn keine Übergänge mehr möglich sind; wir
erhalten eine endliche Berechnung
Oft gilt die Annahme, dass die Übergangsrelation nicht partiell ist
(Menge der Aktionen, die in einem Zustand möglich sind ist nie leer)
und daher alle Abläufe unendlich sind
Wir erhalten dann für jeden Zustand eine Menge von unendlichen
Strömen von Zuständen und eine Menge von unendlichen Strömen
von Aktionen
Ablauf auch als Strom von Paaren (σi, ai+1) beschreibbar



Broy WS 09/10: Modellierung verteilter Systeme
Technische Universität München
Abläufe von Zustandsmaschinen
Gegeben eine Zustandsmaschine mit markierten Übergängen
– Wir können jedem Zustand einfach eine Menge von sequentiellen
Abläufen zuordnen
– Um nichtsequentielle Abläufe behandeln zu können, brauchen wir eine
Darstellung von Parallelität auf der Ebene der Zustandsmaschinen,
etwa die Erweiterung der Übergänge mit einzelnen Aktionen auf
Übergänge mit Mengen von Aktionen
Technische Universität München
Lineare Temporale Logik: Fairness

Für ein Paar (σ, b) definieren wir die Prädikate


exec(a) falls a = b
enabled(a) falls $! ' : !
a
"
"#
!'

Ablauf s heißt stark fair, falls für alle Aktionen a gilt:

s heißt schwach fair, falls für alle Aktionen a gilt:
Broy WS 09/10: Modellierung verteilter Systeme
Technische Universität München
Äquivalenz von Zustandsmaschinen




Verschiedene Systeme können in gewisser Weise gleiches
Verhalten realisieren
Es gibt verschiedene Definitionen für die Äquivalenz zweier
Systeme
Ein guter Äquivalenzbegriff erlaubt es, in einer Komposition ein
Teilsystem gegen ein äquivalentes auszutauschen Kongruenz
Wir betrachten im Folgenden folgende Äquivalenzbegriffe für
Zustände (erweiterbar auf Mengen von Zuständen und
Zustandsmaschinen)



Spuräquivalenz
Verweigerungs- bzw. Bereitschaftsäquivalenz
Bisimulationsäquivalenz
Broy WS 09/10: Modellierung verteilter Systeme
Technische Universität München
Definition: Spuräquivalenz

Zwei Zustandsmaschinen M1 und M2 mit Startzuständen σ0 und σ’0
heißen (aktions-) spuräquivalent, wenn ihre Mengen von
Aktionsspuren übereinstimmen.

Spuräquivalenz ist formal definiert durch:
M 1 ~ Spur M 2 " spuren(! 0 ) = spuren(! '0 )

wobei
{
a
}
i+1
spuren(" 0 ) = a # $% : &" # '% : (i ) 0 : " i * *
*
+ " i+1
!
Broy WS 09/10: Modellierung verteilter Systeme
Technische Universität München
Definition: Simulation

Eine Präordnung ≤ über der Menge der Zustände heißt Simulation,
wenn für alle Zustände σ, σ’, die Aussage σ ≤ σ’ genau dann gilt,
wenn:
a ∈ A, ” ∈ :

a
⎯⎯→
€
”⇒
a
”’ ∈ : ’ ⎯⎯
→
€
”’ ∧ ”≤
”’
Für Zustandsmaschinen M1 und M2 mit Startzustände σ0 und σ’0
definieren wir:
M2 simuliert M1 , geschrieben M1 ≤ M2
wenn eine Simulation ≤ mit σ0 ≤ σ’0 existiert.
Broy WS 09/10: Modellierung verteilter Systeme
Technische Universität München
Definition: Bisimulation

Eine Äquivalenzrelation ∼ über Zuständen heißt Bisimulation, wenn
für alle Zustände σ, ϕ, die Aussage σ ∼ ϕ genau dann gilt, wenn:
a
a
+a ' *, " '' & : (" #
#$
" ' ) (! '' & : " ' ~ ! '%! #
#$
!')
a
a
und
+a ' *, " '' & : (" #
#$
" ' ) (! '' & : ! ' ~ " '%! #
#$
! ')

Zwei Zustandsmaschinen M1 und M2 mit Startzuständen σ0 und σ’0
heißen bisimulationsäquivalent, geschrieben M1 ∼bi M2, wenn eine
Bisimulation ∼ mit σ0 ∼ σ’0 existiert.

Es gilt nicht (siehe Beispiel, nächste Seite):
M1 ∼bi M2 ⇔ M1 ≤ M2 ∧ M2 ≤ M1
Broy WS 09/10: Modellierung verteilter Systeme
Technische Universität München
Beispiel: Vergleich Spur- und Bisimulationsäquivalenz
Die Zustandsmaschinen M1 und M2 sind spuräquivalent,
aber sind nicht bisimulationsäquivalent.
Broy WS 09/10: Modellierung verteilter Systeme
Technische Universität München
Vergleich Spur- und Bisimulationsäquivalenz


Bisimulationsäquivalenz impliziert Spuräquivalenz
Je nach gewähltem Kompositionoperator ist eine andere Äquivalenz
geeignet



Bei asynchroner Kommunikation Spuräquivalenz
Bei synchroner Kommunikation Bisimulationsäquivalenz
z.B. gilt die Kongruenz
Broy WS 09/10: Modellierung verteilter Systeme
Technische Universität München
Definition: Bereitschaftsäquivalenz

Zwei Zustände σ0 und σ1 heißen bereitschaftsäquivalent, wenn

Die Relation

Weiterhin sei definiert:
ist dabei definiert durch:
Broy WS 09/10: Modellierung verteilter Systeme
Technische Universität München
Beispiel: Vergl. Bereitschafts- und Bisimulationsäqu.

Die Zustände σ1 und σ2 sind spur- und bereitschaftsäquivalent,
aber nicht bisimulationsäquivalent
Broy WS 09/10: Modellierung verteilter Systeme
Technische Universität München
Vergleich der Äquivalenzen


Bisimulationsäquivalenz impliziert Bereitschaftsäquivalenz
Bereitschaftsäquivalenz impliziert Spuräquivalenz
Broy WS 09/10: Modellierung verteilter Systeme
Herunterladen