¨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.
(a) Entwerfen Sie je eine knapp gehaltene Moore-Maschine für die Teilsysteme Bargeldbe<strong>zu</strong>g (Auszahlung)<br />
und Kontoverwaltung (Einzahlung, Auszahlungsprüfung).<br />
(b) Führen Sie nun die zeitasynchrone, nachrichtensynchrone Komposition Bargeldbe<strong>zu</strong>g ‖ Kontoverwaltung<br />
durch und erstellen Sie eine Schnittstellenabstraktion der Ergebnismaschine.<br />
(c) Stellen Sie die beiden Zustandsmaschinen aus (a) als konstruktive Spezifikation von Stromfunktionen<br />
dar und leiten das Ergebnis der Komposition der beiden Stromfunktionen f 1 ⊗ f 2 her.<br />
(d) Die Ergebnisse aus (b) und (c) stellen das System Bank dar. Prüfen Sie nun anhand Ihrer Kompositionsergebnisse,<br />
ob die Eigenschaften (1) und (2) vom System Bank erfüllt werden.<br />
Lösung der Aufgabe 1<br />
Teilaufgabe a) Die Abbildungen 2 und 3 zeigen zwei Vorschläge für die gefragten Moore-Maschinen. Für<br />
die Teilaufgabe c) sei mit diesen Zustandsübergangsdiagrammen auch die beiden Strukturen (∆ b , Σ b0 ) für den<br />
Bargeldbe<strong>zu</strong>g und (∆ k , Σ k0 ) für die Kontoverwaltung gegeben.<br />
aabbruch;<br />
i1check(false,x,id)<br />
Bereit<br />
ahebeAb(x,id)<br />
Fernprüfung<br />
i2!prüfe(x,id)<br />
-<br />
Abhebung<br />
b!geld(x,id)<br />
i1check(true,x,id)<br />
Abbildung 2: Moore-Maschine für Bargeldbe<strong>zu</strong>g<br />
{s[1..n]:=0}<br />
Bereit<br />
czahleEin(x,id)<br />
{s[id]:=s[id]+x}<br />
Einzahlung<br />
d!ok<br />
c<strong>zu</strong>rück<br />
i2prüfe(x,id)<br />
- {if (s[id]>=x AND customerOk(id))<br />
then s[id]:=s[id]-x}<br />
Prüfung<br />
i1!check(s[id]>=x AND customerOk(id),x,id)<br />
i2prüfe(x,id)<br />
Abbildung 3: Moore-Maschine für Kontoverwaltung