21.01.2015 Aufrufe

¨Ubungen zu ” Modellierung verteilter Systeme“

¨Ubungen zu ” Modellierung verteilter Systeme“

¨Ubungen zu ” Modellierung verteilter Systeme“

MEHR ANZEIGEN
WENIGER ANZEIGEN

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.

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!