• Keine Ergebnisse gefunden

Modellierung verteilter Systeme

N/A
N/A
Protected

Academic year: 2021

Aktie "Modellierung verteilter Systeme"

Copied!
22
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Modellierung verteilter Systeme

Grundlagen der Programm und Systementwicklung

Sommersemester 2012

Prof. Dr. Dr. h.c. Manfred Broy

Unter Mitarbeit von Dr. M. Spichkova, J. Mund, P. Neubeck

Lehrstuhl Software & Systems Engineering

(2)

Nebenläufigkeit und Parallelität

Bisher: Sequentielle Systeme; Zustandsübergänge nacheinander

Jetzt: Verteilte Systeme; Zustandsübergänge zeitlich nebeneinander oder parallel

Modell: Komposition von Zustandsmaschine

gemeinsamer Zustandsraum durch Produkt/Summe

(3)

Produkt der Zustandsräume

Gegeben Zustandsmaschinen Z1 = (Σ1, α1) und Z2 = (Σ2, α2) Produkt der Zustandsräume:

Σ = Σ1 × Σ2 mit α = (α1, α2) und mit der Zustandsübergangsfunktion Δ: Σ (Σ)

Komposition durch Interleaving:

Δ(σ1, σ2) = {(τ1, τ2) Σ | (τ1 Δ1(σ1) τ2 = σ2) *** Fortschritt Z1 (τ2 Δ2(σ2) τ1 = σ1) } *** Fortschritt Z2 Die Zustandsmaschine führen jeweils nur einen Schritt aus.

(4)

Produkt der Zustandsräume

Gegeben Zustandsmaschinen Z1 = (Σ1, α1) und Z2 = (Σ2, α2) Produkt der Zustandsräume:

Σ = Σ1 × Σ2 mit α = (α1, α2) und der Zustandsübergangsfunktion Δ: Σ → ℘(Σ)

Komposition durch Interleaving mit Stuttering:

Δ(σ1, σ2) = {(τ1, τ2) Σ | (τ1 Δ11) ∧ τ2 = σ2) *** Fortschritt Z1 ∨ (τ2 Δ22) ∧ τ1 = σ1) *** Fortschritt Z2 ∨ (τ1 = σ1 ∧ τ2 = σ2 ) } *** kein Fortschritt Zustandsmaschine führen jeweils keinen oder nur einen Schritt aus.

(5)

Produkt der Zustandsräume

Gegeben Zustandsmaschinen Z1 = (Σ1, α1) und Z2 = (Σ2, α2) Produkt der Zustandsräume:

Σ = Σ1 × Σ2 mit α = (α1, α2) und der Zustandsübergangsfunktion Δ: Σ → ℘(Σ)

Komposition durch synchrone Nebenläufigkeit („und“-Parallelität) Δ(σ1, σ2) = {(τ1, τ2) Σ | τ1 Δ11) ∧ τ2 Δ22) }

Die Zustandsmaschine führen jeweils nur gemeinsam Schritte aus.

(6)

Produkt der Zustandsräume

Gegeben Zustandsmaschinen Z1 = (Σ1, α1) und Z2 = (Σ2, α2) Produkt der Zustandsräume:

Σ = Σ1 × Σ2 mit α = (α1, α2) und der Zustandsübergangsfunktion Δ: Σ → ℘(Σ)

Komposition durch Mischform von Interleaving und Synchron Δ(σ1, σ2) = {(τ1, τ2) Σ : (τ1 Δ11) ∧ τ2 = σ2) *** Fortschritt Z1

∨ (τ2 Δ22) ∧ τ1 = σ1) *** Fortschritt Z2

∨ (τ1 Δ11) ∧ τ2 Δ22)) } *** Fortschritt Z1 und Z2 Zustandsmaschine führen jeweils gemeinsam oder einzelnen Schritte aus.

(7)

Summe disjunkter Zustandsräume

Zustandsmaschine Z1 = (Σ1, α1) und Z2 = (Σ2, α2) Summe der Zustandsräume:

Σ = Σ1 ∪ Σ2 mit Anfangszustand α = α1 oder α = α2

und der Zustandsübergangsfunktion Δ: Σ → ℘(Σ) definiert ist durch Δ(σ) = Δ1(σ) Ξ1(σ) falls σ Σ1

Δ(σ) = Δ2(σ) Ξ2(σ) falls σ Σ2 Dabei sind

Ξ1: Σ1 → ℘(Σ2) und Ξ2: Σ2 → ℘(Σ1) die Übergänge zwischen den Maschinen

Zustandsmaschine ist stets entweder in Zustand von Z1 oder Z2

!

(8)

Beispiel: Fernsehgerätsteuerung

TV-System = Apparat und Fernbedienung

2 Zustandsmaschine nebenläufig zusammengesetzt

TV

Fernsteuerung Fernseher

(9)

Beispiel: Fernsehgerätsteuerung

 Unterzustände bzw. parallele Zustandsmaschine (Ton, Bild, Kanal)

 Interaktion: Fernseher - Fernbedienung

Ein

Ton

Aus

Bild

Kanal

ein

aus Fernseher

(10)

Beispiel: Fernsehgerätsteuerung

(11)

Beispiel: Fernsehgerätsteuerung

(12)

Beispiel: Fernsehgerätsteuerung

(13)

Beispiel: Fernsehgerätsteuerung: Fernbedienung

(14)

Beispiel: Fernsehgerätsteuerung

 TV-System = Apparat und Fernbedienung

2 Zustandsmaschine nebenläufig zusammengesetzt

 Ausblick:

Komposition von Zustandsmaschine mit überlappenden Zustandsräumen

(15)

Parallele Programme

mit gemeinsamen Variablen

Bisher: Verteilte Systeme; parallele Zustandsübergänge mit disjunkten ZR

Jetzt: Verteilte Systeme; parallele Zustandsübergänge mit gemeinsamen Attributen

(16)

Gemeinsame Variable

 Problem:

Konflikt bei synchronen Übergängen

Parallel ausgeführte Zustandsübergänge besetzen gemeinsame Attribute

 Gemeinsame Variable (shared variable)

Zustandsattribut

Zugriff durch unterschiedliche, parallel ablaufende Programme

Lesend und mindestens von einem schreibend

 Zweck:

Koordination, Synchronisation, Kommunikation

(17)

Komposition bei nicht-disjunkten ZR

Zustandsmaschinen: Z1 = (Σ1, α1) und Z2 = (Σ2, α2) mit Σ1 = {V1 → M} und Σ2 = {V2 → M}

Menge gemeinsamer Variablen V0 = V1 ∩ V2 nicht notwendigerweise leer.

Produkt der Zustandsräume: Σ = {V→ M} mit Δ = Δ1 || Δ2 (parallele Komp.) wobei V = V1 V2

Die Zustandsübergangsfunktion Δ: Σ → ℘(Σ) wird definiert als Interleaving:

Δ(σ) = {τ : (τ|V1 Δ1(σ|V1) ∧ τ|(V\V1) = σ (V\V1) ) *** Z1 mit Δ1 auf V1 ∨ (τ|V2 Δ2(σ|V2) ∧ τ|(V\V2) = σ (V\V2) ) } *** Z2 mit Δ2 auf V2 Beachte: synchrone Nebenläufigkeit nicht sinnvoll definierbar

(18)

Komposition bei nicht-disjunkten ZR

Menge erreichbarer Zustände hängt ab von:

Granularität der Transitionsschritte

Anzahl der Teilschritte

Zwischenzustände

 Wir erhalten neue Abläufe

Invarianten werden nicht notwendigerweise erhalten

Beispiel:

Granularität der Parallellen Komposition mit gemeinsamen Variablen

(19)

Beispiel: Granularität – erreichbare Zustände

M1: M2:

Zustand Alarm (n=1):

• für die Maschine M1||M2 erreichbar

• für die Maschinen M1 und M2 unerreichbar

(20)

Stabile Prädikate

Voraussetzung: durch Interleaving komponierte Zustandsmaschine

Stabilität: stabil für beide Zustandsmaschine --> stabil für komponierte Zustandsmaschine

Nachweis entsprechend modular

Achtung: gilt nicht für Invarianten

(21)

Beispiel: Stabile Prädikate

M1 führt zwei Schritte der Maschine M2 in einem Schritt durch

Invariante even(x):

• gilt für M1 gilt die,

• gilt nicht für M2 M1 sowie M2: kann kein Alarm ausgelöst werden.

(22)

Abschließende Bemerkungen:

Parallele Komposition von Zustandsmaschinen

Echte Parallelität:

Synchron: Beide Maschinen machen gleichzeitig einen Übergang

Asynchron: Beide Maschinen machen unabhängig Übergänge - manchmal gleichzeitig

Vorteile: Modelliert echte Parallelität

Nachteile: Gemeinsame Variable schwierig zu handhaben: Im asynchronen Fall Fairness erforderlich um sicherzustellen, dass jede Maschine immer wieder zum Zug kommt

Interleaving:

Übergänge werden verschränkt hintereinander ausgeführt

Vorteile: Gemeinsame Variable problemlos zu handhaben

Nachteile: Parallelität wird nicht explizit modelliert: Fairness erforderlich um

Referenzen

ÄHNLICHE DOKUMENTE

An dieser späten Stelle zeigt es sich, dass sich eine sorgfältige Planung des Modellsystems auszahlt: Die Wie- derverwendbarkeit bestehender Modellkomponenten wird im Wesentlichen

 asynchron: Nachricht wird gesendet (unabhängig von der Bereitschaft des Empfängers zum Empfangs): Senden und Empfangen sind.. eigenständige Aktionen; Senden ist unabhängig

 Äquivalenzbegriffe für Zustände (erweiterbar auf Mengen von Zuständen und Zustandsmaschinen) von Maschinen mit markierten Übergängen:.

Verfeinerung (engl. Refinement) adressiert die Beziehung zwischen Systemmodellen, wie sie im Verlauf einer Entwicklung mit immer mehr Details entstehen..  Formal ist

 In einem Zeitintervall können beliebig viele Nachrichten auf einem Kanal ausgetauscht werden.  Perfekte Synchronie (engl.

Jeder Kundenfunktion werden die logischen Komponenten zugeordnet, die an der. Erbringung der Kundenfunktion

(3) Wenn ein stabiles Pr¨ adikat in allen Startzust¨ anden gilt, gilt es auch f¨ ur alle erreichbaren Zust¨

ƒ Telekommunikationssysteme sind von den technischen Randbedingungen und somit auch von der technischen Architektur ähnlich zu eingebetteten Systemen (spezifische Hardware,