Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

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

Ähnliche Präsentationen


Präsentation zum Thema: "Repräsentation von Datenstrukturen im -Kalkül Simon Pinkel, Betreuer: Guido Tack Seminar: Theorie kommunizierender Systeme: Der -Kalkül."—  Präsentation transkript:

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

2 Gliederung 1. Motivation 2. Darstellung von Daten im -Kalkül 3. Vergleich mit Alice 4. persistente Daten 5. Zusammenfassung

3 Motivation CCS-Buffer beliebiger Größe Erweiterung des Kalküls (Parameter) V endlich Darstellung im -Kalkül kompromisslos möglich!

4 Motivation CCS-Buffer beliebiger Größe 2 Kompromisse: Erweiterung des Kalküls (Parameter) Wertemenge V endlich Darstellung im -Kalkül kompromisslos möglich!

5 Motivation CCS-Buffer beliebiger Größe 2 Kompromisse: Erweiterung des Kalküls (Parameter) Wertemenge V endlich Darstellung im -Kalkül kompromisslos möglich!

6 Darstellung Idee: Werte selektieren aus einem Menu! Wert Programm Menu

7 Darstellung Idee: Werte selektieren aus einem Menu! Wert Programm Menu

8 Wahrheitswerte Beispiel: Wahrheitswerte

9 Wahrheitswerte Beispiel: Wahrheitswerte

10 Wahrheitswerte Beispiel: Wahrheitswerte

11 flüchtige Daten

12 Daten = unäre Abstraktionen

13 flüchtige Daten Daten = unäre Abstraktionen Argument = Lokation k

14 flüchtige Daten Daten = unäre Abstraktionen Argument = Lokation k Rechnung = Selektion aus gesendetem Menu

15 flüchtige Daten Daten = unäre Abstraktionen Argument = Lokation k Rechnung = Selektion aus gesendetem Menu Rechenoperationen = abgeleitete Operatoren: Berechnungen = Reaktionen( )

16 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

17 Zahlen parametrisierte Menueinträge 4 Programm Menu succ( k ) null 3 k...

18 Zahlen parametrisierte Menueinträge 4 Programm Menu succ( k ) null 3 k...

19 Zahlen Konstruktoren: Dekonstruktor: Beispiel:

20 Korrektheit von Numbercases

21

22 (für Zero analog)

23 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]... k v1 v2

24 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

25 Listen Konstruktor: Dekonstruktor: Beispiel:

26 Programmierung

27

28

29 Korrektheit von plus

30 2

31 2 *

32

33 2

34 2

35 Unsichere Operatoren bisher definierte Operationen waren Abstraktionen Argumente waren die Lokationen der zu verrechnenden Werte

36 Unsichere Operatoren bisher definierte Operationen waren Abstraktionen Argumente waren die Lokationen der zu verrechnenden Werte Unsicher! Beispiel:

37 Unsichere Operatoren bisher definierte Operationen waren Abstraktionen Argumente waren die Lokationen der zu verrechnenden Werte Unsicher! Beispiel: 2 mögliche Reaktionen:

38 Unsichere Operatoren bisher definierte Operationen waren Abstraktionen Argumente waren die Lokationen der zu verrechnenden Werte Unsicher! Beispiel: 2 mögliche Reaktionen: Lösung: Restriktion!

39 Vergleich mit Alice Beispiel:

40 Vergleich mit Alice Beispiel: versus let 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

41 persistente Daten Daten verschwinden durch Benutzung *

42 persistente Daten Daten verschwinden durch Benutzung Replikation: *

43 persistente Daten Daten verschwinden durch Benutzung Replikation: Zahlen: *

44 persistent und veränderbar Neu! Programm darf auch selektieren! Nullref Programm Menu 3 v

45 persistent und veränderbar Neu! Programm darf auch selektieren! Ref(v) Programm Menu 3 vv

46 persistent und veränderbar Neu! Programm darf auch selektieren! Ref(v) Programm Menu 3 vv

47 persistent und veränderbar Neu! Programm darf auch selektieren! Nullref Programm Menu 3 vv

48 persistent und veränderbar Referenzen

49 persistent und veränderbar Referenzen veränderbare Zelle(sicher):

50 persistent und veränderbar Referenzen veränderbare Zelle(sicher): Operationen:

51 Zusammenfassung Daten empfangen ein Menu über eine Lokation k

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

53 Zusammenfassung Daten empfangen ein Menu über eine Lokation k Daten selektieren Menuoption Darstellung beliebig großer Datenstrukturen (Zahlen/Listen) parametrisierte Menuoptionen

54 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

55 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

56 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

57 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

58 Referenzen Robin Milner, Communicating and Mobile Systems: the Pi-Calculus, Cambridge University Press, 1999Communicating and Mobile Systems: the Pi-Calculus The Alice Project, http://www.ps.uni-sb.de/alice/

59 Church-Encodings Darstellung von Daten im -Kalkül:


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

Ähnliche Präsentationen


Google-Anzeigen