Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Seminar: Architekturbeschreibungssprachen

Ähnliche Präsentationen


Präsentation zum Thema: "Seminar: Architekturbeschreibungssprachen"—  Präsentation transkript:

1 Seminar: Architekturbeschreibungssprachen
Thema: π-Kalkül Frank Poschner

2 Übersicht Motivation Begriffe / Namen Notation Semantik
Weitere wichtige Begriffe 5. Beispiel mit DARWIN

3 Motivation π – Kalkül ist ein Berechnungsmodell für
nebenläufige Systeme Robin Milner, University of Edinburgh, Schottland, Juni 1989 Darstellung von Prozessen mit wechselnden Strukturen beliebige Verlinkung von Komponenten darstellbar Links zwischen Prozessen können wechseln neue Links können entstehen

4 Nutzbar für Beschreibung und Korrektheitsbeweis
von Architekturen verteilter Systeme ADL Darwin (deklarativ) Erweiterung bestehender mathematischer Modelle für Nebenläufigkeit mit Augenmerk auf Mobilität „Calculus of Communicating Systems“ (CCS, ebenfalls Milner) Nutzung der CCS – Notation, soweit möglich

5 Begriffe / Namen „Process“ oder „Prozess“ ist abstrakter Name für
einen laufenden Thread „Channel“ abstrakt für Kommunikationsverbindung zwischen zwei Prozessen Prozesse interagieren, indem sie Nachrichten über Kanäle senden und empfangen

6 Keine Unterscheidung zwischen Link-Namen,
Variablen und Werten im PI-Kalkül Alle als „Namen“ bezeichnen Namen sind primitivste Entität, weitere: Agenten Bild einer Cocktailparty: Nebenläufige Berechnung mit einzigem Ziel des Austausches von Namen, die weitere Kommunikation erlauben

7 Notation Hinführung zur Basisnotation und Benutzung des
Kalküls anhand von einigen Beispielen: Agent P will den Wert 5 an R über Link a senden R ist bereit, jeglichen Wert über a zu empfangen _ P ≡ a5.P‘ R ≡ a(x).R‘

8 _ System: (a5.P‘ | a(x).R‘) Präfix-Formen: _ yx.P : negatives Präfix, Ausgabe Name x an Port y und Ausführung von Prozess P y(x).P : positives Präfix, Name y ist Input-Port eines Agenten, ein Name z wird an y gebunden, daraus resultiert P{z/x} P1 | P2 : Komposition, P1 und P2 werden gleichzeitig ausgeführt

9 P möchte das Senden von 5 an R übertragen an
den neuen Agenten Q Notwendig: P mit Q verbunden _ _ P ≡ ba.b5.P‘ P sendet a und 5 über b _ Q ≡ b(y).b(z).yz Q empfängt Link und Wert, sendet Wert über den Link und terminiert

10 _ _ _ System: (ba.b5.P‘ | b(y).b(z).yz.0 | a(x).R‘) Nach einer Nachricht über b: _ _ (b5.P‘ | b(z).az.0 | a(x).R‘) Nach zweiter Nachricht über b: _ (P‘ | a5.0 |a(x).R‘)

11 (v y)P: Restriktion, der Name y wird eingeführt
und an P gebunden, nur dort zu benutzen fn(P) : freie Namen in P, die nicht durch ein positives Präfix oder eine Restriction gebunden sind (P|Q|R) (v x)(P|Q|R)

12 Semantik Eine Transition hat die Form:
P wird zu Q und führt dabei die Aktion α aus „silent action“: P wird zu Q und benötigt dabei keine Interaktion mit der Umgebung

13 P übermittelt freien Namen y am Port x und wird anschließend zu Q
„free output action“: _ P übermittelt freien Namen y am Port x und wird anschließend zu Q „input action“: P kann jeden Namen w am Port x empfangen und anschließend zu Q{w/y} werden ( y ist Referenz, kein Wert)

14 Aktionsregeln ( „rules of action“ )

15 Aktionsregeln ( „rules of action“ )

16 Beispiel: „Link Passing“
_ P ≡ yx.P‘ Q ≡ y(z).Q‘ R ≡ R Substitution mit Definitionen: _ P | Q | R ≡ yx.P‘ | y(z).Q‘ | R Komposition: P | Q | R

17 Link Passing

18 Weitere wichtige Begriffe
Begriff „Scope“ Übersetzung: Wirkungsbereich, Gültigkeitsbereich Hängt mit Restriktion und freien Namen zusammen Name nur dort „bekannt“ und zu benutzen, wo er gebunden wurde Notation: (v y)P

19 Beispiel: Scope Extrusion
_ P ≡ yx.P‘ Q ≡ y(z).Q‘ R ≡ R _ τ (v x) (yx.P‘ | R) | y(z).Q‘ (v x) (P‘ | R | Q‘{x/z})

20 Begriff „Replikation“
Eine beliebige Anzahl von Kopien kann zur Verfügung gestellt werden Gleichung in π – Notation: !P ≡ P | !P ersetzt Rekursion als eigenständige Methode entsprechende Aktionsregel: α P P‘ REP : α !P P‘ | !P

21 Beispiel mit Darwin p r Drei Agenten
PROV (p,s) = !(p(x).xs) REQ (r,l) = r(y).yl BIND (r,p) = rp

22 REQ und BIND REQ(r,l) | BIND (r,p) ≡ r(y).yl | rp  pl Zusammenführen mit PROV pl | PROV(p, s) ≡ pl | p(x).xs | PROV(p, s)  ls | PROV(p, s)

23 Vielen Dank für Eure Aufmerksamkeit!


Herunterladen ppt "Seminar: Architekturbeschreibungssprachen"

Ähnliche Präsentationen


Google-Anzeigen