Transcript π-Kalkül

Architekturbeschreibungssprachen
Seminar: Architekturbeschreibungssprachen
1. Motivation
2. Begriffe / Namen
Thema: π-Kalkül
3. Notation
4. Semantik
- Weitere wichtige
Begriffe
5. Beispiel mit
DARWIN
Frank Poschner
π-Kalkül
Architekturbeschreibungssprachen
Übersicht
1. Motivation
1. Motivation
2. Begriffe / Namen
2. Begriffe / Namen
3. Notation
4. Semantik
- Weitere wichtige
Begriffe
5. Beispiel mit
DARWIN
π-Kalkül
3. Notation
4. Semantik
-
Weitere wichtige Begriffe
5. Beispiel mit DARWIN
Architekturbeschreibungssprachen
1. Motivation
2. Begriffe / Namen
3. Notation
4. Semantik
- Weitere wichtige
Begriffe
5. Beispiel mit
DARWIN
π-Kalkül
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
Architekturbeschreibungssprachen
1. Motivation
• Nutzbar für Beschreibung und Korrektheitsbeweis
von Architekturen verteilter Systeme
2. Begriffe / Namen
3. Notation
4. Semantik
- Weitere wichtige
Begriffe
5. Beispiel mit
DARWIN
π-Kalkül
- 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
Architekturbeschreibungssprachen
1. Motivation
2. Begriffe / Namen
3. Notation
4. Semantik
- Weitere wichtige
Begriffe / Namen
• „Process“ oder „Prozess“ ist abstrakter Name für
einen laufenden Thread
• „Channel“ abstrakt für
Kommunikationsverbindung
zwischen zwei Prozessen
Begriffe
5. Beispiel mit
DARWIN
π-Kalkül
• Prozesse interagieren, indem sie Nachrichten über
Kanäle senden und empfangen
Architekturbeschreibungssprachen
1. Motivation
2. Begriffe / Namen
• Keine Unterscheidung zwischen Link-Namen,
Variablen und Werten im PI-Kalkül
• Alle als „Namen“ bezeichnen
3. Notation
4. Semantik
- Weitere wichtige
Begriffe
5. Beispiel mit
DARWIN
π-Kalkül
• Namen sind primitivste Entität, weitere:
Agenten
• Bild einer Cocktailparty:
Nebenläufige Berechnung mit einzigem Ziel des
Austausches von Namen, die weitere
Kommunikation erlauben
Architekturbeschreibungssprachen
1. Motivation
2. Begriffe / Namen
3. Notation
4. Semantik
- Weitere wichtige
Begriffe
5. Beispiel mit
DARWIN
π-Kalkül
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‘
Architekturbeschreibungssprachen
1. Motivation
2. Begriffe / Namen
_
• 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
3. Notation
4. Semantik
- Weitere wichtige
Begriffe
5. Beispiel mit
DARWIN
π-Kalkül
- 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
Architekturbeschreibungssprachen
1. Motivation
2. Begriffe / Namen
3. Notation
4. Semantik
- Weitere wichtige
Begriffe
5. Beispiel mit
DARWIN
π-Kalkül
• 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
Architekturbeschreibungssprachen
1. Motivation
2. Begriffe / Namen
3. Notation
4. Semantik
- Weitere wichtige
Begriffe
5. Beispiel mit
DARWIN
π-Kalkül
_ _
_
• 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‘)
Architekturbeschreibungssprachen
• (v y)P: Restriktion, der Name y wird eingeführt
und an P gebunden, nur dort zu benutzen
1. Motivation
2. Begriffe / Namen
3. Notation
• fn(P) : freie Namen in P, die nicht durch ein
positives Präfix oder eine Restriction
gebunden sind
4. Semantik
- Weitere wichtige
Begriffe
5. Beispiel mit
DARWIN
(P|Q|R)
π-Kalkül
(v x)(P|Q|R)
Architekturbeschreibungssprachen
Semantik
• Eine Transition hat die Form:
1. Motivation
2. Begriffe / Namen
3. Notation
4. Semantik
- Weitere wichtige
- P wird zu Q und führt dabei die Aktion α
aus
• „silent action“:
Begriffe
5. Beispiel mit
DARWIN
-
π-Kalkül
P wird zu Q und benötigt dabei keine
Interaktion mit der Umgebung
Architekturbeschreibungssprachen
• „free output action“:
1. Motivation
2. Begriffe / Namen
3. Notation
4. Semantik
- Weitere wichtige
_
- P übermittelt freien Namen y am Port x
und wird anschließend zu Q
• „input action“:
Begriffe
5. Beispiel mit
DARWIN
π-Kalkül
P kann jeden Namen w am Port x empfangen
und anschließend zu Q{w/y} werden
( y ist Referenz, kein Wert)
Architekturbeschreibungssprachen
• Aktionsregeln ( „rules of action“ )
1. Motivation
2. Begriffe / Namen
3. Notation
4. Semantik
- Weitere wichtige
Begriffe
5. Beispiel mit
DARWIN
π-Kalkül
Architekturbeschreibungssprachen
• Aktionsregeln ( „rules of action“ )
1. Motivation
2. Begriffe / Namen
3. Notation
4. Semantik
- Weitere wichtige
Begriffe
5. Beispiel mit
DARWIN
π-Kalkül
Architekturbeschreibungssprachen
• Beispiel: „Link Passing“
1. Motivation
_
P ≡ yx.P‘
Q ≡ y(z).Q‘
2. Begriffe / Namen
3. Notation
4. Semantik
- Weitere wichtige
Begriffe
5. Beispiel mit
DARWIN
π-Kalkül
Komposition:mit Definitionen:
Substitution
_
P | Q | R ≡ yx.P‘ | y(z).Q‘ | R
R≡R
Architekturbeschreibungssprachen
1. Motivation
2. Begriffe / Namen
3. Notation
4. Semantik
- Weitere wichtige
Begriffe
5. Beispiel mit
DARWIN
π-Kalkül
• Link Passing
Architekturbeschreibungssprachen
Weitere wichtige Begriffe
• Begriff „Scope“
1. Motivation
2. Begriffe / Namen
- Übersetzung: Wirkungsbereich,
Gültigkeitsbereich
3. Notation
4. Semantik
- Weitere wichtige
Begriffe
5. Beispiel mit
DARWIN
• Hängt mit Restriktion und freien Namen zusammen
- Name nur dort „bekannt“ und zu benutzen,
wo er gebunden wurde
Notation: (v y)P
π-Kalkül
Architekturbeschreibungssprachen
1. Motivation
• Beispiel: Scope Extrusion
_
P ≡ yx.P‘
Q ≡ y(z).Q‘
R≡R
2. Begriffe / Namen
3. Notation
4. Semantik
- Weitere wichtige
Begriffe
5. Beispiel mit
DARWIN
π-Kalkül
_
τ
(v x) (yx.P‘ | R) | y(z).Q‘
(v x) (P‘ | R | Q‘{x/z})
Architekturbeschreibungssprachen
• Begriff „Replikation“
1. Motivation
2. Begriffe / Namen
3. Notation
4. Semantik
- Weitere wichtige
Begriffe
5. Beispiel mit
DARWIN
π-Kalkül
• 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
Architekturbeschreibungssprachen
Beispiel mit Darwin
• Drei Agenten
1. Motivation
p
r
2. Begriffe / Namen
3. Notation
PROV (p,s) = !(p(x).xs)
4. Semantik
- Weitere wichtige
Begriffe
5. Beispiel mit
DARWIN
BIND (r,p) = rp
π-Kalkül
REQ (r,l) = r(y).yl
Architekturbeschreibungssprachen
• REQ und BIND
1. Motivation
REQ(r,l) | BIND (r,p)
2. Begriffe / Namen
≡
r(y).yl | rp

pl
3. Notation
4. Semantik
- Weitere wichtige
Begriffe
5. Beispiel mit
DARWIN
π-Kalkül
• Zusammenführen mit PROV
pl | PROV(p, s)
≡
pl | p(x).xs | PROV(p, s)

ls | PROV(p, s)
Architekturbeschreibungssprachen
1. Motivation
2. Begriffe / Namen
3. Notation
4. Semantik
- Weitere wichtige
Begriffe
5. Beispiel mit
DARWIN
π-Kalkül
Vielen Dank für Eure Aufmerksamkeit!