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.

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:

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!