270 likes | 345 Views
Calculation of Communicating Systems (CCS). Amir Masoumzadeh Shahyad Sharghi. Outline. What is CCS ? Syntax and Definitions Semantics Behavioral Equivalence References. What is CCS ?. A process algebra that provides mathematical models of concurrent behavior By Robin Milner, 1980
E N D
Calculation of Communicating Systems (CCS) Amir Masoumzadeh Shahyad Sharghi
Outline • What is CCS ? • Syntax and Definitions • Semantics • Behavioral Equivalence • References
What is CCS ? • A process algebra that provides mathematical models of concurrent behavior • By Robin Milner, 1980 • “Communication & Concurrency”, 1989 • Handshake synchronization
Definitions • Names • Labels • Co-names • By convention • Actions • : internal or silent action not in Labels • Process Identifiers
Process Expressions • Nil Process • Definition • Prefixing • Choice • Parallel Composition • Restriction • Relabelling such that
Process Expressions Parallel Composition Restriction
Relabelling Process Expressions Choice
Semantics • Using Labelled Transition System • Transition relation is given by SOS rules:
Rules for CCS • Prefixing • Choice
Rules for CCS • Parallel Composition
Rules for CCS • Restriction • Relabelling
Value-Passing CCS • Handshake synchronization is extended with the possibility to exchange integer values
Behavioral Equivalence • The behavior of two process are equal when each can simulate exactly the behavior of the other • CCS can be used to describe both implementations of processes and specifications of their expected behaviors.
Trace Equivalence • Let be an LTS • Trace set s for Proc • Let • s,t are trace equivalent iff Traces(s) = Traces(t)
Trace Equivalence • Let • Do these processes behave the same? • The second term can deadlock:
Problem • Not only afford the same traces, but the states that they reach should still be equivalent
Strong Bisimilarity • A binary relation is a strong bisimulation iff whenever then for each : • Two processes are strong bisimilar (p1~p2) iff there exists a strong bisimulation R such that
Strong Bisimilarity • Example:
Strong Bisimilarity - Properties • Let P,Q be CCS processes such that P ~ Q then • Properties for any CCS processes P,Q,R :
Problems with Internal Actions • Strong bisimilarity does not abstract away from actions!
Weak Bisimilarity • A binary relation is a weak bisimulation iff whenever then for each • Two processes are weak bisimilar iff there exists a strong bisimulation R such that
Weak Bisimilarity - Properties • Let P,Q be CCS processes such that P ~ Q then • What about choice?
Automatic Tools • Concurrency Workbench (CWB) • Laboratory for Foundations of Computer Science, University of Edinburgh • http://www.dcs.ed.ac.uk/home/cwb/ • Help us in • deciding equivalence between processes • model checking • drawing the LTS of a process • interactively simulating the processes
References • Luca Aceto, Kim G. Larsen, “An Introduction to Milner’s CCS”, Aalborg University, Denmark, March 2005 • R. Cleaveland, S.A. Smolka, “Process Algebra”, 1999 • Vashti Galpin, “A comparison of bisimulation-based semantic equivalences for non-interleaving behavior over CCS processes”