¨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.
Parallele Komposition der Funktionen: Es gibt nun verschiedene Möglichkeiten die Komposition<br />
der beiden stromverarbeitenden Funktionen <strong>zu</strong> definieren. Da wir die Komposition in Teilaufgabe b schon<br />
anhand der Zustandsmaschinen vorgenommen haben und wir wissen dass die Abstraktion durch Komposition<br />
distribuiert, also Abs((∆1, Σ1) ‖ (∆2, Σ2)) = Abs(∆1, Σ1) ⊗ Abs(∆2, Σ2) gilt (siehe Foliensatz 7, Folie 27),<br />
könnten wir einfach eine Funktion für die Zustandsmaschine aus Abbildung 6 angeben, genau so wie wir das<br />
schon <strong>zu</strong>vor für Bargeldbe<strong>zu</strong>g und Kontoverwaltung gemacht haben.<br />
Wir werden im Folgenden jedoch eine alternative Definition anbieten. Wir werden die Komposition der<br />
beiden Funktionen als kleinsten Fixpunkt des folgenden Gleichungssystems definieren. Zunächst definieren wir<br />
aber die Ein-/Ausgabekanäle des <strong>zu</strong>sammengesetzten Systems: I = (I b ∪ I k ) \ (O b ∪ O k ) = {a, i1} ∪ {c, i2} \<br />
{b, i2} ∪ {d, i1} = {a, c} und O = (O b ∪ O k ) \ (I b ∪ I k ) = {b, i2} ∪ {d, i1} \ {a, i1} ∪ {c, i2} = {b, d}. Die<br />
Menge L = (I b ∪ I k ) ∩ (O b ∪ O k ) = ({a, i1} ∪ {c, i2}) ∩ ({b, i2} ∪ {d, i1}) = {i1, i2} sind dabei die Menge<br />
der internen Kanäle des Systems. Die Schnittstelle des <strong>zu</strong>sammengesetzten Systems ist somit durch (I ◮ O)<br />
gegeben. Wir definieren nun eine Funktion f bank : −→ I → −→ O wobei f bank = f b ⊗ f k als kleinster Fixpunkt des<br />
folgenden Gleichungssystems definiert ist. Im Folgenden bezeichnet z | C ′ die Restriktion der Belegung z auf<br />
die Teilmenge C ′ ⊆ C.<br />
• f bank (z) | O b = f b (z | I b )<br />
• f bank (z) | O k = f k (z | I k )<br />
Da f b und f k Präfix-monoton sind und die Menge der stromverarbeitenden Funktionen <strong>zu</strong>sammen mit der<br />
Präfix-ordnung eine ketten vollständige Ordnung bilden, kann man nun zeigen dass der kleinste Fixpunkt<br />
dieses Systems auch wirklich existiert und eindeutig ist (Satz von Kleene). Dadurch ist also die Funktion f bank<br />
wohldefiniert und wir können sie als Definition verwenden.<br />
Die Komposition sollte übrigens wiederum folgender Eigenschaft genügen:<br />
Vermutung. f bank (i) = o ⇔ ∃σ n ∈ Abläufe((∆ bank , Σ bank0 )).σ 0 ∈ Σ bank0 ∧ ∀n ∈ N.(σ n+1 , o(n + 1)) =<br />
∆(σ n , i(n + 1))<br />
Ohne Beweis.<br />
Teilaufgabe d)<br />
Für beide Eigenschaften definieren wir nun eine Hilfsfunktion<br />
fct sum = (s : Stream) N : returnFirstPar(first(s)) + sum(rest(s))<br />
sum(〈〉) = 0<br />
wobei returnFirstPar(String) den ersten Parameterwert eines Terms <strong>zu</strong>rück gibt. So kann die Eigenschaft (1)<br />
wie folgt spezifiziert werden:<br />
Selbiges für die Eigenschaft (2):<br />
sum({zahleEin( , id)} ⊗ x, id) ≥ sum({geld( , id)} ⊗ y, id) (7)<br />
sum({zahleEin( , id)} ⊗ x, id) ≤ sum({geld( , id)} ⊗ y, id) (8)<br />
M ⊗ x filtert aus dem Strom x alle Nachrichten heraus, die nicht in der Nachrichtenmenge M sind.<br />
TODO: Prüfung anhand von Abbildung 6.<br />
Aufgabe 2 Stromverarbeitende Funktionen<br />
• Syntaktische und semantische Korrektheit von Strömen<br />
Sei M = {⊥, 0, 1, 2, . . .}. Seien x, y ∈ M \ {⊥} Elemente aus einem Strom und seien s, t ∈ M ω<br />
Ströme über M mit der Trägermenge M ω = (M \ {⊥}) ∗ ∪ (M \ {⊥}) ∞ und s ≠ 〈 〉. Geben Sie für<br />
die folgenden Terme an, ob diese syntaktisch und ggf. semantisch korrekt, also wahr oder falsch,<br />
sind: