Typen und Objekte im Pi-Kalkül - Universität des …...TYPEN UND OBJEKTE IM PI-KALKÜL...

75
TYPEN UND OBJEKTE IM PI-KALKÜL π TYPEN UND OBJEKTE im Pi-Kalkül verfasst von Eyad Alkassar Seminar zum pi-Kalkül betreut von Andreas Rossberg π

Transcript of Typen und Objekte im Pi-Kalkül - Universität des …...TYPEN UND OBJEKTE IM PI-KALKÜL...

Page 1: Typen und Objekte im Pi-Kalkül - Universität des …...TYPEN UND OBJEKTE IM PI-KALKÜL ANWENDUNGSBSP KLASSE A KLASSE B Objekt 1 Objekt 2 Objekt 3 Methoden des Objekts Variablen des

TYPEN UND OBJEKTE IM PI-KALKÜLπ

TYPEN UND OBJEKTEim P i-Kalkül

verfasst von Eyad Alkassar

Seminar zum pi-Kalkül betreut von Andreas Rossberg

π

Evaluation notes were added to the output document. To get rid of these notes, please order your copy of ePrint IV now.

Page 2: Typen und Objekte im Pi-Kalkül - Universität des …...TYPEN UND OBJEKTE IM PI-KALKÜL ANWENDUNGSBSP KLASSE A KLASSE B Objekt 1 Objekt 2 Objekt 3 Methoden des Objekts Variablen des

TYPEN UND OBJEKTE IM PI-KALKÜLπINHALT

1. Warum Typen?

2. Einführung von einfachen Typen

3. Erweiterungen

4. Anwendung: Objekte

5. Zusammenfassung & Ausblick

Evaluation notes were added to the output document. To get rid of these notes, please order your copy of ePrint IV now.

Page 3: Typen und Objekte im Pi-Kalkül - Universität des …...TYPEN UND OBJEKTE IM PI-KALKÜL ANWENDUNGSBSP KLASSE A KLASSE B Objekt 1 Objekt 2 Objekt 3 Methoden des Objekts Variablen des

TYPEN UND OBJEKTE IM PI-KALKÜLπWARUM TYPEN?

Vermeidung von Laufzeitfehlern

Motivation

besseres Verständnis von Verhalten von Programmen

Dokumentation von Quellcode

Optimierung von Compilern

Evaluation notes were added to the output document. To get rid of these notes, please order your copy of ePrint IV now.

Page 4: Typen und Objekte im Pi-Kalkül - Universität des …...TYPEN UND OBJEKTE IM PI-KALKÜL ANWENDUNGSBSP KLASSE A KLASSE B Objekt 1 Objekt 2 Objekt 3 Methoden des Objekts Variablen des

TYPEN UND OBJEKTE IM PI-KALKÜLπWARUM TYPEN?

Vermeidung von Laufzeitfehlern

Motivation

besseres Verständnis von Verhalten von Programmen

Dokumentation von Quellcode

Optimierung von Compilern

Evaluation notes were added to the output document. To get rid of these notes, please order your copy of ePrint IV now.

Page 5: Typen und Objekte im Pi-Kalkül - Universität des …...TYPEN UND OBJEKTE IM PI-KALKÜL ANWENDUNGSBSP KLASSE A KLASSE B Objekt 1 Objekt 2 Objekt 3 Methoden des Objekts Variablen des

TYPEN UND OBJEKTE IM PI-KALKÜLπWARUM TYPEN?

Beispiele

Vermeidung von Laufzeitfehler

• Was sind Laufzeitfehler im pi-Kalkül?

• Beispiel im polyadischen Kalkül

• Bisher haben wir noch keine Übergängegesehen, daher betrachten Reaktionen

. 'x abc P . 'x yz Q

Evaluation notes were added to the output document. To get rid of these notes, please order your copy of ePrint IV now.

Page 6: Typen und Objekte im Pi-Kalkül - Universität des …...TYPEN UND OBJEKTE IM PI-KALKÜL ANWENDUNGSBSP KLASSE A KLASSE B Objekt 1 Objekt 2 Objekt 3 Methoden des Objekts Variablen des

TYPEN UND OBJEKTE IM PI-KALKÜLπWARUM TYPEN?

Beispiele

Vermeidung von Laufzeitfehler

• Was sind Laufzeitfehler im pi-Kalkül?

• Beispiel im polyadischen Kalkül

• Bisher haben wir noch keine Übergängegesehen, daher betrachten Reaktionen

. 'x abc P . 'x yz Q Fehler

Evaluation notes were added to the output document. To get rid of these notes, please order your copy of ePrint IV now.

Page 7: Typen und Objekte im Pi-Kalkül - Universität des …...TYPEN UND OBJEKTE IM PI-KALKÜL ANWENDUNGSBSP KLASSE A KLASSE B Objekt 1 Objekt 2 Objekt 3 Methoden des Objekts Variablen des

TYPEN UND OBJEKTE IM PI-KALKÜLπWARUM TYPEN?

Beispiele

Vermeidung von Laufzeitfehler

• Was sind Laufzeitfehler im pi-Kalkül?

:

( . ' ... ) | ( . '... )EHLER

y xF

x y P N x fehlz eQ rM

• Fügen Fehlerregel zu Reaktionsregeln hinzu:

: |

: x

:

AR EHLER

IND EHLER

UM EHLER

fehler fehler

feh

P F P

B F n ler fehler

fehler fehle

ew

S M rF

Evaluation notes were added to the output document. To get rid of these notes, please order your copy of ePrint IV now.

Page 8: Typen und Objekte im Pi-Kalkül - Universität des …...TYPEN UND OBJEKTE IM PI-KALKÜL ANWENDUNGSBSP KLASSE A KLASSE B Objekt 1 Objekt 2 Objekt 3 Methoden des Objekts Variablen des

TYPEN UND OBJEKTE IM PI-KALKÜLπWARUM TYPEN?

Beispiele

Wir formulieren diese Eigenschaft ein wenig anders:

Eigenschaft PROGRESS: Wohlgetypte Terme despi-Kalküls können in einem Schritt nicht zu fehlerreagieren

Was bedeutet wohlgetypt?

Evaluation notes were added to the output document. To get rid of these notes, please order your copy of ePrint IV now.

Page 9: Typen und Objekte im Pi-Kalkül - Universität des …...TYPEN UND OBJEKTE IM PI-KALKÜL ANWENDUNGSBSP KLASSE A KLASSE B Objekt 1 Objekt 2 Objekt 3 Methoden des Objekts Variablen des

TYPEN UND OBJEKTE IM PI-KALKÜLπWARUM TYPEN?

Beispiele

Besseres Verständnis von Programmverhalten

• Wohlgetypt als Eigenschaft von einem Ausdruck, der während der Ausführung erhalten bleibt

• Und Einschränkung der möglichen Reaktionen

Evaluation notes were added to the output document. To get rid of these notes, please order your copy of ePrint IV now.

Page 10: Typen und Objekte im Pi-Kalkül - Universität des …...TYPEN UND OBJEKTE IM PI-KALKÜL ANWENDUNGSBSP KLASSE A KLASSE B Objekt 1 Objekt 2 Objekt 3 Methoden des Objekts Variablen des

TYPEN UND OBJEKTE IM PI-KALKÜLπWARUM TYPEN?

Beispiele

Kontrollieren das Verhalten von Prozessen:

• Für ein einfaches Systems S und folgenden Eigenschaften

1. Es verwaltet x 2. Es ist x-vergesslich3. Für jeden Subterm der Form z(y).Q ist Q y-vergesslich

• gilt: wenn S S‘, dann hat S‘ Eigenschaften 1-3

Evaluation notes were added to the output document. To get rid of these notes, please order your copy of ePrint IV now.

Page 11: Typen und Objekte im Pi-Kalkül - Universität des …...TYPEN UND OBJEKTE IM PI-KALKÜL ANWENDUNGSBSP KLASSE A KLASSE B Objekt 1 Objekt 2 Objekt 3 Methoden des Objekts Variablen des

TYPEN UND OBJEKTE IM PI-KALKÜLπWARUM TYPEN?

Beispiele

Wir formulieren die Eigenschaft anders:

Eigenschaft PRESERVATION: Wohlgetypt ist stabilunter Reaktion (und struktureller Kongruenz).

Was bedeutet wohlgetypt?

Eigenschaft PROGRESS: Wohlgetypte Terme despi-Kalküls können in einem Schritt nicht zu fehlerreagieren

Eigenschaft SOUNDNESS: Wohlgetypte Terme despi-Kalküls reagieren nie zu fehler.

+

=

[ Wright, Andrew K. und Matthias Felleisen 1994 ]

Evaluation notes were added to the output document. To get rid of these notes, please order your copy of ePrint IV now.

Page 12: Typen und Objekte im Pi-Kalkül - Universität des …...TYPEN UND OBJEKTE IM PI-KALKÜL ANWENDUNGSBSP KLASSE A KLASSE B Objekt 1 Objekt 2 Objekt 3 Methoden des Objekts Variablen des

TYPEN UND OBJEKTE IM PI-KALKÜLπEINFÜHRUNG VON TYPEN

Erste Version

Namen können als Daten ausgetauscht werden

• Kategorisierung dieser Namen in Typen

2

1

1 1

2

2: :: :

,

Menge aller Typen sei

x u y v

• Namensvektoren werden Typvektoren zugewiesen:

: , :i

i i ix wenn x x

Evaluation notes were added to the output document. To get rid of these notes, please order your copy of ePrint IV now.

Page 13: Typen und Objekte im Pi-Kalkül - Universität des …...TYPEN UND OBJEKTE IM PI-KALKÜL ANWENDUNGSBSP KLASSE A KLASSE B Objekt 1 Objekt 2 Objekt 3 Methoden des Objekts Variablen des

TYPEN UND OBJEKTE IM PI-KALKÜLπ

Erste Version

Namen auch Kanäle für andere Namen

• Namen welchen Typs darf ein Name eines bestimmten Typs übermitteln?

1 (: | ...)new x x uv

EINFÜHRUNG VON TYPEN

Evaluation notes were added to the output document. To get rid of these notes, please order your copy of ePrint IV now.

Page 14: Typen und Objekte im Pi-Kalkül - Universität des …...TYPEN UND OBJEKTE IM PI-KALKÜL ANWENDUNGSBSP KLASSE A KLASSE B Objekt 1 Objekt 2 Objekt 3 Methoden des Objekts Variablen des

TYPEN UND OBJEKTE IM PI-KALKÜLπ

Erste Version

Definition von Typdisziplin

Definition wohlgetypt

EINFÜHRUNG VON TYPEN

Evaluation notes were added to the output document. To get rid of these notes, please order your copy of ePrint IV now.

Page 15: Typen und Objekte im Pi-Kalkül - Universität des …...TYPEN UND OBJEKTE IM PI-KALKÜL ANWENDUNGSBSP KLASSE A KLASSE B Objekt 1 Objekt 2 Objekt 3 Methoden des Objekts Variablen des

TYPEN UND OBJEKTE IM PI-KALKÜLπ

Erste Version

Definition von Typdisziplin

Definition wohlgetypt

part *

Eine Typdisziplin zu einer Typmenge

ist eine Funktion ob :

EINFÜHRUNG VON TYPEN

Evaluation notes were added to the output document. To get rid of these notes, please order your copy of ePrint IV now.

Page 16: Typen und Objekte im Pi-Kalkül - Universität des …...TYPEN UND OBJEKTE IM PI-KALKÜL ANWENDUNGSBSP KLASSE A KLASSE B Objekt 1 Objekt 2 Objekt 3 Methoden des Objekts Variablen des

TYPEN UND OBJEKTE IM PI-KALKÜLπ

Erste Version

Definition von Typdisziplin

Definition wohlgetypt

part *

Eine Typdisziplin zu einer Typmenge

ist eine Funktion ob :

Ein Prozess heißt ,

wenn für alle x y . P oder x y . P gilt :

wen

wohlgetypt u

n x : dann

n

ter

y : ob( )

ob

EINFÜHRUNG VON TYPEN

Evaluation notes were added to the output document. To get rid of these notes, please order your copy of ePrint IV now.

Page 17: Typen und Objekte im Pi-Kalkül - Universität des …...TYPEN UND OBJEKTE IM PI-KALKÜL ANWENDUNGSBSP KLASSE A KLASSE B Objekt 1 Objekt 2 Objekt 3 Methoden des Objekts Variablen des

TYPEN UND OBJEKTE IM PI-KALKÜLπ

Erste Version

Definition von Typdisziplin

part *

Eine Typdisziplin zu einer Typmenge

ist eine Funktion ob :

Definition wohlgetypt

EINFÜHRUNG VON TYPEN

Ein Prozess heißt ,

wenn für alle x y . P oder x y . P gilt :

wohlgetypt unter ob

wenn x : dann y : ob( )

Evaluation notes were added to the output document. To get rid of these notes, please order your copy of ePrint IV now.

Page 18: Typen und Objekte im Pi-Kalkül - Universität des …...TYPEN UND OBJEKTE IM PI-KALKÜL ANWENDUNGSBSP KLASSE A KLASSE B Objekt 1 Objekt 2 Objekt 3 Methoden des Objekts Variablen des

TYPEN UND OBJEKTE IM PI-KALKÜLπ

BEISPIEL FÜR DEFINITIONEN

Beispiel: Typen von Bools

True b b(tf). t

False(b) b(tf).f

EINFÜHRUNG VON TYPEN

Evaluation notes were added to the output document. To get rid of these notes, please order your copy of ePrint IV now.

Page 19: Typen und Objekte im Pi-Kalkül - Universität des …...TYPEN UND OBJEKTE IM PI-KALKÜL ANWENDUNGSBSP KLASSE A KLASSE B Objekt 1 Objekt 2 Objekt 3 Methoden des Objekts Variablen des

TYPEN UND OBJEKTE IM PI-KALKÜLπ

BEISPIEL FÜR DEFINITIONEN

Beispiel: Typen von Bools

True b b(tf). t

False(b) b(tf).f

OOL

RUE

: ALSE

b: B

t: T

f F

Typen und ihre Disziplin

EINFÜHRUNG VON TYPEN

Evaluation notes were added to the output document. To get rid of these notes, please order your copy of ePrint IV now.

Page 20: Typen und Objekte im Pi-Kalkül - Universität des …...TYPEN UND OBJEKTE IM PI-KALKÜL ANWENDUNGSBSP KLASSE A KLASSE B Objekt 1 Objekt 2 Objekt 3 Methoden des Objekts Variablen des

TYPEN UND OBJEKTE IM PI-KALKÜLπ

BEISPIEL FÜR DEFINITIONEN

Beispiel: Typen von Bools

True b b(tf). t

False(b) b(tf).f

OOL RUE, ALSE

RUE ε

ALSE ε

B T F

T

F

OOL

RUE

: ALSE

b: B

t: T

f F

Typen und ihre Disziplin

EINFÜHRUNG VON TYPEN

Evaluation notes were added to the output document. To get rid of these notes, please order your copy of ePrint IV now.

Page 21: Typen und Objekte im Pi-Kalkül - Universität des …...TYPEN UND OBJEKTE IM PI-KALKÜL ANWENDUNGSBSP KLASSE A KLASSE B Objekt 1 Objekt 2 Objekt 3 Methoden des Objekts Variablen des

TYPEN UND OBJEKTE IM PI-KALKÜLπ

Beispiel: Mautsystem

Erinnerung

Beispiel für Definitionen

EINFÜHRUNG VON TYPEN

Evaluation notes were added to the output document. To get rid of these notes, please order your copy of ePrint IV now.

Page 22: Typen und Objekte im Pi-Kalkül - Universität des …...TYPEN UND OBJEKTE IM PI-KALKÜL ANWENDUNGSBSP KLASSE A KLASSE B Objekt 1 Objekt 2 Objekt 3 Methoden des Objekts Variablen des

TYPEN UND OBJEKTE IM PI-KALKÜLπ

Beispiel: Mautsystem

Beispiel für Definitionen

1 1

11 1

Truck( , ) .Truck talk, switch + (t, s).Truck t, s

Trans (talk, switch) talk .Trans talk, switch +

talk switch talk switch

lose (t,s).switch t,s . (t,s).Trans ,gain t s

EINFÜHRUNG VON TYPEN

Evaluation notes were added to the output document. To get rid of these notes, please order your copy of ePrint IV now.

Page 23: Typen und Objekte im Pi-Kalkül - Universität des …...TYPEN UND OBJEKTE IM PI-KALKÜL ANWENDUNGSBSP KLASSE A KLASSE B Objekt 1 Objekt 2 Objekt 3 Methoden des Objekts Variablen des

TYPEN UND OBJEKTE IM PI-KALKÜLπ

Beispiel: Mautsystem

ALK WITCH AIN OSE= T ,S ,G , L

Beispiel für Definitionen

1 1

11 1

Truck( , ) .Truck talk, switch + (t, s).Truck t, s

Trans (talk, switch) talk .Trans talk, switch +

talk switch talk switch

lose (t,s).switch t,s . (t,s).Trans ,gain t s

EINFÜHRUNG VON TYPEN

Evaluation notes were added to the output document. To get rid of these notes, please order your copy of ePrint IV now.

Page 24: Typen und Objekte im Pi-Kalkül - Universität des …...TYPEN UND OBJEKTE IM PI-KALKÜL ANWENDUNGSBSP KLASSE A KLASSE B Objekt 1 Objekt 2 Objekt 3 Methoden des Objekts Variablen des

TYPEN UND OBJEKTE IM PI-KALKÜLπ

Beispiel: Mautsystem

ALK WITCH AIN OSE= T ,S ,G , L

ALK, WITCH, AIN, OSE: T : S : G : Li i i i

talk switch gain lose

Beispiel für Definitionen

1 1

11 1

Truck( , ) .Truck talk, switch + (t, s).Truck t, s

Trans (talk, switch) talk .Trans talk, switch +

talk switch talk switch

lose (t,s).switch t,s . (t,s).Trans ,gain t s

EINFÜHRUNG VON TYPEN

Evaluation notes were added to the output document. To get rid of these notes, please order your copy of ePrint IV now.

Page 25: Typen und Objekte im Pi-Kalkül - Universität des …...TYPEN UND OBJEKTE IM PI-KALKÜL ANWENDUNGSBSP KLASSE A KLASSE B Objekt 1 Objekt 2 Objekt 3 Methoden des Objekts Variablen des

TYPEN UND OBJEKTE IM PI-KALKÜLπ

Beispiel: Mautsystem

ALKT

Beispiel für Definitionen

1 1

11 1

Truck( , ) .Truck talk, switch + (t, s).Truck t, s

Trans (talk, switch) talk .Trans talk, switch +

talk switch talk switch

lose (t,s).switch t,s . (t,s).Trans ,gain t s

EINFÜHRUNG VON TYPEN

Evaluation notes were added to the output document. To get rid of these notes, please order your copy of ePrint IV now.

Page 26: Typen und Objekte im Pi-Kalkül - Universität des …...TYPEN UND OBJEKTE IM PI-KALKÜL ANWENDUNGSBSP KLASSE A KLASSE B Objekt 1 Objekt 2 Objekt 3 Methoden des Objekts Variablen des

TYPEN UND OBJEKTE IM PI-KALKÜLπ

Beispiel: Mautsystem

ALK

WITCH ALK, WITCH

T

S T S

Beispiel für Definitionen

1 1

11 1

Truck( , ) .Truck talk, switch + (t, s).Truck t, s

Trans (talk, switch) talk .Trans talk, switch +

talk switch talk switch

lose (t,s).switch t,s . (t,s).Trans ,gain t s

EINFÜHRUNG VON TYPEN

Evaluation notes were added to the output document. To get rid of these notes, please order your copy of ePrint IV now.

Page 27: Typen und Objekte im Pi-Kalkül - Universität des …...TYPEN UND OBJEKTE IM PI-KALKÜL ANWENDUNGSBSP KLASSE A KLASSE B Objekt 1 Objekt 2 Objekt 3 Methoden des Objekts Variablen des

TYPEN UND OBJEKTE IM PI-KALKÜLπ

Beispiel: Mautsystem

ALK

WITCH ALK, WITCH

AIN ALK, WITCH

T

S T S

G T S

Beispiel für Definitionen

1 1

11 1

Truck( , ) .Truck talk, switch + (t, s).Truck t, s

Trans (talk, switch) talk .Trans talk, switch +

talk switch talk switch

lose (t,s).switch t,s . (t,s).Trans ,gain t s

EINFÜHRUNG VON TYPEN

Evaluation notes were added to the output document. To get rid of these notes, please order your copy of ePrint IV now.

Page 28: Typen und Objekte im Pi-Kalkül - Universität des …...TYPEN UND OBJEKTE IM PI-KALKÜL ANWENDUNGSBSP KLASSE A KLASSE B Objekt 1 Objekt 2 Objekt 3 Methoden des Objekts Variablen des

TYPEN UND OBJEKTE IM PI-KALKÜLπ

Beispiel: Mautsystem

ALK

WITCH ALK, WITCH

AIN ALK, WITCH

OSE ALK, WITCH

T

S T S

G T S

L T S

1 1

11 1

Truck( , ) .Truck talk, switch + (t, s).Truck t, s

Trans (talk, switch) talk .Trans talk, switch +

talk switch talk switch

lose (t,s).switch t,s . (t,s).Trans ,gain t s

Beispiel für Definitionen

EINFÜHRUNG VON TYPEN

Evaluation notes were added to the output document. To get rid of these notes, please order your copy of ePrint IV now.

Page 29: Typen und Objekte im Pi-Kalkül - Universität des …...TYPEN UND OBJEKTE IM PI-KALKÜL ANWENDUNGSBSP KLASSE A KLASSE B Objekt 1 Objekt 2 Objekt 3 Methoden des Objekts Variablen des

TYPEN UND OBJEKTE IM PI-KALKÜLπ

Was bringt‘s?

Kontrollieren das Verhalten von Prozessen:

• Für ein einfaches Systems S und folgenden Eigenschaften

1. Es verwaltet x 2. Es ist x-vergesslich3. Für jeden Subterm der Form z(y).Q ist Q y-vergesslich

• gilt: wenn S S‘, dann hat S‘ Eigenschaften 1-3

EINFÜHRUNG VON TYPEN

Evaluation notes were added to the output document. To get rid of these notes, please order your copy of ePrint IV now.

Page 30: Typen und Objekte im Pi-Kalkül - Universität des …...TYPEN UND OBJEKTE IM PI-KALKÜL ANWENDUNGSBSP KLASSE A KLASSE B Objekt 1 Objekt 2 Objekt 3 Methoden des Objekts Variablen des

TYPEN UND OBJEKTE IM PI-KALKÜLπ

Was bringt‘s?

Kontrollieren das Verhalten von Prozessen:

• Für ein wohlgetyptes einfaches Systems S mit x:Aund folgenden Eigenschaften

1. Es verwaltet x 2. Es ist x-vergesslich3. Für jeden Subterm der Form z(y).Q ist Q y-vergesslich

falls y:A gilt.

• gilt, wenn S S‘, dann hat S‘ Eigenschaften 1-3

EINFÜHRUNG VON TYPEN

Evaluation notes were added to the output document. To get rid of these notes, please order your copy of ePrint IV now.

Page 31: Typen und Objekte im Pi-Kalkül - Universität des …...TYPEN UND OBJEKTE IM PI-KALKÜL ANWENDUNGSBSP KLASSE A KLASSE B Objekt 1 Objekt 2 Objekt 3 Methoden des Objekts Variablen des

TYPEN UND OBJEKTE IM PI-KALKÜLπ

Was bringt‘s?

x abc .P' | x yz .Q'

Eigenschaft SOUNDNESS: Wohlgetypte Terme despi-Kalküls können nicht zu fehler reagieren. (ohne Beweis)

EINFÜHRUNG VON TYPEN

Evaluation notes were added to the output document. To get rid of these notes, please order your copy of ePrint IV now.

Page 32: Typen und Objekte im Pi-Kalkül - Universität des …...TYPEN UND OBJEKTE IM PI-KALKÜL ANWENDUNGSBSP KLASSE A KLASSE B Objekt 1 Objekt 2 Objekt 3 Methoden des Objekts Variablen des

TYPEN UND OBJEKTE IM PI-KALKÜLπ

Was bringt‘s?

x abc .P' | x yz .Q'

Eigenschaft SOUNDNESS: Wohlgetypte Terme despi-Kalküls können nicht zu fehler reagieren. (ohne Beweis)

EINFÜHRUNG VON TYPEN

1 2 3

1 2

ob(x) =

ob(x) =

nicht wohlgetypt

Evaluation notes were added to the output document. To get rid of these notes, please order your copy of ePrint IV now.

Page 33: Typen und Objekte im Pi-Kalkül - Universität des …...TYPEN UND OBJEKTE IM PI-KALKÜL ANWENDUNGSBSP KLASSE A KLASSE B Objekt 1 Objekt 2 Objekt 3 Methoden des Objekts Variablen des

TYPEN UND OBJEKTE IM PI-KALKÜLπ

Was bringt‘s?

besseres Verständnis des pi-Kalküls

wie wird der getypte pi-Kalkül zu CCS?

EINFÜHRUNG VON TYPEN

Evaluation notes were added to the output document. To get rid of these notes, please order your copy of ePrint IV now.

Page 34: Typen und Objekte im Pi-Kalkül - Universität des …...TYPEN UND OBJEKTE IM PI-KALKÜL ANWENDUNGSBSP KLASSE A KLASSE B Objekt 1 Objekt 2 Objekt 3 Methoden des Objekts Variablen des

TYPEN UND OBJEKTE IM PI-KALKÜLπ

Was bringt‘s?

• Unterteilen in und : • Menge aller Namen die als Link

auftauchen dürfen• Menge elementarer Typen

pi-Kalkül kontrollieren

'

'

: ( ') *ob

Nur noch Daten übertragen (CCS mit Value-Übertragung)

EINFÜHRUNG VON TYPEN

Evaluation notes were added to the output document. To get rid of these notes, please order your copy of ePrint IV now.

Page 35: Typen und Objekte im Pi-Kalkül - Universität des …...TYPEN UND OBJEKTE IM PI-KALKÜL ANWENDUNGSBSP KLASSE A KLASSE B Objekt 1 Objekt 2 Objekt 3 Methoden des Objekts Variablen des

TYPEN UND OBJEKTE IM PI-KALKÜLπERWEITERUNGEN

TYPKONSTRUKTOREN

Betrachten noch mal die Bool Typen

OOL RUE, ALSE

RUE ε

ALSE ε

B T F

T

F

OOL

RUE

: ALSE

b: B

t: T

f F

Evaluation notes were added to the output document. To get rid of these notes, please order your copy of ePrint IV now.

Page 36: Typen und Objekte im Pi-Kalkül - Universität des …...TYPEN UND OBJEKTE IM PI-KALKÜL ANWENDUNGSBSP KLASSE A KLASSE B Objekt 1 Objekt 2 Objekt 3 Methoden des Objekts Variablen des

TYPEN UND OBJEKTE IM PI-KALKÜLπERWEITERUNGEN

TYPKONSTRUKTOREN

• Problem: TRUE und FALSE sind prinzipiellgleich, wollen sie zu einem Sort zusammen-fassen

Betrachten noch mal die Bool Typen

OOL RUE, ALSE

RUE ε

ALSE ε

B T F

T

F

OOL

RUE

: ALSE

b: B

t: T

f F

Evaluation notes were added to the output document. To get rid of these notes, please order your copy of ePrint IV now.

Page 37: Typen und Objekte im Pi-Kalkül - Universität des …...TYPEN UND OBJEKTE IM PI-KALKÜL ANWENDUNGSBSP KLASSE A KLASSE B Objekt 1 Objekt 2 Objekt 3 Methoden des Objekts Variablen des

TYPEN UND OBJEKTE IM PI-KALKÜLπERWEITERUNGEN

TYPKONSTRUKTOREN

• Problem: TRUE und FALSE sind prinzipiellgleich, wollen sie zu einem Sort zusammen-fassen

Betrachten noch mal die Bool Typen

OOL RUE, ALSE

RUE ε

ALSE ε

B T F

T

F

OOL

RUE

: ALSE

b: B

t: T

f F

HAN ε

HAN ε

t: C

f: C

HAN ε εC

Evaluation notes were added to the output document. To get rid of these notes, please order your copy of ePrint IV now.

Page 38: Typen und Objekte im Pi-Kalkül - Universität des …...TYPEN UND OBJEKTE IM PI-KALKÜL ANWENDUNGSBSP KLASSE A KLASSE B Objekt 1 Objekt 2 Objekt 3 Methoden des Objekts Variablen des

TYPEN UND OBJEKTE IM PI-KALKÜLπERWEITERUNGEN

TYPKONSTRUKTOREN

Erinnern uns noch mal an Listen

Nil(l) l(nc).n

Node(l) (vl').l(nc).c vl'

...

Evaluation notes were added to the output document. To get rid of these notes, please order your copy of ePrint IV now.

Page 39: Typen und Objekte im Pi-Kalkül - Universität des …...TYPEN UND OBJEKTE IM PI-KALKÜL ANWENDUNGSBSP KLASSE A KLASSE B Objekt 1 Objekt 2 Objekt 3 Methoden des Objekts Variablen des

TYPEN UND OBJEKTE IM PI-KALKÜLπERWEITERUNGEN

TYPKONSTRUKTOREN

• Würden gerne einen Typkonstruktor für Listen definieren

Erinnern uns noch mal an Listen

Nil(l) l(nc).n

Node(l) (vl').l(nc).c vl'

...

Evaluation notes were added to the output document. To get rid of these notes, please order your copy of ePrint IV now.

Page 40: Typen und Objekte im Pi-Kalkül - Universität des …...TYPEN UND OBJEKTE IM PI-KALKÜL ANWENDUNGSBSP KLASSE A KLASSE B Objekt 1 Objekt 2 Objekt 3 Methoden des Objekts Variablen des

TYPEN UND OBJEKTE IM PI-KALKÜLπERWEITERUNGEN

TYPKONSTRUKTOREN

• Würden gerne einen Typkonstruktor für Listen definieren

Erinnern uns noch mal an Listen

Nil(l) l(nc).n

Node(l) (vl').l(nc).c vl'

...

IST HAN HAN ISTL ( ) C ( ), C ( ,L ( )):

...ob

Evaluation notes were added to the output document. To get rid of these notes, please order your copy of ePrint IV now.

Page 41: Typen und Objekte im Pi-Kalkül - Universität des …...TYPEN UND OBJEKTE IM PI-KALKÜL ANWENDUNGSBSP KLASSE A KLASSE B Objekt 1 Objekt 2 Objekt 3 Methoden des Objekts Variablen des

TYPEN UND OBJEKTE IM PI-KALKÜLπERWEITERUNGEN

TYPKONSTRUKTOREN

Formalisieren diese Idee mit Hilfe Typkonstruktoren

Evaluation notes were added to the output document. To get rid of these notes, please order your copy of ePrint IV now.

Page 42: Typen und Objekte im Pi-Kalkül - Universität des …...TYPEN UND OBJEKTE IM PI-KALKÜL ANWENDUNGSBSP KLASSE A KLASSE B Objekt 1 Objekt 2 Objekt 3 Methoden des Objekts Variablen des

TYPEN UND OBJEKTE IM PI-KALKÜLπERWEITERUNGEN

TYPKONSTRUKTOREN

Formalisieren diese Idee mit Hilfe Typkonstruktoren

1 nC ,...., • Eine Typsprache hat Elemente der Form

Evaluation notes were added to the output document. To get rid of these notes, please order your copy of ePrint IV now.

Page 43: Typen und Objekte im Pi-Kalkül - Universität des …...TYPEN UND OBJEKTE IM PI-KALKÜL ANWENDUNGSBSP KLASSE A KLASSE B Objekt 1 Objekt 2 Objekt 3 Methoden des Objekts Variablen des

TYPEN UND OBJEKTE IM PI-KALKÜLπERWEITERUNGEN

TYPKONSTRUKTOREN

Formalisieren diese Idee mit Hilfe Typkonstruktoren

1 nC ,...., • Eine Typsprache hat Elemente der Form

• C aus der Menge der Typkonstruktorenist mit Stelligkeit n

Evaluation notes were added to the output document. To get rid of these notes, please order your copy of ePrint IV now.

Page 44: Typen und Objekte im Pi-Kalkül - Universität des …...TYPEN UND OBJEKTE IM PI-KALKÜL ANWENDUNGSBSP KLASSE A KLASSE B Objekt 1 Objekt 2 Objekt 3 Methoden des Objekts Variablen des

TYPEN UND OBJEKTE IM PI-KALKÜLπERWEITERUNGEN

TYPKONSTRUKTOREN

Formalisieren diese Idee mit Hilfe Typkonstruktoren

1 nC ,....,

1 n 1 n

1 n 1 n

ob : C ,..., , ...,

ob C ,...., ,..., [ : ]

s s

s

• Eine Typsprache hat Elemente der Form

• Disziplin für Typkonstruktoren wird über Typvariablensi definiert:

• C aus der Menge der Typkonstruktorenist mit Stelligkeit n

Evaluation notes were added to the output document. To get rid of these notes, please order your copy of ePrint IV now.

Page 45: Typen und Objekte im Pi-Kalkül - Universität des …...TYPEN UND OBJEKTE IM PI-KALKÜL ANWENDUNGSBSP KLASSE A KLASSE B Objekt 1 Objekt 2 Objekt 3 Methoden des Objekts Variablen des

TYPEN UND OBJEKTE IM PI-KALKÜLπERWEITERUNGEN

TYPKONSTRUKTOREN

Der wichtigste Typkonstruktor ist der Channel:

Evaluation notes were added to the output document. To get rid of these notes, please order your copy of ePrint IV now.

Page 46: Typen und Objekte im Pi-Kalkül - Universität des …...TYPEN UND OBJEKTE IM PI-KALKÜL ANWENDUNGSBSP KLASSE A KLASSE B Objekt 1 Objekt 2 Objekt 3 Methoden des Objekts Variablen des

TYPEN UND OBJEKTE IM PI-KALKÜLπERWEITERUNGEN

TYPKONSTRUKTOREN

Der wichtigste Typkonstruktor ist der Channel:

1 n 1 nnHANC ,..., , ...,s s s s

Evaluation notes were added to the output document. To get rid of these notes, please order your copy of ePrint IV now.

Page 47: Typen und Objekte im Pi-Kalkül - Universität des …...TYPEN UND OBJEKTE IM PI-KALKÜL ANWENDUNGSBSP KLASSE A KLASSE B Objekt 1 Objekt 2 Objekt 3 Methoden des Objekts Variablen des

TYPEN UND OBJEKTE IM PI-KALKÜLπERWEITERUNGEN

TYPKONSTRUKTOREN

Der wichtigste Typkonstruktor ist der Channel:

1 n 1 nnHANC ,..., , ...,s s s s

• Anwendung von CHAN bei Listen

IST HAN HAN ISTL ( ) C ( ), C ( ,L ( )):

...ob

Evaluation notes were added to the output document. To get rid of these notes, please order your copy of ePrint IV now.

Page 48: Typen und Objekte im Pi-Kalkül - Universität des …...TYPEN UND OBJEKTE IM PI-KALKÜL ANWENDUNGSBSP KLASSE A KLASSE B Objekt 1 Objekt 2 Objekt 3 Methoden des Objekts Variablen des

TYPEN UND OBJEKTE IM PI-KALKÜLπANWENDUNGSBSP

OBJEKTE IM PI-KALKÜL

Beispiel für die Mächtigkeit des pi-Kalküls

Evaluation notes were added to the output document. To get rid of these notes, please order your copy of ePrint IV now.

Page 49: Typen und Objekte im Pi-Kalkül - Universität des …...TYPEN UND OBJEKTE IM PI-KALKÜL ANWENDUNGSBSP KLASSE A KLASSE B Objekt 1 Objekt 2 Objekt 3 Methoden des Objekts Variablen des

TYPEN UND OBJEKTE IM PI-KALKÜLπANWENDUNGSBSP

OBJEKTE IM PI-KALKÜL

Beispiel für die Mächtigkeit des pi-Kalküls

Eine nicht-triviale Anwendung unserer Typen

Evaluation notes were added to the output document. To get rid of these notes, please order your copy of ePrint IV now.

Page 50: Typen und Objekte im Pi-Kalkül - Universität des …...TYPEN UND OBJEKTE IM PI-KALKÜL ANWENDUNGSBSP KLASSE A KLASSE B Objekt 1 Objekt 2 Objekt 3 Methoden des Objekts Variablen des

TYPEN UND OBJEKTE IM PI-KALKÜLπANWENDUNGSBSP

OBJEKTE IM PI-KALKÜL

Beispiel für die Mächtigkeit des pi-Kalküls

Eine nicht-triviale Anwendung unserer Typen

Folgende Symbole werden benutzt

Evaluation notes were added to the output document. To get rid of these notes, please order your copy of ePrint IV now.

Page 51: Typen und Objekte im Pi-Kalkül - Universität des …...TYPEN UND OBJEKTE IM PI-KALKÜL ANWENDUNGSBSP KLASSE A KLASSE B Objekt 1 Objekt 2 Objekt 3 Methoden des Objekts Variablen des

TYPEN UND OBJEKTE IM PI-KALKÜLπANWENDUNGSBSP

OBJEKTE IM PI-KALKÜL

Beispiel für die Mächtigkeit des pi-Kalküls

Eine nicht-triviale Anwendung unserer Typen

Folgende Symbole werden benutzt

Methoden des Objekts

Variablen des Objekts

Objekte

Klassen

Evaluation notes were added to the output document. To get rid of these notes, please order your copy of ePrint IV now.

Page 52: Typen und Objekte im Pi-Kalkül - Universität des …...TYPEN UND OBJEKTE IM PI-KALKÜL ANWENDUNGSBSP KLASSE A KLASSE B Objekt 1 Objekt 2 Objekt 3 Methoden des Objekts Variablen des

TYPEN UND OBJEKTE IM PI-KALKÜLπANWENDUNGSBSP

KLASSE A KLASSE B

Methoden des Objekts

Variablen des Objekts

Objekte

Klassen

BOPL - PROGRAMME

Evaluation notes were added to the output document. To get rid of these notes, please order your copy of ePrint IV now.

Page 53: Typen und Objekte im Pi-Kalkül - Universität des …...TYPEN UND OBJEKTE IM PI-KALKÜL ANWENDUNGSBSP KLASSE A KLASSE B Objekt 1 Objekt 2 Objekt 3 Methoden des Objekts Variablen des

TYPEN UND OBJEKTE IM PI-KALKÜLπANWENDUNGSBSP

KLASSE A KLASSE B

Objekt 1 Objekt 2 Objekt 3

Methoden des Objekts

Variablen des Objekts

Objekte

Klassen

BOPL - PROGRAMME

Evaluation notes were added to the output document. To get rid of these notes, please order your copy of ePrint IV now.

Page 54: Typen und Objekte im Pi-Kalkül - Universität des …...TYPEN UND OBJEKTE IM PI-KALKÜL ANWENDUNGSBSP KLASSE A KLASSE B Objekt 1 Objekt 2 Objekt 3 Methoden des Objekts Variablen des

TYPEN UND OBJEKTE IM PI-KALKÜLπANWENDUNGSBSP

KLASSE A KLASSE B

Objekt 1 Objekt 2 Objekt 3

Methodenaufruf

BOPL - PROGRAMME

Methoden des Objekts

Variablen des Objekts

Objekte

Klassen

Evaluation notes were added to the output document. To get rid of these notes, please order your copy of ePrint IV now.

Page 55: Typen und Objekte im Pi-Kalkül - Universität des …...TYPEN UND OBJEKTE IM PI-KALKÜL ANWENDUNGSBSP KLASSE A KLASSE B Objekt 1 Objekt 2 Objekt 3 Methoden des Objekts Variablen des

TYPEN UND OBJEKTE IM PI-KALKÜLπANWENDUNGSBSP

Class A

VAR V1: A, V2: B

Klassendeklaration A: class-decA

METHODE M1(X1: B): A = S1

METHODE M2(X1: A, X2: A): B = S2

AUFBAU VON POPEL PROGRAMMEN

Evaluation notes were added to the output document. To get rid of these notes, please order your copy of ePrint IV now.

Page 56: Typen und Objekte im Pi-Kalkül - Universität des …...TYPEN UND OBJEKTE IM PI-KALKÜL ANWENDUNGSBSP KLASSE A KLASSE B Objekt 1 Objekt 2 Objekt 3 Methoden des Objekts Variablen des

TYPEN UND OBJEKTE IM PI-KALKÜLπANWENDUNGSBSP

OBJEKTE IM PI-KALKÜL

SERVER A

kA

Klasse als Server, Dienst fordertneues Objekt über Adress kA

Evaluation notes were added to the output document. To get rid of these notes, please order your copy of ePrint IV now.

Page 57: Typen und Objekte im Pi-Kalkül - Universität des …...TYPEN UND OBJEKTE IM PI-KALKÜL ANWENDUNGSBSP KLASSE A KLASSE B Objekt 1 Objekt 2 Objekt 3 Methoden des Objekts Variablen des

TYPEN UND OBJEKTE IM PI-KALKÜLπANWENDUNGSBSP

OBJEKTE IM PI-KALKÜL

SERVER A

kA

a

Server legt neues Objekt an undsendet als Antwort Adresse ades Objekts

a

Evaluation notes were added to the output document. To get rid of these notes, please order your copy of ePrint IV now.

Page 58: Typen und Objekte im Pi-Kalkül - Universität des …...TYPEN UND OBJEKTE IM PI-KALKÜL ANWENDUNGSBSP KLASSE A KLASSE B Objekt 1 Objekt 2 Objekt 3 Methoden des Objekts Variablen des

TYPEN UND OBJEKTE IM PI-KALKÜLπANWENDUNGSBSP

OBJEKTE IM PI-KALKÜL

SERVER A

kA

a m1 m2

m1, m2

Benutzer fordert von Objekt AMethoden an

Evaluation notes were added to the output document. To get rid of these notes, please order your copy of ePrint IV now.

Page 59: Typen und Objekte im Pi-Kalkül - Universität des …...TYPEN UND OBJEKTE IM PI-KALKÜL ANWENDUNGSBSP KLASSE A KLASSE B Objekt 1 Objekt 2 Objekt 3 Methoden des Objekts Variablen des

TYPEN UND OBJEKTE IM PI-KALKÜLπANWENDUNGSBSP

OBJEKTE IM PI-KALKÜL

Über die Adressen der Methodenruft Benutzer diese auf

SERVER A

kA

a m1 m2

r

und erhält Adresse des Rückgabewertes

x1..

Evaluation notes were added to the output document. To get rid of these notes, please order your copy of ePrint IV now.

Page 60: Typen und Objekte im Pi-Kalkül - Universität des …...TYPEN UND OBJEKTE IM PI-KALKÜL ANWENDUNGSBSP KLASSE A KLASSE B Objekt 1 Objekt 2 Objekt 3 Methoden des Objekts Variablen des

TYPEN UND OBJEKTE IM PI-KALKÜLπANWENDUNGSBSP

ÜBERTRAGUNG VON KLASSEN

Class AVAR V1: A, V2: B

Klassendeklaration A

METHODE M1(X1: B): A

METHODE M2(X1: A, X2: A): B

pi-Kalkül Namen

Ak : Eindeutiger Name für Klasse A

Evaluation notes were added to the output document. To get rid of these notes, please order your copy of ePrint IV now.

Page 61: Typen und Objekte im Pi-Kalkül - Universität des …...TYPEN UND OBJEKTE IM PI-KALKÜL ANWENDUNGSBSP KLASSE A KLASSE B Objekt 1 Objekt 2 Objekt 3 Methoden des Objekts Variablen des

TYPEN UND OBJEKTE IM PI-KALKÜLπANWENDUNGSBSP

ÜBERTRAGUNG VON KLASSEN

Class AVAR V1: A, V2: B

Klassendeklaration A

METHODE M1(X1: B): A

METHODE M2(X1: A, X2: A): B

pi-Kalkül Namen

1

Ak : Eindeutiger Name für Klass

v ... : Variable der Kla

e A

sse A

Evaluation notes were added to the output document. To get rid of these notes, please order your copy of ePrint IV now.

Page 62: Typen und Objekte im Pi-Kalkül - Universität des …...TYPEN UND OBJEKTE IM PI-KALKÜL ANWENDUNGSBSP KLASSE A KLASSE B Objekt 1 Objekt 2 Objekt 3 Methoden des Objekts Variablen des

TYPEN UND OBJEKTE IM PI-KALKÜLπANWENDUNGSBSP

ÜBERTRAGUNG VON KLASSEN

Class AVAR V1: A, V2: B

Klassendeklaration A

METHODE M1(X1: B): A

METHODE M2(X1: A, X2: A): B

pi-Kalkül Namen

1

1

2

A

1

x ... : Methodenparameter in A

m : Name der Metho

k : Eindeutiger Name für Klasse A

v ...

de M1

m : Name der Met

: Varia

hode M2

r

ble der

Klasse A

: Nam

e des Rückg

abewertes

einer Methode

Evaluation notes were added to the output document. To get rid of these notes, please order your copy of ePrint IV now.

Page 63: Typen und Objekte im Pi-Kalkül - Universität des …...TYPEN UND OBJEKTE IM PI-KALKÜL ANWENDUNGSBSP KLASSE A KLASSE B Objekt 1 Objekt 2 Objekt 3 Methoden des Objekts Variablen des

TYPEN UND OBJEKTE IM PI-KALKÜLπANWENDUNGSBSP

ÜBERTRAGUNG VON KLASSEN

Class AVAR V1: A, V2: B

Klassendeklaration A

METHODE M1(X1: B): A

METHODE M2(X1: A, X2: A): B

pi-Kalkül Namen

A

1

1

1

2

k : Eindeutiger Name für Klasse A

v ... : Variable der Klasse A

x ... : Methodenparameter in A

m : Name der Methode M1

m : Name der Methode M2

r : Nam

a : Name eine

e des Rückgabewertes

s beliebigen Objekts

einer M

der Kla

ethode

sse A

Evaluation notes were added to the output document. To get rid of these notes, please order your copy of ePrint IV now.

Page 64: Typen und Objekte im Pi-Kalkül - Universität des …...TYPEN UND OBJEKTE IM PI-KALKÜL ANWENDUNGSBSP KLASSE A KLASSE B Objekt 1 Objekt 2 Objekt 3 Methoden des Objekts Variablen des

TYPEN UND OBJEKTE IM PI-KALKÜLπANWENDUNGSBSP

ÜBERTRAGUNG VON KLASSEN

Welche Typen haben unsere Namen?

a : A A ?

Evaluation notes were added to the output document. To get rid of these notes, please order your copy of ePrint IV now.

Page 65: Typen und Objekte im Pi-Kalkül - Universität des …...TYPEN UND OBJEKTE IM PI-KALKÜL ANWENDUNGSBSP KLASSE A KLASSE B Objekt 1 Objekt 2 Objekt 3 Methoden des Objekts Variablen des

TYPEN UND OBJEKTE IM PI-KALKÜLπANWENDUNGSBSP

ÜBERTRAGUNG VON KLASSEN

Welche Typen haben unsere Namen?

1

2

1

1

m : METHOD(B,A) METHOD

a : A

( ,.., , ') ,.., ,CHAN

m : METHO

A ?

D(A,A, B)

'n ns s s s s s

Evaluation notes were added to the output document. To get rid of these notes, please order your copy of ePrint IV now.

Page 66: Typen und Objekte im Pi-Kalkül - Universität des …...TYPEN UND OBJEKTE IM PI-KALKÜL ANWENDUNGSBSP KLASSE A KLASSE B Objekt 1 Objekt 2 Objekt 3 Methoden des Objekts Variablen des

TYPEN UND OBJEKTE IM PI-KALKÜLπANWENDUNGSBSP

ÜBERTRAGUNG VON KLASSEN

Welche Typen haben unsere Namen?

1 1 1

2

a : A

m : METHOD(B, A) METHOD ( ,.., , ') ,.., ,CHAN

A METHOD(B, A), METHOD(A, A

'

m : METHOD(A, A, B)

, B)

n ns s s s s s

Evaluation notes were added to the output document. To get rid of these notes, please order your copy of ePrint IV now.

Page 67: Typen und Objekte im Pi-Kalkül - Universität des …...TYPEN UND OBJEKTE IM PI-KALKÜL ANWENDUNGSBSP KLASSE A KLASSE B Objekt 1 Objekt 2 Objekt 3 Methoden des Objekts Variablen des

TYPEN UND OBJEKTE IM PI-KALKÜLπANWENDUNGSBSP

ÜBERTRAGUNG VON KLASSEN

Welche Typen haben unsere Namen?

1 1 1

2

A

a : A A METHOD(B,A), METHOD(A,A, B)

m : METHOD(B,A) METHOD ( ,.., , ') ,.., ,CHAN '

m : METHOD(A, A, B)

k : CL

n ns s s s s s

ASS A CLASS s s

Evaluation notes were added to the output document. To get rid of these notes, please order your copy of ePrint IV now.

Page 68: Typen und Objekte im Pi-Kalkül - Universität des …...TYPEN UND OBJEKTE IM PI-KALKÜL ANWENDUNGSBSP KLASSE A KLASSE B Objekt 1 Objekt 2 Objekt 3 Methoden des Objekts Variablen des

TYPEN UND OBJEKTE IM PI-KALKÜLπANWENDUNGSBSP

ÜBERTRAGUNG VON KLASSEN

Welche Typen haben unsere Namen?

1 1 1

2

a : A A METHOD(B, A), METHOD(A,A, B)

m : METHOD(B,A) METHOD ( ,.., , ') ,.., ,CHAN '

m : METHOD(A, An ns s s s s s

A

1

1

, B)

k : CLASS A CLA

v ... : REF A

x ... : A

r

SS

: CH A

AN

s s

Evaluation notes were added to the output document. To get rid of these notes, please order your copy of ePrint IV now.

Page 69: Typen und Objekte im Pi-Kalkül - Universität des …...TYPEN UND OBJEKTE IM PI-KALKÜL ANWENDUNGSBSP KLASSE A KLASSE B Objekt 1 Objekt 2 Objekt 3 Methoden des Objekts Variablen des

TYPEN UND OBJEKTE IM PI-KALKÜLπANWENDUNGSBSP

Modellierung der Klassendefinition

Zugriff auf neues Objekt a über Namen ka

SERVER A

kA

a

a

Def

A A Aclass-dec = !new a k a .Object a

Evaluation notes were added to the output document. To get rid of these notes, please order your copy of ePrint IV now.

Page 70: Typen und Objekte im Pi-Kalkül - Universität des …...TYPEN UND OBJEKTE IM PI-KALKÜL ANWENDUNGSBSP KLASSE A KLASSE B Objekt 1 Objekt 2 Objekt 3 Methoden des Objekts Variablen des

TYPEN UND OBJEKTE IM PI-KALKÜLπANWENDUNGSBSP

Modellierung eines Objekts a

Def

1 2

A

A = new v :REF A, v : REF B

Nullref v1 |Nullref v2 | !Metho

Object

den

a

a

Def

A A Aclass-dec = !ne Objw a k . ecta a

jedes Objekt hat seine eigenen Methoden und Variablen

Variablen werden zunächst mit Null initialisiert

SERVER A

kA

a

a

Evaluation notes were added to the output document. To get rid of these notes, please order your copy of ePrint IV now.

Page 71: Typen und Objekte im Pi-Kalkül - Universität des …...TYPEN UND OBJEKTE IM PI-KALKÜL ANWENDUNGSBSP KLASSE A KLASSE B Objekt 1 Objekt 2 Objekt 3 Methoden des Objekts Variablen des

TYPEN UND OBJEKTE IM PI-KALKÜLπANWENDUNGSBSP

Modellierung der Methoden

Def

1 2

1 1 1

1 2

2 2

A

1 2

= new m : METHOD(B, A), m : METHOD(A, A, B)

m (x : B, r: CHAN A). S a m m .

+ m (x : A, x : A, r: CHAN B). S

Methoden a

Def

A 1

A

2Object a = new v :REF A, v : REF B

Nullref v1 |Nullref v2 | !Methoden a

Der Name a wird wie als Selbstreferenz (wie self) verwendet

SERVER A

kA

a m1m2

rx1,x2

Evaluation notes were added to the output document. To get rid of these notes, please order your copy of ePrint IV now.

Page 72: Typen und Objekte im Pi-Kalkül - Universität des …...TYPEN UND OBJEKTE IM PI-KALKÜL ANWENDUNGSBSP KLASSE A KLASSE B Objekt 1 Objekt 2 Objekt 3 Methoden des Objekts Variablen des

TYPEN UND OBJEKTE IM PI-KALKÜLπANWENDUNGSBSP

OBJEKTE IN PI

Was haben wir nicht modelliert?

• Subtyping

• Vererbung, …

Was haben wir modelliert?

• getypte Methoden

• Enkapsulierung von Daten

• Parallele Berechnung

Evaluation notes were added to the output document. To get rid of these notes, please order your copy of ePrint IV now.

Page 73: Typen und Objekte im Pi-Kalkül - Universität des …...TYPEN UND OBJEKTE IM PI-KALKÜL ANWENDUNGSBSP KLASSE A KLASSE B Objekt 1 Objekt 2 Objekt 3 Methoden des Objekts Variablen des

TYPEN UND OBJEKTE IM PI-KALKÜLπZUSAMMENFASSUNG

Typen helfen uns Verhalten von Prozessen einzuschränkenund besser zu verstehen

Den pi-Kalkül kann man (fast) wie eine höhere Programmiersprache benutzen.

Mit Hilfe von Typen lassen sich Objekte recht leicht impi-Kalkül modellieren

Noch viele Erweiterungen des Typsystems möglich

Aussagen wie Deadlock mit Typen untersuchen

Evaluation notes were added to the output document. To get rid of these notes, please order your copy of ePrint IV now.

Page 74: Typen und Objekte im Pi-Kalkül - Universität des …...TYPEN UND OBJEKTE IM PI-KALKÜL ANWENDUNGSBSP KLASSE A KLASSE B Objekt 1 Objekt 2 Objekt 3 Methoden des Objekts Variablen des

TYPEN UND OBJEKTE IM PI-KALKÜLπLITERATUR

COMMUNICATING AND MOBILE SYSTEMS: THE PI-CALCULUS Robin Milner, Cambridge University, Cambridge, Great Britain 1999

THE PI-CALCULUS : A THEORY OF MOBILE PROCESSES Davide Sangiorgi, INRIA Sophia Antipolisand David Walker University of Oxford, Cambridge University Press 2001

Evaluation notes were added to the output document. To get rid of these notes, please order your copy of ePrint IV now.

Page 75: Typen und Objekte im Pi-Kalkül - Universität des …...TYPEN UND OBJEKTE IM PI-KALKÜL ANWENDUNGSBSP KLASSE A KLASSE B Objekt 1 Objekt 2 Objekt 3 Methoden des Objekts Variablen des

TYPEN UND OBJEKTE IM PI-KALKÜLπ

DANKE

Evaluation notes were added to the output document. To get rid of these notes, please order your copy of ePrint IV now.