Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Milners Kalkül Kommunizierender Systeme (CCS)

Ähnliche Präsentationen


Präsentation zum Thema: "Milners Kalkül Kommunizierender Systeme (CCS)"—  Präsentation transkript:

1 Milners Kalkül Kommunizierender Systeme (CCS)
Arnaud Fietzke betreut durch Tim Priesnitz, Guido Tack Proseminar: Theorie kommunizierender Systeme Programming Systems Lab – Prof. Gert Smolka

2 Modellierung nebenläufiger Systeme
a A = a.A‘ B = b.B‘ A‘ = b.A B‘ = c.B > A A‘ _ _ _ b b B‘ B < _ c

3 Modellierung nebenläufiger Systeme
a A = a.A‘ B = b.B‘ A‘ = b.A B‘ = c.B A|B mit _ CCS A = a.A‘ B = b.B‘ A‘ = b.A B‘ = c.B > A A‘ _ b b B‘ B < _ c

4 Übersicht Einführung Syntax CCS Semantik CCS Idee
Strukturelle Kongruenz Reaktion

5 Einführung Prozessalgebra:
algebraische Modellierung von nebenläufigen Prozessen Darstellung komplexer Systeme mit Hilfe weniger Operatoren ermöglicht automatische Verifikation

6 Prozessalgebren: Ansätze
CCS (Calculus of Communicating Systems) [Milner '80] CSP (Communicating Sequential Processes) [Hoare '85] ACP (Algebra of Communicating Processes) [Bergstra & Klop '84] LOTOS (Language of Temporal Ordered Specification) [Brinksma & Draft '88]

7 Syntax CCS Definition: P ::= A<a1,...,an> | S ai.Pi _ | P1|P2
Menge P der Prozessausdrücke: P ::= A<a1,...,an> mit I endliche Indexmenge iI | S ai.Pi 0 := mit I = 0 S ai.Pi a  N  N  { t } N = {a,b,c,…} Namen _ | P1|P2 | new a P System von nebenläufigen Prozessen: P1 | … | Pn mit P = Pn ...

8 Semantik CCS Idee: "chemical machine" _
[Berry & Boudol '89] An “Ports“ können beobachtbare Aktionen stattfinden (a  N  N) _

9 Semantik CCS Idee: "chemical machine" _
[Berry & Boudol '89] Komplementäre “Ports“ sind Reaktionspunkte z.B. b und b _

10 Semantik CCS Idee: "chemical machine"
[Berry & Boudol '89] "Moleküle" können sich annähern und reagieren annähern

11 Prozess-Kongruenz Definition :
Äquivalenzrelation (reflexiv, symmetrisch, transitiv)  über P mit a.P + M new a P P|R R|P a.Q + M new a Q Q|R R|Q falls P  Q

12 Prozess-Kontext Definition : C ::= | a.C+M | new a C | C|P | P|C
C[Q] : Substitution von [] in C durch Q Für C=[] gilt: C[Q] = Q [] Eine bestimmte Prozess-Kongruenz  lässt sich durch ein Gleichungssystem definieren : 3

13 Prozess-Kongruenz  erfüllt alle Gleichungen aus 3
für jede Sequenz Q1,…Qn (n≥1) von Ausdrücken gilt Q1  Qn falls Qi = C[P] und Qi+1 = C[P‘] und es gilt: P  P‘ oder P‘  P 3 Eine bestimmte Prozess-Kongruenz  lässt sich durch ein Gleichungssystem definieren : 3

14 Strukturelle Kongruenz
Definition: Prozess-Kongruenz  , definiert durch Gleichungen: (1) Änderung gebundener Namen (new b) a.b  (new c) a.c Beispiel:

15 Strukturelle Kongruenz
Definition: Prozess-Kongruenz  , definiert durch Gleichungen: (1) Änderung gebundener Namen (2) Umordnung der Terme in Summen a.0 + b.0  b.0 + a.0 Beispiel:

16 Strukturelle Kongruenz
Definition: Prozess-Kongruenz  , definiert durch Gleichungen: (1) Änderung gebundener Namen (2) Umordnung der Terme in Summen (3) P|0  P , P|Q  Q|P , P|(Q|R)  (P|Q)|R

17 Strukturelle Kongruenz
Definition: Prozess-Kongruenz  , definiert durch Gleichungen: (1) Änderung gebundener Namen (2) Umordnung der Terme in Summen (3) P|0  P, P|Q  Q|P, P|(Q|R)  (P|Q)|R (4) new a (P|Q)  P|new a Q falls a nicht frei in P new a 0  0 , , new ab P  new ba P

18 Strukturelle Kongruenz
Definition: Prozess-Kongruenz  , definiert durch Gleichungen: (1) Änderung gebundener Namen (2) Umordnung der Terme in Summen (3) P|0  P, P|Q  Q|P, P|(Q|R)  (P|Q)|R (4) new a (P|Q)  P|new a Q falls a nicht frei in P , new a 0  0 , new ab P  new ba P (5) A<b>  { } PA falls A(a) = PA b a

19 Strukturelle Kongruenz
Definition: Prozess-Kongruenz  , definiert durch Gleichungen: (1) Änderung gebundener Namen (2) Umordnung der Terme in Summen (3) P|0  P, P|Q  Q|P, P|(Q|R)  (P|Q)|R (4) new a (P|Q)  P|new a Q falls a nicht frei in P , Notation: a Sequenz von Namen a1,…,an new a 0  0 , new ab P  new ba P (5) A<b>  { } PA falls A(a) = PA b a

20 Standardform Definition: Theorem: Ausdruck
new a (M1|…|Mn) mit Mi nichtleere Summe (1 ≤ i ≤ n) ist in Standardform. Falls n=0, M1|…|Mn = 0 Falls a leer, fällt new a weg Theorem: Jeder Prozessausdruck ist strukturell kongruent zu einer Standardform.

21 Semantik nebenläufiger Prozessausdrücke
Idee: "chemical machine" [Berry & Boudol '89] "Moleküle" können sich annähern und reagieren reagieren

22 Semantik nebenläufiger Prozessausdrücke
Idee: "chemical machine" [Berry & Boudol '89] "Moleküle" können sich annähern und reagieren

23 Semantik nebenläufiger Prozessausdrücke
Idee: "chemical machine" [Berry & Boudol '89] "Moleküle" können sich annähern und reagieren Reaktionen sind von aussen nicht mehr beobachtbar: t-Transitionen

24 Reaktion Definition: Relation  auf P wird durch Regeln definiert:
TAU : t.P + M  P REACT : (a.P + M)|(a.Q + N)  P|Q PAR : P  P' P|Q  P'|Q RES : P  P' new a P  new a P' STRUCT : P  P' Q  Q' falls P  Q und P'  Q'

25 Beispiel Inferenzbaum: A‘|B mit _ A = a.A‘ B = b.B‘ b.A|b.B‘  A|B‘
REACT A = a.A‘ B = b.B‘ A‘ = b.A B‘ = c.B _ STRUCT _ A‘|B  A|B‘

26 Beispiel Alternative Reaktionen: P = a.0 | a.A | a.B
_ _ P = a.0 | a.A | a.B Zwei Reaktionen sind möglich: _ P  A|a.B

27 Beispiel Alternative Reaktionen: P = a.0 | a.A | a.B
_ _ P = a.0 | a.A | a.B Zwei Reaktionen sind möglich: _ P  A|a.B _ und P  a.A| B Indeterminismus durch Reaktion

28 Referenzen Milner, R., Communicating and Mobile Systems:
the π – Calculus, Cambridge University Press, 1999 Milner, Operational & Algebraic Semantics of Concurrent Processes Handbook of Theoretical Computer Science B, Elsevier, 1990


Herunterladen ppt "Milners Kalkül Kommunizierender Systeme (CCS)"

Ähnliche Präsentationen


Google-Anzeigen