23
Architektur- Architektur- beschreibungs- beschreibungs- sprachen sprachen π-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- beschreibungs- sprachen π-Kalkül 1. Motivation 2. Begriffe / Namen 3. Notation 4. Semantik - Weitere wichtige Begriffe 5. Beispiel mit DARWIN

Embed Size (px)

Citation preview

Page 1: Architektur- beschreibungs- sprachen π-Kalkül 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

Seminar: Architekturbeschreibungssprachen

Thema: π-Kalkül

Frank Poschner

Page 2: Architektur- beschreibungs- sprachen π-Kalkül 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

Übersicht

1. Motivation

2. Begriffe / Namen

3. Notation

4. Semantik

- Weitere wichtige Begriffe

5. Beispiel mit DARWIN

Page 3: Architektur- beschreibungs- sprachen π-Kalkül 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

Page 4: Architektur- beschreibungs- sprachen π-Kalkül 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

• 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

Page 5: Architektur- beschreibungs- sprachen π-Kalkül 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

• „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

Page 6: Architektur- beschreibungs- sprachen π-Kalkül 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

• 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

Page 7: Architektur- beschreibungs- sprachen π-Kalkül 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

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‘

Page 8: Architektur- beschreibungs- sprachen π-Kalkül 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

_• 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

Page 9: Architektur- beschreibungs- sprachen π-Kalkül 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

• 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

Page 10: Architektur- beschreibungs- sprachen π-Kalkül 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

_ _ _ • 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‘)

Page 11: Architektur- beschreibungs- sprachen π-Kalkül 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

• (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)

Page 12: Architektur- beschreibungs- sprachen π-Kalkül 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

• 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

Page 13: Architektur- beschreibungs- sprachen π-Kalkül 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

• „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)

Page 14: Architektur- beschreibungs- sprachen π-Kalkül 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

• Aktionsregeln ( „rules of action“ )

Page 15: Architektur- beschreibungs- sprachen π-Kalkül 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

• Aktionsregeln ( „rules of action“ )

Page 16: Architektur- beschreibungs- sprachen π-Kalkül 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

• 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

Page 17: Architektur- beschreibungs- sprachen π-Kalkül 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

• Link Passing

Page 18: Architektur- beschreibungs- sprachen π-Kalkül 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

• 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

Page 19: Architektur- beschreibungs- sprachen π-Kalkül 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

• 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})

Page 20: Architektur- beschreibungs- sprachen π-Kalkül 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

• 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

Page 21: Architektur- beschreibungs- sprachen π-Kalkül 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

Beispiel mit Darwin

• Drei Agenten

p

PROV (p,s) = !(p(x).xs) REQ (r,l) = r(y).yl

r

BIND (r,p) = rp

Page 22: Architektur- beschreibungs- sprachen π-Kalkül 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

• 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)

Page 23: Architektur- beschreibungs- sprachen π-Kalkül 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

Vielen Dank für Eure Aufmerksamkeit!