¨Ubungen zu â Modellierung verteilter Systemeâ
¨Ubungen zu â Modellierung verteilter Systemeâ
¨Ubungen zu â Modellierung verteilter Systemeâ
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
Bank z.B. ungünstig kommende “aabbruch” Nachrichten. Entsprechende Transitionen und Zustände sind<br />
entfernt worden. Dies betrifft auch Zusammenhangskomponenten im ZÜD, die (von “Bereit/Bereit” aus) nicht<br />
mehr erreichbar sind. Man beachte, dass uns diese Transformation eine Verklemmungssituation herbeiführt.<br />
Die nötige <strong>zu</strong>sätzliche “i2prüfe”-Transition und deren Konsequenzen im Zustand “Prüfung” betrachten wir im<br />
Rahmen der Aufgabe nicht mehr. Schon hier könnte man bei allen nachrichtensynchronen Übergängen der beiden<br />
Maschinen die Kontroll<strong>zu</strong>stände (hier “Fernprüfung/Bereit” und “Fernprüfung/Einzahlung”) eliminieren, dies<br />
erfolgt aber erst im nächsten Schritt.<br />
Fernprüfung<br />
Prüfung<br />
{s[1..n] :=0}<br />
Bereit<br />
Einzahlung<br />
ahebeAb(x,id)<br />
i2!prüfe(x,id)<br />
Bereit<br />
Prüfung<br />
UP<br />
Bereit<br />
Bereit<br />
c<strong>zu</strong>rück<br />
c<strong>zu</strong>rück<br />
Bereit<br />
Einzahlung<br />
QT<br />
Fernprüfung<br />
Bereit<br />
i2!prüfe(x,id)<br />
i2prüfe(x,id)<br />
ahebeAb(x,id)<br />
-<br />
ZE<br />
d!ok<br />
ahebeAb(x,id)<br />
ahebeAb(x,id)<br />
-<br />
-<br />
Fernprüfung<br />
Prüfung<br />
i2prüfe(x,id)<br />
Fernprüfung<br />
Einzahlung<br />
VR<br />
i2!prüfe(x,id)<br />
OK<br />
Abhebung<br />
Bereit<br />
ZE<br />
Abhebung<br />
Einzahlung<br />
Abhebung<br />
Prüfung<br />
UP<br />
d!ok<br />
b!geld(x,id)<br />
c<strong>zu</strong>rück<br />
Bargeldbe<strong>zu</strong>g<br />
Kontoverwaltung<br />
Potentielle Verklemmung<br />
Abbildung 5: Nachrichtensynchrone Reduktion der Moore-Maschine für Bank.<br />
Abbildung 6 zeigt im dritten Schritt die Schnittstellenabstraktion der Moore-Maschine für Bank. Alle Kommunikation<br />
über i1 und i2 sowie interne Zuweisungen/Referenzen auf s werden eliminiert (leere Transitionen<br />
werden eliminiert; Zustände, welche keine nutzersichtbaren Ausgaben produzieren bzw. keine Nutzereingaben<br />
entgegen nehmen wurden verschmolzen: Unsichtbare Transitionen bzw. Leerschritte (nicht die mit der leeren<br />
Nachricht “–”) werden <strong>zu</strong> Schleifen (bei Hin- und Rücktransitionen) oder verschwinden (bei Transitionen in<br />
eine Richtung). Man beachte die nichtdeterministische Ausgabe “−; y!geld(x, id)” (der Strichpunkt ; vereinigt<br />
hier zwei Transitionen oder Ausgaben zwecks kompakterer Notation) im grünen Zustand sowie den nichtdeterministischen<br />
Übergang mit “−” von dort aus. Damit erhalten wir eine Spezifikation, die nach wie vor eine<br />
Verklemmung aber <strong>zu</strong>sätzlich noch mehr Verhalten <strong>zu</strong>lässt als die ursprüngliche Komposition. Teilaufgabe d)<br />
zeigt auf Basis von Strömen, wie eine solche Spezifikation wieder sinnvoll eingeschränkt werden kann, in dem<br />
<strong>zu</strong>sätzlich geforderte Verhaltenseigenschaften potentielle Spezifikationsänderungen nach sich ziehen. Alternativ<br />
<strong>zu</strong>r Teilaufgabe c) ist mit diesem Zustandsübergangsdiagramm auch die Struktur (∆ bank , Σ bank0 ) für die Bank<br />
gegeben.