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.

Lösung der Aufgabe 2<br />

Syntaktische und semantische Korrektheit von Strömen<br />

Diskussion: Syntax vs. Semantik<br />

(a) first(〈1, 2, 3〉) = 1<br />

Richtig<br />

(b) rest(〈1, 2, ⊥, 3, 4〉) = rest(〈1, 2〉)<br />

Richtig, da 1&2& ⊥ &3&4 = 〈1, 2〉<br />

⊥ schneidet den Strom ab. Man sieht das, wenn man den Strom auf Normalform (1&2& . . .)<br />

bringt, dann kann man Axiome der Vorlesung anwenden.<br />

(c) sˆt = tˆs<br />

Syntaktisch richtig, aber semantisch falsch. Konkatenation ist nicht kommutativ.<br />

(d) first(sˆt) = first(s)<br />

Richtig, da s nicht leer ist.<br />

(e) (xˆs)ˆt = xˆ(sˆt)<br />

Syntaktisch falsch, da x eine Nachricht ist und ˆ ist daher nicht anwendbar.<br />

Richtig wären: (x & s)ˆt = x & (sˆt) und (〈x〉ˆs)ˆt = 〈x〉ˆ(sˆt)<br />

(f) first(rest(first(〈1, 2, 3〉))) = ⊥<br />

Syntaktisch falsch, da first eine Nachricht <strong>zu</strong>rück gibt. rest ist dafür nicht definiert. Zusätzliche<br />

Diskussion ob es überhaupt Fälle geben kann, in denen es sinnvoll ist ⊥ in Axiomen<br />

<strong>zu</strong> verwenden. Ja, z.B. in rest(〈〉) =⊥.<br />

(g) rest(rest(rest(x&(y&s)))) = rest(s)<br />

Richtig<br />

Stromverarbeitende Funktionen<br />

• Aufgabe a)<br />

fct merge : Stream Nat, Stream Nat → Stream Nat<br />

sorted(a) ∧ sorted(b) ∧ c = merge(a, b)<br />

=⇒ sorted(c)<br />

∧ ∀i, j : a i ≤ b j ⇒ ∃k : c k = a i<br />

∧ ∀i, j : a i ≥ b j ⇒ ∃k : c k = b j<br />

∧ ∀k : ∃i: c k = a i ∨ c k = b i<br />

sorted(〈 〉)<br />

sorted(〈x〉)<br />

sorted(x&y&s) ⇐⇒ (x ≤ y ∧ sorted(y&s))

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!