repräsentation von datenstrukturen im -kalkül simon pinkel, betreuer: guido tack seminar: theorie...

59
Repräsentation von Datenstrukturen im - Kalkül Simon Pinkel, Betreuer: Guido Tack Seminar: Theorie kommunizierender Systeme: Der -Kalkül

Upload: else-rehn

Post on 05-Apr-2015

104 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Repräsentation von Datenstrukturen im -Kalkül Simon Pinkel, Betreuer: Guido Tack Seminar: Theorie kommunizierender Systeme: Der -Kalkül

Repräsentation von Datenstrukturen im -Kalkül

Simon Pinkel,

Betreuer: Guido Tack

Seminar: Theorie kommunizierender Systeme: Der -Kalkül

Page 2: Repräsentation von Datenstrukturen im -Kalkül Simon Pinkel, Betreuer: Guido Tack Seminar: Theorie kommunizierender Systeme: Der -Kalkül

Gliederung

1. Motivation2. Darstellung von Daten im -Kalkül3. Vergleich mit Alice4. persistente Daten5. Zusammenfassung

Page 3: Repräsentation von Datenstrukturen im -Kalkül Simon Pinkel, Betreuer: Guido Tack Seminar: Theorie kommunizierender Systeme: Der -Kalkül

Motivation

CCS-Buffer beliebiger Größe

Erweiterung des Kalküls (Parameter) V endlich

Darstellung im -Kalkül kompromisslos möglich!

( ) ( ): .n nu uu

Buff in Buff( ) ( )

( )

, ,. . (| | 1)( )

. (| |, 1): {

nu v w v

nw

nv

uu

w

in Buff out Buff v nn

out Buffv w v nBuff

Page 4: Repräsentation von Datenstrukturen im -Kalkül Simon Pinkel, Betreuer: Guido Tack Seminar: Theorie kommunizierender Systeme: Der -Kalkül

Motivation

CCS-Buffer beliebiger Größe 2 Kompromisse:

Erweiterung des Kalküls (Parameter) Wertemenge V endlich

Darstellung im -Kalkül kompromisslos möglich!

( ) ( ): .n nu uu

Buff in Buff( ) ( )

( )

, ,. . (| | 1)( )

. (| |, 1): {

nu v w v

nw

nv

uu

w

in Buff out Buff v nn

out Buffv w v nBuff

Page 5: Repräsentation von Datenstrukturen im -Kalkül Simon Pinkel, Betreuer: Guido Tack Seminar: Theorie kommunizierender Systeme: Der -Kalkül

Motivation

CCS-Buffer beliebiger Größe 2 Kompromisse:

Erweiterung des Kalküls (Parameter) Wertemenge V endlich

Darstellung im -Kalkül kompromisslos möglich!

( ) ( ): .n nu uu

Buff in Buff( ) ( )

( )

, ,. . (| | 1)( )

. (| |, 1): {

nu v w v

nw

nv

uu

w

in Buff out Buff v nn

out Buffv w v nBuff

Page 6: Repräsentation von Datenstrukturen im -Kalkül Simon Pinkel, Betreuer: Guido Tack Seminar: Theorie kommunizierender Systeme: Der -Kalkül

Darstellung

Idee: Werte selektieren aus einem Menu!

Wert Programm

Menu

( )w a

( )x a

( )y a

( )z a

Page 7: Repräsentation von Datenstrukturen im -Kalkül Simon Pinkel, Betreuer: Guido Tack Seminar: Theorie kommunizierender Systeme: Der -Kalkül

Darstellung

Idee: Werte selektieren aus einem Menu!

Wert Programm

Menu

( )w a

( )x a

( )y a

( )z a

Page 8: Repräsentation von Datenstrukturen im -Kalkül Simon Pinkel, Betreuer: Guido Tack Seminar: Theorie kommunizierender Systeme: Der -Kalkül

Wahrheitswerte

Beispiel: Wahrheitswerte( ) : ( ).

( ) : ( ).

True k k t f t

False k k t f f

k( ).True k k t f t ' ' .( '. '. )k t f t P f Q

Page 9: Repräsentation von Datenstrukturen im -Kalkül Simon Pinkel, Betreuer: Guido Tack Seminar: Theorie kommunizierender Systeme: Der -Kalkül

Wahrheitswerte

Beispiel: Wahrheitswerte

't '. '.t P f Qt

k( ).True k k t f t ' ' .( '. '. )k t f t P f Q

( ) : ( ).

( ) : ( ).

True k k t f t

False k k t f f

Page 10: Repräsentation von Datenstrukturen im -Kalkül Simon Pinkel, Betreuer: Guido Tack Seminar: Theorie kommunizierender Systeme: Der -Kalkül

Wahrheitswerte

Beispiel: Wahrheitswerte

( ).True k k t f t ' ' .( '. '. )k t f t P f Qk

P't '. '.t P f Qt

( ) : ( ).

( ) : ( ).

True k k t f t

False k k t f f

Page 11: Repräsentation von Datenstrukturen im -Kalkül Simon Pinkel, Betreuer: Guido Tack Seminar: Theorie kommunizierender Systeme: Der -Kalkül

flüchtige Daten( ) : ( ).

( ) : ( ).

True k k t f t

False k k t f f

Page 12: Repräsentation von Datenstrukturen im -Kalkül Simon Pinkel, Betreuer: Guido Tack Seminar: Theorie kommunizierender Systeme: Der -Kalkül

flüchtige Daten

Daten = unäre Abstraktionen

: ( ).

: (

(

).

)

( )

True k t f t

False k fk t f

k

Page 13: Repräsentation von Datenstrukturen im -Kalkül Simon Pinkel, Betreuer: Guido Tack Seminar: Theorie kommunizierender Systeme: Der -Kalkül

flüchtige Daten

Daten = unäre Abstraktionen Argument = Lokation k

( ) : ( ).

( ) : ( ).

True t f t

F

k k

k kalse t f f

Page 14: Repräsentation von Datenstrukturen im -Kalkül Simon Pinkel, Betreuer: Guido Tack Seminar: Theorie kommunizierender Systeme: Der -Kalkül

flüchtige Daten

Daten = unäre Abstraktionen Argument = Lokation k Rechnung = Selektion aus gesendetem Menu

( ) : ( ).

( ) : ( ).

True k k

False k k

t f t

t f f

Page 15: Repräsentation von Datenstrukturen im -Kalkül Simon Pinkel, Betreuer: Guido Tack Seminar: Theorie kommunizierender Systeme: Der -Kalkül

flüchtige Daten

Daten = unäre Abstraktionen Argument = Lokation k Rechnung = Selektion aus gesendetem Menu Rechenoperationen = abgeleitete Operatoren:

Berechnungen = Reaktionen( )( , )( ) : (new ) .( . . )Cond P Q k t f k t f t P f Q

( ) : ( ).

( ) : ( ).

True k k t f t

False k k t f f

Page 16: Repräsentation von Datenstrukturen im -Kalkül Simon Pinkel, Betreuer: Guido Tack Seminar: Theorie kommunizierender Systeme: Der -Kalkül

flüchtige Daten

Daten = unäre Abstraktionen Argument = Lokation k Rechnung = Selektion aus gesendetem Menu Rechenoperationen = abgeleitete Operatoren:

Berechnungen = Reaktionen( ) Rechnen zerstört die Datenstruktur

( , )( ) : (new ) .( . . )Cond P Q k t f k t f t P f Q

( ) : ( ).

( ) : ( ).

True k k t f t

False k k t f f

Page 17: Repräsentation von Datenstrukturen im -Kalkül Simon Pinkel, Betreuer: Guido Tack Seminar: Theorie kommunizierender Systeme: Der -Kalkül

Zahlen

parametrisierte Menueinträge

4 Programm

Menu

succ(k)

null

3

k

...

Page 18: Repräsentation von Datenstrukturen im -Kalkül Simon Pinkel, Betreuer: Guido Tack Seminar: Theorie kommunizierender Systeme: Der -Kalkül

Zahlen

parametrisierte Menueinträge

4 Programm

Menu

succ(k)

null

3 k

...

Page 19: Repräsentation von Datenstrukturen im -Kalkül Simon Pinkel, Betreuer: Guido Tack Seminar: Theorie kommunizierender Systeme: Der -Kalkül

Zahlen

Konstruktoren:

Dekonstruktor:

Beispiel:

( , )( ) : (new ) .( . . )Numbercases P F k n s k n s n P s F

: ( ). ( ).

( ) : ( ).new ( ( ). | )

Zero k k n s n

Succ N k l k n s s l N l

4 ( ( ( ( ))))Succ Succ Succ Succ Null

Page 20: Repräsentation von Datenstrukturen im -Kalkül Simon Pinkel, Betreuer: Guido Tack Seminar: Theorie kommunizierender Systeme: Der -Kalkül

Korrektheit von Numbercases

( )

new ( ( ). | )

Succ N k

l k n s s l N l

( , )

(new ) .( . . )

Numbercases P F k

n s k n s n P s F k

*( ) | ( , ) new ( | )Succ N k Numbercases P F k l N l F l

Page 21: Repräsentation von Datenstrukturen im -Kalkül Simon Pinkel, Betreuer: Guido Tack Seminar: Theorie kommunizierender Systeme: Der -Kalkül

Korrektheit von Numbercases

( )

new ( ( ). | )

Succ N k

l k n s s l N l

( , )

(new ) .( . . )

Numbercases P F k

n s k n s n P s F k

new ( | )l s l N l (new )( . . )n s n P s Fs

*( ) | ( , ) new ( | )Succ N k Numbercases P F k l N l F l

Page 22: Repräsentation von Datenstrukturen im -Kalkül Simon Pinkel, Betreuer: Guido Tack Seminar: Theorie kommunizierender Systeme: Der -Kalkül

Korrektheit von Numbercases

( )

new ( ( ). | )

Succ N k

l k n s s l N l

( , )

(new ) .( . . )

Numbercases P F k

n s k n s n P s F k

new ( | )l s l N l (new )( . . )n s n P s Fs

(für Zero analog)

*( ) | ( , ) new ( | )Succ N k Numbercases P F k l N l F l

N l F llnew l

Page 23: Repräsentation von Datenstrukturen im -Kalkül Simon Pinkel, Betreuer: Guido Tack Seminar: Theorie kommunizierender Systeme: Der -Kalkül

Listen

gleiche Idee wie bei Zahlen: Zeiger auf die Restliste und aktuelles Element

Programm

Menu

nil

cons(k,v1)

[v1,v2,v3,v4]

1

2

[v2,v3,v4]

...

kv1

v2

Page 24: Repräsentation von Datenstrukturen im -Kalkül Simon Pinkel, Betreuer: Guido Tack Seminar: Theorie kommunizierender Systeme: Der -Kalkül

Listen

gleiche Idee wie bei Zahlen: Zeiger auf die Restliste und aktuelles Element

Programm

Menu

nil

cons(k,v1)

v1

[v1,v2,v3,v4]

1

2

[v2,v3,v4]

...

k

v2

Page 25: Repräsentation von Datenstrukturen im -Kalkül Simon Pinkel, Betreuer: Guido Tack Seminar: Theorie kommunizierender Systeme: Der -Kalkül

Listen

Konstruktor:

Dekonstruktor:

Beispiel:

: ( ). ( ).

( , ) : ( ). ( ( ). | | )

Nil k k n n

Cons L k new l k

c

V v c c v Vn l L lv

( , )( ) : ( ) .( . . )Listcases P F k newnc k n c n P c F

[1,2,3,4] (1, (2, (3, (4, ))))Cons Cons Cons Cons Nil

Page 26: Repräsentation von Datenstrukturen im -Kalkül Simon Pinkel, Betreuer: Guido Tack Seminar: Theorie kommunizierender Systeme: Der -Kalkül

Programmierung

*

( ) : case of

( ') ( ). '

~ ( ) | ( ) ( )

decr km k

Zero Zero m

Succ k m n s k ns

decr km Succ N k N m

Page 27: Repräsentation von Datenstrukturen im -Kalkül Simon Pinkel, Betreuer: Guido Tack Seminar: Theorie kommunizierender Systeme: Der -Kalkül

Programmierung

*

*

( ) : case of

( ') ( ). '

~ ( ) | ( ) ( )

( ) : case of

( ') new '( ( ). ' | ( ' '))

~ |

decr km k

Zero Zero m

Succ k m n s k n s

decr km Succ N k N m

Ncopy lm l

Zero Zero m

Succ l m m n s s m Ncopy l m

Ncopy lm N l N m

Page 28: Repräsentation von Datenstrukturen im -Kalkül Simon Pinkel, Betreuer: Guido Tack Seminar: Theorie kommunizierender Systeme: Der -Kalkül

Programmierung

*

*

( ) : case of

( ') ( ). '

~ ( ) | ( ) ( )

( ) : case of

( ') new '( ( ). ' | ( ' '))

~ |

( ) : case of

( ') new '( (

decr km k

Zero Zero m

Succ k m n s k n s

decr km Succ N k N m

Ncopy lm l

Zero Zero m

Succ l m m n s s m Ncopy l m

Ncopy lm N l N m

plus klm k

Zero Ncopy lm

Succ k m m

*

). ' | ( ' ') )

~ ( ) | | ( )

n s s m plus k l m

plus klm K k L l K L m

Page 29: Repräsentation von Datenstrukturen im -Kalkül Simon Pinkel, Betreuer: Guido Tack Seminar: Theorie kommunizierender Systeme: Der -Kalkül

Korrektheit von plus*( ) | | ( ) :

strukturelle Induktion über :

:

plus klm K k L l K L m

K

K Zero

Zero k

L l( ,...)Numbercases Ncopy lm k

k

Page 30: Repräsentation von Datenstrukturen im -Kalkül Simon Pinkel, Betreuer: Guido Tack Seminar: Theorie kommunizierender Systeme: Der -Kalkül

Korrektheit von plus*( ) | | ( ) :

strukturelle Induktion über :

:

plus klm K k L l K L m

K

K Zero

Zero k

L l( ,...)Numbercases Ncopy lm k

k

L l Ncopy lml

2

Page 31: Repräsentation von Datenstrukturen im -Kalkül Simon Pinkel, Betreuer: Guido Tack Seminar: Theorie kommunizierender Systeme: Der -Kalkül

Korrektheit von plus*( ) | | ( ) :

strukturelle Induktion über :

:

plus klm K k L l K L m

K

K Zero

Zero k

L l( ,...)Numbercases Ncopy lm k

k

L l Ncopy lml

2

(0 ) L m L m

*

Page 32: Repräsentation von Datenstrukturen im -Kalkül Simon Pinkel, Betreuer: Guido Tack Seminar: Theorie kommunizierender Systeme: Der -Kalkül

Korrektheit von plus*( ) | | ( ) :

strukturelle Induktion über :

( ') :

plus klm K k L l K L m

K

K Succ K

( ')Succ K k

L l

(..., ( ').new '( ( ). ' | ( ' ') )Numbercases k m m n s s m plus k l m kk

Page 33: Repräsentation von Datenstrukturen im -Kalkül Simon Pinkel, Betreuer: Guido Tack Seminar: Theorie kommunizierender Systeme: Der -Kalkül

Korrektheit von plus*( ) | | ( ) :

strukturelle Induktion über :

( ') :

plus klm K k L l K L m

K

K Succ K

( ')Succ K k

L l

(..., ( ').new '( ( ). ' | ( ' ') )Numbercases k m m n s s m plus k l m kk

' 'K k L lnew '( ( ). ' | ( ' ') )m m n s s m plus k l m'k

2

Page 34: Repräsentation von Datenstrukturen im -Kalkül Simon Pinkel, Betreuer: Guido Tack Seminar: Theorie kommunizierender Systeme: Der -Kalkül

Korrektheit von plus*( ) | | ( ) :

strukturelle Induktion über :

( ') :

plus klm K k L l K L m

K

K Succ K

( ')Succ K k

L l

(..., ( ').new '( ( ). ' | ( ' ') )Numbercases k m m n s s m plus k l m kk

new '( ( ). ' | ( ' ) ' ) ( ' ) ( ) m m n s s m K L m Succ K L m K L m

Induktionsannahme*

' 'K k L lnew '( ( ). ' | ( ' ') )m m n s s m plus k l m'k

2

Page 35: Repräsentation von Datenstrukturen im -Kalkül Simon Pinkel, Betreuer: Guido Tack Seminar: Theorie kommunizierender Systeme: Der -Kalkül

Unsichere Operatoren

bisher definierte Operationen waren Abstraktionen

Argumente waren die Lokationen der zu verrechnenden Werte

Page 36: Repräsentation von Datenstrukturen im -Kalkül Simon Pinkel, Betreuer: Guido Tack Seminar: Theorie kommunizierender Systeme: Der -Kalkül

Unsichere Operatoren

bisher definierte Operationen waren Abstraktionen

Argumente waren die Lokationen der zu verrechnenden Werte Unsicher! Beispiel:

: | 3 | 4P Ncopy lm l l

Page 37: Repräsentation von Datenstrukturen im -Kalkül Simon Pinkel, Betreuer: Guido Tack Seminar: Theorie kommunizierender Systeme: Der -Kalkül

Unsichere Operatoren

bisher definierte Operationen waren Abstraktionen

Argumente waren die Lokationen der zu verrechnenden Werte Unsicher! Beispiel:

2 mögliche Reaktionen:

: | 3 | 4P Ncopy lm l l

* *3 | 4 , 3 | 4 P m l P l m

Page 38: Repräsentation von Datenstrukturen im -Kalkül Simon Pinkel, Betreuer: Guido Tack Seminar: Theorie kommunizierender Systeme: Der -Kalkül

Unsichere Operatoren

bisher definierte Operationen waren Abstraktionen

Argumente waren die Lokationen der zu verrechnenden Werte Unsicher! Beispiel:

2 mögliche Reaktionen:

Lösung: Restriktion!

: | 3 | 4P Ncopy lm l l

* *3 | 4 , 3 | 4 P m l P l m

( ) : ( ).new ( | )NMove N m l N l Ncopy lm

Page 39: Repräsentation von Datenstrukturen im -Kalkül Simon Pinkel, Betreuer: Guido Tack Seminar: Theorie kommunizierender Systeme: Der -Kalkül

Vergleich mit Alice

Beispiel:

| | |K k L l Join klm Length m

Page 40: Repräsentation von Datenstrukturen im -Kalkül Simon Pinkel, Betreuer: Guido Tack Seminar: Theorie kommunizierender Systeme: Der -Kalkül

Vergleich mit Alice

Beispiel:

versuslet

fun ccAppend (x::xs,ys) = x::(spawn ccAppend(xs,ys))

| ccAppend (nil,ys) = ys

in

spawn length (ccAppend(L,K))

end

gleiche nebenläufige Berechnungsdisziplin

| | |K k L l Join klm Length m

Page 41: Repräsentation von Datenstrukturen im -Kalkül Simon Pinkel, Betreuer: Guido Tack Seminar: Theorie kommunizierender Systeme: Der -Kalkül

persistente Daten

Daten verschwinden durch Benutzung

( ).True k k t f t ' ' .( '. '. )k t f t P f Qk P*

Page 42: Repräsentation von Datenstrukturen im -Kalkül Simon Pinkel, Betreuer: Guido Tack Seminar: Theorie kommunizierender Systeme: Der -Kalkül

persistente Daten

Daten verschwinden durch Benutzung Replikation:

* !

*

( ) : ( ).

( ) : ( ).!

True k k t f t

False k k t f f

( ).True k k t f t ' ' .( '. '. )k t f t P f Qk P*

Page 43: Repräsentation von Datenstrukturen im -Kalkül Simon Pinkel, Betreuer: Guido Tack Seminar: Theorie kommunizierender Systeme: Der -Kalkül

persistente Daten

Daten verschwinden durch Benutzung Replikation:

Zahlen:

* !

*

( ) : ( ).

( ) : ( ).!

True k k t f t

False k k t f f

( ).True k k t f t ' ' .( '. '. )k t f t P f Qk P*

* !

*

: ( ). ( ).

( ) : ( ).new ( ( ). |! )

Zero k k n s n

Succ N k l k n s s l N l

Page 44: Repräsentation von Datenstrukturen im -Kalkül Simon Pinkel, Betreuer: Guido Tack Seminar: Theorie kommunizierender Systeme: Der -Kalkül

persistent und veränderbar

Neu! Programm darf auch selektieren!

Nullref Programm

Menu

n

( )c v

3

v

Page 45: Repräsentation von Datenstrukturen im -Kalkül Simon Pinkel, Betreuer: Guido Tack Seminar: Theorie kommunizierender Systeme: Der -Kalkül

persistent und veränderbar

Neu! Programm darf auch selektieren!

Ref(v) Programm

Menu

n

( )c v

3

vv

Page 46: Repräsentation von Datenstrukturen im -Kalkül Simon Pinkel, Betreuer: Guido Tack Seminar: Theorie kommunizierender Systeme: Der -Kalkül

persistent und veränderbar

Neu! Programm darf auch selektieren!

Ref(v) Programm

Menu

n

( )c v

3

v v

Page 47: Repräsentation von Datenstrukturen im -Kalkül Simon Pinkel, Betreuer: Guido Tack Seminar: Theorie kommunizierender Systeme: Der -Kalkül

persistent und veränderbar

Neu! Programm darf auch selektieren!

Nullref Programm

Menu

n

( )c v

3

v v

Page 48: Repräsentation von Datenstrukturen im -Kalkül Simon Pinkel, Betreuer: Guido Tack Seminar: Theorie kommunizierender Systeme: Der -Kalkül

persistent und veränderbar

Referenzen( ) : ( ).( . ( '). ' . )

( ) : ( ).( . ( '). ' . )

Nullref r r n c n Nullref r c v Ref rv n Nullref r

Ref rv r n c c v Ref rv c v Ref rv n Nullref r

Page 49: Repräsentation von Datenstrukturen im -Kalkül Simon Pinkel, Betreuer: Guido Tack Seminar: Theorie kommunizierender Systeme: Der -Kalkül

persistent und veränderbar

Referenzen

veränderbare Zelle(sicher):

( ) : ( ).( . ( '). ' . )

( ) : ( ).( . ( '). ' . )

Nullref r r n c n Nullref r c v Ref rv n Nullref r

Ref rv r n c c v Ref rv c v Ref rv n Nullref r

( ) : ( ).new ( | )Store V r v Ref rv V v

Page 50: Repräsentation von Datenstrukturen im -Kalkül Simon Pinkel, Betreuer: Guido Tack Seminar: Theorie kommunizierender Systeme: Der -Kalkül

persistent und veränderbar

Referenzen

veränderbare Zelle(sicher):

Operationen:

( ) : ( ).( . ( '). ' . )

( ) : ( ).( . ( '). ' . )

Nullref r r n c n Nullref r c v Ref rv n Nullref r

Ref rv r n c c v Ref rv c v Ref rv n Nullref r

( ) : ( ).new ( | )Store V r v Ref rv V v

( , ) : ( ).(new ) .( . . )

( ) : ( ).(new ) . .

( ) : ( ).(new ). . .

Refcases P F r n c r nc n P c F

Nullify P r n c r nc n P

Assign P rv n c r nc c v P

Page 51: Repräsentation von Datenstrukturen im -Kalkül Simon Pinkel, Betreuer: Guido Tack Seminar: Theorie kommunizierender Systeme: Der -Kalkül

Zusammenfassung

Daten empfangen ein Menu über eine Lokation k

Page 52: Repräsentation von Datenstrukturen im -Kalkül Simon Pinkel, Betreuer: Guido Tack Seminar: Theorie kommunizierender Systeme: Der -Kalkül

Zusammenfassung

Daten empfangen ein Menu über eine Lokation k Daten selektieren Menuoption

Page 53: Repräsentation von Datenstrukturen im -Kalkül Simon Pinkel, Betreuer: Guido Tack Seminar: Theorie kommunizierender Systeme: Der -Kalkül

Zusammenfassung

Daten empfangen ein Menu über eine Lokation k Daten selektieren Menuoption Darstellung beliebig großer Datenstrukturen

(Zahlen/Listen) parametrisierte Menuoptionen

Page 54: Repräsentation von Datenstrukturen im -Kalkül Simon Pinkel, Betreuer: Guido Tack Seminar: Theorie kommunizierender Systeme: Der -Kalkül

Zusammenfassung

Daten empfangen ein Menu über eine Lokation k Daten selektieren Menuoption Darstellung beliebig großer Datenstrukturen

(Zahlen/Listen) parametrisierte Menuoptionen Berechnungen sind nebenläufig, Restriktionen

verhindern ungewollte Reaktionen

Page 55: Repräsentation von Datenstrukturen im -Kalkül Simon Pinkel, Betreuer: Guido Tack Seminar: Theorie kommunizierender Systeme: Der -Kalkül

Zusammenfassung

Daten empfangen ein Menu über eine Lokation k Daten selektieren Menuoption Darstellung beliebig großer Datenstrukturen

(Zahlen/Listen) parametrisierte Menuoptionen Berechnungen sind nebenläufig, Restriktionen

verhindern ungewollte Reaktionen Korrektheit der abgeleiteten Operatoren lässt sich

meist durch Nachrechnen der Reaktionen zeigen

Page 56: Repräsentation von Datenstrukturen im -Kalkül Simon Pinkel, Betreuer: Guido Tack Seminar: Theorie kommunizierender Systeme: Der -Kalkül

Zusammenfassung

Daten empfangen ein Menu über eine Lokation k Daten selektieren Menuoption Darstellung beliebig großer Datenstrukturen

(Zahlen/Listen) parametrisierte Menuoptionen Berechnungen sind nebenläufig, Restriktionen

verhindern ungewollte Reaktionen Korrektheit der abgeleiteten Operatoren lässt sich

meist durch Nachrechnen der Reaktionen zeigen Replikation verhindert „Flüchtigkeit“ der Darstellung

Page 57: Repräsentation von Datenstrukturen im -Kalkül Simon Pinkel, Betreuer: Guido Tack Seminar: Theorie kommunizierender Systeme: Der -Kalkül

Zusammenfassung

Daten empfangen ein Menu über eine Lokation k Daten selektieren Menuoption Darstellung beliebig großer Datenstrukturen

(Zahlen/Listen) parametrisierte Menuoptionen Berechnungen sind nebenläufig, Restriktionen

verhindern ungewollte Reaktionen Korrektheit der abgeleiteten Operatoren lässt sich

meist durch Nachrechnen der Reaktionen zeigen Replikation verhindert „Flüchtigkeit“ der Darstellung Referenzen ergeben sich aus:

Replikation Erweiterung des Protokolls

Page 58: Repräsentation von Datenstrukturen im -Kalkül Simon Pinkel, Betreuer: Guido Tack Seminar: Theorie kommunizierender Systeme: Der -Kalkül

Referenzen

Robin Milner, Communicating and Mobile Systems: the Pi-Calculus, Cambridge University Press, 1999

The Alice Project, http://www.ps.uni-sb.de/alice/

Page 59: Repräsentation von Datenstrukturen im -Kalkül Simon Pinkel, Betreuer: Guido Tack Seminar: Theorie kommunizierender Systeme: Der -Kalkül

Church-Encodings

Darstellung von Daten im -Kalkül::: | . |

( . ) ' [ : ']

t x x t t t

x t t t x t

: .

: .

: . ( . )

( ) : .

true xy x

false xy y

zero sn n x x

succ N sn s N

: ( ). ( ).

: ( ). ( ).

: ( ). ( ).

( ) : ( ).new ( ( ). | )

True k k t f t

False k k t f f

Zero k k s n n

Succ N k l k n s s l N l