Präsentation herunterladen
Die Präsentation wird geladen. Bitte warten
Veröffentlicht von:Else Rehn Geändert vor über 10 Jahren
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
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
29
Korrektheit von plus
30
2
31
2 *
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:
Ähnliche Präsentationen
© 2024 SlidePlayer.org Inc.
All rights reserved.