280 likes | 398 Views
Milners Kalkül Kommunizierender Systeme (CCS). Arnaud Fietzke betreut durch Tim Priesnitz, Guido Tack. Proseminar: Theorie kommunizierender Systeme. Programming Systems Lab – Prof. Gert Smolka. A = a.A ‘ B = b.B ‘ A ‘ = b.A B ‘ = c.B. Modellierung nebenläufiger Systeme. a. _. >.
E N D
Milners Kalkül Kommunizierender Systeme(CCS) Arnaud Fietzke betreut durch Tim Priesnitz, Guido Tack Proseminar: Theorie kommunizierender Systeme Programming Systems Lab – Prof. Gert Smolka
A = a.A‘ B = b.B‘ A‘ = b.AB‘ = c.B Modellierung nebenläufiger Systeme a _ > A A‘ _ _ b b < B‘ B _ c
A|B mit A = a.A‘ B = b.B‘ A‘ = b.AB‘ = c.B A = a.A‘ B = b.B‘ A‘ = b.AB‘ = c.B _ _ CCS Modellierung nebenläufiger Systeme a > A A‘ _ b b < B‘ B _ c
Übersicht • Einführung • Syntax CCS • Semantik CCS • Idee • Strukturelle Kongruenz • Reaktion
Einführung Prozessalgebra: • algebraische Modellierung von nebenläufigen Prozessen • Darstellung komplexer Systeme mit Hilfe weniger Operatoren • ermöglicht automatische Verifikation
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]
|Sai.Pi iI mit I endliche Indexmenge 0 := mit I = 0 Sai.Pi _ iI a N N { t } N = {a,b,c,…} Namen System von nebenläufigen Prozessen: P1 ... = P1 | … | Pn mit ... Pn ... = Syntax CCS Definition: Menge P der Prozessausdrücke: |P1|P2 | new aP P ::= A<a1,...,an>
An “Ports“ können beobachtbare Aktionenstattfinden (a N N) _ Semantik CCS Idee: "chemical machine" [Berry & Boudol '89]
Semantik CCS Idee: "chemical machine" [Berry & Boudol '89] Komplementäre “Ports“ sind Reaktionspunkte z.B. b und b _
Semantik CCS Idee: "chemical machine" [Berry & Boudol '89] "Moleküle" können sichannähern und reagieren annähern
Prozess-Kongruenz Definition : Äquivalenzrelation (reflexiv, symmetrisch, transitiv) über P mit a.P + M new aP P|R R|P a.Q + M new aQ Q|R R|Q falls P Q
Eine bestimmte Prozess-Kongruenz lässt sich durchein Gleichungssystem definieren : 3 Prozess-Kontext Definition : C ::= | a.C+M| new aC | C|P|P|C C[Q] : Substitution von [] in C durch Q Für C=[] gilt: C[Q] = Q []
3 • erfüllt alle Gleichungen aus • 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: PP‘ oder P‘ P Eine bestimmte Prozess-Kongruenz lässt sich durchein Gleichungssystem definieren : 3 Prozess-Kongruenz
Beispiel: (new b) a.b (new c) a.c Strukturelle Kongruenz Definition: Prozess-Kongruenz , definiert durch Gleichungen: (1) Änderung gebundener Namen
Beispiel: a.0 + b.0b.0 + a.0 Strukturelle Kongruenz Definition: Prozess-Kongruenz , definiert durch Gleichungen: (1) Änderung gebundener Namen (2) Umordnung der Terme in Summen
Strukturelle Kongruenz Definition: Prozess-Kongruenz , definiert durch Gleichungen: (1) Änderung gebundener Namen (2) Umordnung der Terme in Summen (3) P|0P , P|Q Q|P , P|(Q|R) (P|Q)|R
, new a00 Strukturelle Kongruenz Definition: Prozess-Kongruenz , definiert durch Gleichungen: (1) Änderung gebundener Namen (2) Umordnung der Terme in Summen (3) P|0P, P|Q Q|P, P|(Q|R) (P|Q)|R (4) new a (P|Q) P|new aQfalls a nicht frei in P , new abP new baP
b a Strukturelle Kongruenz Definition: Prozess-Kongruenz , definiert durch Gleichungen: (1) Änderung gebundener Namen (2) Umordnung der Terme in Summen (3) P|0P, P|Q Q|P, P|(Q|R) (P|Q)|R (4) new a (P|Q) P|new aQ falls a nicht frei in P , , new abP new baP new a00 (5) A<b> { } PAfalls A(a) = PA
b a Notation: a Sequenz von Namen a1,…,an Strukturelle Kongruenz Definition: Prozess-Kongruenz , definiert durch Gleichungen: (1) Änderung gebundener Namen (2) Umordnung der Terme in Summen (3) P|0P, P|Q Q|P, P|(Q|R) (P|Q)|R (4) new a (P|Q) P|new aQ falls a nicht frei in P , , new abP new baP new a00 (5) A<b> { } PAfalls A(a) = PA
Theorem: Jeder Prozessausdruck ist strukturell kongruent zu einerStandardform. Standardform Definition: 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
reagieren Semantik nebenläufiger Prozessausdrücke Idee: "chemical machine" [Berry & Boudol '89] "Moleküle" können sichannähern und reagieren
Semantik nebenläufiger Prozessausdrücke Idee: "chemical machine" [Berry & Boudol '89] "Moleküle" können sichannähern und reagieren
Semantik nebenläufiger Prozessausdrücke Idee: "chemical machine" [Berry & Boudol '89] "Moleküle" können sichannähern und reagieren Reaktionen sind von aussennicht mehr beobachtbar: t-Transitionen
REACT : (a.P + M)|(a.Q + N) P|Q P P' PAR : P|Q P'|Q P P' RES : new a P new a P' P P' STRUCT : falls PQ und P' Q' Q Q' Reaktion Definition: Relation auf P wird durch Regeln definiert: TAU : t.P + MP
_ b.A|b.B‘ A|B‘ Beispiel Inferenzbaum: A‘|B mit REACT A = a.A‘ B = b.B‘ A‘ = b.AB‘ = c.B STRUCT _ _ A‘|BA|B‘
Beispiel Alternative Reaktionen: _ _ P = a.0 | a.A | a.B Zwei Reaktionen sind möglich: _ PA|a.B
Beispiel Alternative Reaktionen: _ _ P = a.0 | a.A | a.B Zwei Reaktionen sind möglich: _ PA|a.B _ Pa.A| B und Indeterminismus durch Reaktion
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