Upload
parzifal-nefzger
View
105
Download
0
Embed Size (px)
Citation preview
Architektur-Architektur-beschreibungs- beschreibungs-
sprachensprachen
π-Kalkül
1. Motivation
2. Begriffe / Namen
3. Notation
4. Semantik - Weitere wichtige
Begriffe
5. Beispiel mit DARWIN
Seminar: Architekturbeschreibungssprachen
Thema: π-Kalkül
Frank Poschner
Architektur-Architektur-beschreibungs- beschreibungs-
sprachensprachen
π-Kalkül
1. Motivation
2. Begriffe / Namen
3. Notation
4. Semantik - Weitere wichtige
Begriffe
5. Beispiel mit DARWIN
Übersicht
1. Motivation
2. Begriffe / Namen
3. Notation
4. Semantik
- Weitere wichtige Begriffe
5. Beispiel mit DARWIN
Architektur-Architektur-beschreibungs- beschreibungs-
sprachensprachen
π-Kalkül
1. Motivation
2. Begriffe / Namen
3. Notation
4. Semantik - Weitere wichtige
Begriffe
5. Beispiel mit DARWIN
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
Architektur-Architektur-beschreibungs- beschreibungs-
sprachensprachen
π-Kalkül
1. Motivation
2. Begriffe / Namen
3. Notation
4. Semantik - Weitere wichtige
Begriffe
5. Beispiel mit DARWIN
• 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
Architektur-Architektur-beschreibungs- beschreibungs-
sprachensprachen
π-Kalkül
1. Motivation
2. Begriffe / Namen
3. Notation
4. Semantik - Weitere wichtige
Begriffe
5. Beispiel mit DARWIN
• „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
Begriffe / Namen
Architektur-Architektur-beschreibungs- beschreibungs-
sprachensprachen
π-Kalkül
1. Motivation
2. Begriffe / Namen
3. Notation
4. Semantik - Weitere wichtige
Begriffe
5. Beispiel mit DARWIN
• 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
Architektur-Architektur-beschreibungs- beschreibungs-
sprachensprachen
π-Kalkül
1. Motivation
2. Begriffe / Namen
3. Notation
4. Semantik - Weitere wichtige
Begriffe
5. Beispiel mit DARWIN
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‘
Architektur-Architektur-beschreibungs- beschreibungs-
sprachensprachen
π-Kalkül
1. Motivation
2. Begriffe / Namen
3. Notation
4. Semantik - Weitere wichtige
Begriffe
5. Beispiel mit DARWIN
_• 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
Architektur-Architektur-beschreibungs- beschreibungs-
sprachensprachen
π-Kalkül
1. Motivation
2. Begriffe / Namen
3. Notation
4. Semantik - Weitere wichtige
Begriffe
5. Beispiel mit DARWIN
• 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.0 Q empfängt Link und Wert, sendet Wert über den Link und terminiert
Architektur-Architektur-beschreibungs- beschreibungs-
sprachensprachen
π-Kalkül
1. Motivation
2. Begriffe / Namen
3. Notation
4. Semantik - Weitere wichtige
Begriffe
5. Beispiel mit DARWIN
_ _ _ • 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‘)
Architektur-Architektur-beschreibungs- beschreibungs-
sprachensprachen
π-Kalkül
1. Motivation
2. Begriffe / Namen
3. Notation
4. Semantik - Weitere wichtige
Begriffe
5. Beispiel mit DARWIN
• (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)
Architektur-Architektur-beschreibungs- beschreibungs-
sprachensprachen
π-Kalkül
1. Motivation
2. Begriffe / Namen
3. Notation
4. Semantik - Weitere wichtige
Begriffe
5. Beispiel mit DARWIN
• 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
Semantik
Architektur-Architektur-beschreibungs- beschreibungs-
sprachensprachen
π-Kalkül
1. Motivation
2. Begriffe / Namen
3. Notation
4. Semantik - Weitere wichtige
Begriffe
5. Beispiel mit DARWIN
• „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)
Architektur-Architektur-beschreibungs- beschreibungs-
sprachensprachen
π-Kalkül
1. Motivation
2. Begriffe / Namen
3. Notation
4. Semantik - Weitere wichtige
Begriffe
5. Beispiel mit DARWIN
• Aktionsregeln ( „rules of action“ )
Architektur-Architektur-beschreibungs- beschreibungs-
sprachensprachen
π-Kalkül
1. Motivation
2. Begriffe / Namen
3. Notation
4. Semantik - Weitere wichtige
Begriffe
5. Beispiel mit DARWIN
• Aktionsregeln ( „rules of action“ )
Architektur-Architektur-beschreibungs- beschreibungs-
sprachensprachen
π-Kalkül
1. Motivation
2. Begriffe / Namen
3. Notation
4. Semantik - Weitere wichtige
Begriffe
5. Beispiel mit DARWIN
• Beispiel: „Link Passing“
_P ≡ yx.P‘ Q ≡ y(z).Q‘ R ≡ R
Komposition:
P | Q | R
Substitution mit Definitionen: _P | Q | R ≡ yx.P‘ | y(z).Q‘ | R
Architektur-Architektur-beschreibungs- beschreibungs-
sprachensprachen
π-Kalkül
1. Motivation
2. Begriffe / Namen
3. Notation
4. Semantik - Weitere wichtige
Begriffe
5. Beispiel mit DARWIN
• Link Passing
Architektur-Architektur-beschreibungs- beschreibungs-
sprachensprachen
π-Kalkül
1. Motivation
2. Begriffe / Namen
3. Notation
4. Semantik - Weitere wichtige
Begriffe
5. Beispiel mit DARWIN
• Begriff „Scope“
- Übersetzung: Wirkungsbereich, Gültigkeitsbereich
Weitere wichtige Begriffe
• Hängt mit Restriktion und freien Namen zusammen
- Name nur dort „bekannt“ und zu benutzen, wo er gebunden wurde
Notation: (v y)P
Architektur-Architektur-beschreibungs- beschreibungs-
sprachensprachen
π-Kalkül
1. Motivation
2. Begriffe / Namen
3. Notation
4. Semantik - Weitere wichtige
Begriffe
5. Beispiel mit DARWIN
• 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})
Architektur-Architektur-beschreibungs- beschreibungs-
sprachensprachen
π-Kalkül
1. Motivation
2. Begriffe / Namen
3. Notation
4. Semantik - Weitere wichtige
Begriffe
5. Beispiel mit DARWIN
• 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
Architektur-Architektur-beschreibungs- beschreibungs-
sprachensprachen
π-Kalkül
1. Motivation
2. Begriffe / Namen
3. Notation
4. Semantik - Weitere wichtige
Begriffe
5. Beispiel mit DARWIN
Beispiel mit Darwin
• Drei Agenten
p
PROV (p,s) = !(p(x).xs) REQ (r,l) = r(y).yl
r
BIND (r,p) = rp
Architektur-Architektur-beschreibungs- beschreibungs-
sprachensprachen
π-Kalkül
1. Motivation
2. Begriffe / Namen
3. Notation
4. Semantik - Weitere wichtige
Begriffe
5. Beispiel mit DARWIN
• 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)
Architektur-Architektur-beschreibungs- beschreibungs-
sprachensprachen
π-Kalkül
1. Motivation
2. Begriffe / Namen
3. Notation
4. Semantik - Weitere wichtige
Begriffe
5. Beispiel mit DARWIN
Vielen Dank für Eure Aufmerksamkeit!