MPRI C-2-3: Concurrency (Part 1 of 4)

Size: px
Start display at page:

Download "MPRI C-2-3: Concurrency (Part 1 of 4)"

Transcription

1 From Computability to Concurrency Theory Calculus of Comunicating Systems CCS Verification and Specification. Expressiveness Solutions to Exercises. MPRI C-2-3: Concurrency (Part 1 of 4) Frank D. Valencia (CNRS-LIX, Ecole Polytechnique) Parts 2,3,4 by Francesco Zappa Nardelli (INRIA), James Leifer (INRIA) and Emmanuel Haucourt (CEA) MPRI C-2-3 MPRI C-2-3: Concurrency (Part 1 of 4)

2 Concurrency is everywhere... Concurrent Systems Multiple agents (processes) that interact among each other. Some concurrent systems of interest to our community: Reactive Systems. Synchronous Systems Mobile Systems Secure Systems Biological Systems Concurrent systems can combine: Example The Internet is a very complex concurrent system!

3 Concurrency: A Serious Challenge... Models of Concurrency Formal Models to describe and analyze concurrent systems. As other models of reality, these models must be simple, be expressive, be formal, provide reasoning techniques. Just like λ calculus model of sequential computation! Models for sequential computation don t apply. Concurrent computation is usually Non-Terminating Reactive (or Interactive)

4 Mobility What kind of mobility will we consider in this course? Processes move. Links move The last one, because it is the π-calculus choice; for flexibility and simplicity. π-calculus has the ability of communicating private and public links (names).

5 Mobile Systems Mobile phones

6 Mobile Systems Mobile phones

7 Sending private links: A flavour of process calculi Consider the following System: In the π-calculus we can represent this system as: Sys =(νa)(printer(a) Server(a, b) ) Client(b) where Printer(a) =a(x).p, Server(a, b) = b a.server and Client(b) =b(c).client (c) and Client (c) =c d.c

8 Communicating private links: A flavour of the π-calculus The evolution of the System: corresponds to the reduction : Sys (νa) ( Printer(a) Server Client (a) ) where Printer(a) =a(x).p, Server(a, b) = b a.server and Client(b) =b(c).client (c) and Client (a) =a d.c

9 Security Protocols The π-calculus can be used to formalize and analyze security protocols: Concurrent agents (processes) exchanging private messages over an untrusted network Want to achieve authentication, secrecy, anonymity, etc. Example: Needham-Schroder Public-Key Protocol.

10 Security Protocols Needham-Schroder Public-Key Protocol: Intended to provide mutual authentication between two agents A and B communicating on an untrusted network. Here m and n represent private/unique items (nonces) and {M} pub(x ) represents a message M encrypted with the X s public key.

11 Security Protocols Needham-Schroder Public-Key Protocol: Intended to provide mutual authentication between two agents A and B communicating on an untrusted network. But it fails to satisfy secrecy: The man-in-the-middle attack: By impersonating A, the agent C obtains B s private information; i.e., the nonce n.

12 Security Protocols and Other Applications of Process Calculi A nice application of process calculi: Modeling Security Protocols Process calculi can be used to predict flaws in Security Protocols. As done for the Needham-Schroeder Protocols in the late nineties by Gavin Lowe using CSP. Other applications include: Modelling Biological systems. Correctness of Distributed Algorithms. Analisys of Object Oriented Programs. Modelling Bussiness Processes.

13 This course This course is an introduction to models and techniques to reason about concurrent systems and languages. They allows us to reason about properties of concurrent and distributed programs. Just like the λ-calculus for sequential programs,

14 Course Structure Teachers: Frank Valencia (CCS, 12h) James Leifer (pi-calculus, 12h) Francesco Zappa(shared memory, separation logic, rely-guarantee,12h) Emmanuel Haucourt (directed algebraic ropology and concurrency,12h) Exams: Two exams (50% each): Personal and lecture notes allowed. References: Milner, R.. Communication and Concurrency.Prentice Hall. Milner, R. The pi-calculus. Cambridge University Press. Sangiorgi, D. and Walker, D. The pi-calculus: a Theory of Mobile Processes. Nachbin, L.. Topology and Order. Van Nostrand Reinhold. Higgins, P.J. Categories and Groupoids. Van Nostrand Reinhold. Course material, calendrier complet du cours : access with user=guest, pass=guest.

15 From Computability to Concurrency Theory Calculus of Comunicating Systems CCS Verification and Specification. Expressiveness Solutions to Exercises. CCS Outline 1 From Computability to Concurrency Theory Basic Concepts from Automata Theory Bisimilarity Equivalence 2 Calculus of Comunicating Systems CCS General Aspects of Process Calculi Syntax and Semantics Bisimilarity Observable Behaviour and other Equivalences 3 Verification and Specification. Verification and Specification 4 Expressiveness 5 Solutions to Exercises. MPRI C-2-3 MPRI C-2-3: Concurrency (Part 1 of 4)

16 Classic Automata Theory Automata Definition An automata A over an alphabet Act is a tuple (Q, Q 0, Q f, T ) where Write q S(A) =Q = {q 0, q 1,...} is the set of states, S 0 (A) =Q 0 Q is the set of initial states, S f (A) =Q f Q is the set of accepting (or final) states, T (A) =T Q Act Q is the set of transitions. a q for (q, a, q ) T. Omit Act when it is understood. Example: A Typical Graph Representation

17 Classic Automata Theory Regular Sets and Expressions Definition (Acceptance, Regularity) Fact a A accepts a 1...a n iff there is a path q 1 a 0 2 a q1 n in T (A) with q 0 S o (A) and q n S f (A). qn The Language of (or recognized by) A, L(A), is the set of sequences accepted by A. Regular sets are those recognized by finite-state automata (FSA). Regular Expressions (e.g. a.(b + c) ) are as expressive as FSA. Example

18 Classic Automata Theory Some Nice Properties and Exercises Fact 1 Deterministic and NonDeterministic FSA are equally expressive. 2 Regular sets are closed under (a) union, (b) complement, (c) intersection. 3 The Emptyness Problem and Language Equivalence of FSA are decidable. Exercises Using (2) prove (3).

19 Classic Automata Theory What is good for? Classic Automata Theory is solid and foundational with several applications in computer science. BUT consider reactive systems like the vending machine below. Example: A FSA Vending Machine Representation Example: A FSA Vending Machine Representation

20 Classic Automata Theory. The Problem with Language Equivalence In automata theory a (b + c) =a b + a c. I.e., p 0 and q o are equivalent. We need stronger equivalences that do not validate the above.

21 Bisimilarity: The Equivalence of Reactive Systems. Transition Systems Labelled Transition Systems (LTS) are automata in which initial and final states are irrelevant. Simulation Let T be an LTS. A relation R S(T ) S(T ) is a simulation iff for each (p, q) R: If p a p then there is q s.t. q a q and (p, q ) R. Bisimulation A relation R is a bisimulation iff R and its converse R 1 are both simulations. Similarity & Bisimilarity p is simulated by q iff there exists a simulation R s.t (p, q) R.

22 Game theoretical definition of Bisimilariy Bisimularity can be thought of as game between an attacker (Player I) and a defender (Player II) over a pair (p, q) trying to prove whether or not p q. 1 Player I must choose any valid transition from p or from q. I.e., either a p a p or a q a q. 2 Player II must then match that transition: If Player I chose p a p then Player II must choose a transition q a q. Go to (1) with p as p and q as q. The other case is analogous. 3 Players continue to take alternating turns until: 1 Player II is unable to find any valid transitions to match the Player I s move. In this case Player I wins. 2 The game reaches states p and q from which there are no transitions. In this case Player II wins. 3 The game goes on forever, in which case Player II wins. Exercise: Prove that p q if and only if Player II has a winning strategy for (p, q).

23 Bisimilarity and Games Definition. Say that p is game equivalent to q iff Player II has a winning stretegy for (p, q). Theorem p q if and only if p is game equivalent to q.

24 Bisimilarity is a bisimulation Theorem is (1) an equivalence and (2) a bisimulation.

25 Bisimilarity: Back-and-forth property Theorem p q if and only if 1 p α p implies for some q,q 2 q α q implies for some p,p Definition Define p q if and only if 1 p α p implies for some q, q 2 q α q implies for some p, p Proof. α q and p q α p and p q α q and p q α p and p q By showing that =. Since is a bisimulation, we have (*). To show, verify that is a bisimulation. This can be done by using (*) to show that if p q then p q.

26 Exercise: A weird bisimulation. Recall p q. Note also that p q (why?). Show that. Weird Simulation R is a weird simulation iff (p, q) R: 1- If p a p then there is q s.t. q a q and (p, q ) R. 2- If q a then p. a Weird Bisimilarity p < q iff there is a weird simulation R s.t (p, q) R. Also, p and q are weird bisimilar, written p q, iff p < q and q < p. Exercise

27 Exercise: A weird bisimulation. Weird Simulation R is a weird simulation iff (p, q) R: 1- If p a p then there is q s.t. q a q and (p, q ) R. 2- If q a then p. a Weird Bisimilarity p < q iff there is a weird simulation R s.t (p, q) R. Also, p and q are weird bisimilar, written p q, iff p < q and q < p. p q but p q

28 Process Calculi Process calculi treat processes much like λ-calculus treats computable functions: Structure of terms represent the structure of processes. E.g.: P Q Operational Semantics to represent computational steps. E.g.: P α P PAR P Q α P Q

29 Typical Issues in Developing Process Calculi Which process constructs fit the intended phenomena? E.g. atomic actions, parallelism, nondeterminism. How should these constructs be given meaning? E.g. Operational Semantics, Denotational Semantics. How should processes be compared? E.g. Observable Behavior, Process Equivalences. How should process properties be specified and proved? E.g. Logic for expressing process specifications (like in Hoare s Logic). How expressive is the calulus? E.g. What cannot be expressed in the calculus.

30 CCS Syntax Basic Entities of CCS: A set N = a, b,... of names and N = {a a N } of co-names. A set L = N N of labels (ranged over by l, l,...). A set Act = L { τ} of actions (ranged over by α, β,...). Action τ is called the silent or unobservable action. Actions a and a are viewed as being complementary. I.e., a = a.

31 CCS Syntax Definition (CCS Syntax of Processes) P, Q,... : Σ i I α i.p i P Q (νa)p A(a 1,..., a n ) Bound names of P, fn(p): Those with a bound occurrence in P. Free names of P, bn(p): Those with a not bound occurrence in P. For each (call) A(a 1,..., a n ) there is a unique process definition A(b 1... b n ) def = P, α.p denotes a summation where I = 1, and 0 denotes a summation where I = 0. P Q also written as P Q, and (νa)p is also written as P\a. The set of all processes is denoted by P.

32 Intuitions CCS: Transitions We will use a labelled transition semantics for CCS processes. A transition P α Q means that P can offer α (for interaction) and then behave as Q. For example,

33 Intuitions CCS: Transitions More intuitions: 1 Σ i I α i.p i may offer α i and evolve into P i : i.e., Σ i I α i.p i α i Pi 2 P Q may offer an action from P or an action from Q. Also if P can offer an action α and Q can offer its complement ᾱ then P Q may synchronize and this is represented with a τ action. 3 (νa)p may offer any action from P except a. 4 If A(b) def = P then A(a) may perfom any action from P[a/b]. Example a We have a.p ā.q P ā.q, and a.p ā.q a.p ā.q τ P Q. But we only have (νa)(a.p ā.q) force inner interactions. ā a.p Q, and τ (νa)(p Q). Thus (νa) can

34 CCS: Labelled Transitions Semantics. SUM Σi I α i.p i α i Pi P α P COM 1 P Q α P Q Q α Q COM 2 P Q α P Q COM 3 P l P Q l P Q Q τ P Q RES P (νa)p α P α (νa)p if α a and α a REC P α A[b 1,..., b n /a 1,..., a n ] P α A b 1,..., b n P if A(a 1,..., a n ) def = P A

35 Example of a Derivation. Derivation (tree) of a.p ā.q τ P Q: SUM a a.p P SUM ā.q COM 3 a.p ā.q τ P Q ā Q Derivation (tree) of a.p ā.q a P ā.q: SUM a COM a.p P 1 a.p ā.q a P ā.q

36 Examples in CCS Think of a counter as black-box you can interact with by pressing some buttons. In CCS: def = zero.c 0 + inc.c 1 C 0 def C n = dec.c n 1 + inc.c n 1 C def = C 0 But we presupposed infinitely many definitions C 0, C To illustrate the power of the restriction operator (ν ) let s do it with two defintions: def C = zero.c + inc.(νl)(c(l) l.c) C (l) def = dec. l.0 + inc.(νl )(C (l ) l.c (l))

37 Examples in CCS We do not have an explicit operator for sequentialization. I.e., P; Q which executes Q after P has finished. Exercise. A process is finite iff it does not have occurrences of recursive calls. Say that P is t-finite if it is finite and t is the last action P may offer. Suppose that P and Q are t-finite, encode P; Q so that P; Q is also t-finite.

38 Basic programming language. We have sequentialization and counters. For counter X replace C with X and zero, inc, dec with zero x, inc X, dec X. As before we use t to signal termination. The instruction X ++corresponds to inc X. t and The instruction X corresponds to dec X. t + zero X. t Encode the instruction X := Y. Encode the instruction if X = 0 then I else J where I and J are instructions. Encode a program (i.e., a sequence of instructions) Prog = I 1 ; I 2,..., I n over counters X, Y. Now you can even have parallel programs Prog Prog over counters.

39 CCS: Bisimilarity Labeled Transition System of CCS The LTS of CCS has P (the set of all processes) as its states and its transitions are given by the labelled transition semantics. Hence P Q iff the states represented by P and Q are bisimilar. Example: Processes and LTS states P = a.(b.0 + c.0) corresponds to p 0 and Q = a.b.0 + a.c.0 corresponds to q 0. Hence P Q.

40 Some Algebraic Equalities Some basic algebraic bisimilarity equalities: P Q Q P P 0 P (P Q) R P (Q R) (νa)0 0 (νa)α.p α.(νa)p (under what conditions?) (νa)(νb)p (νb)(νa)p P (νa)q (νa)(p Q) (under what conditions?) (νa)p (νb)p[b/a] (under what conditions?)

41 Commutativity Proof of commutativity of :

42 Congruence issues Suppose that P Q. We would like P R Q R. More generally, if P Q we would like C[P] C[Q] for any process context C[ ]. A context C[ ] is a term with a hole [ ] such that replacing the hole with any P yields a process term C[P]. for example, above C[ ] = [ ] R and C[P] =P R. We want to be a congruence. The notion of congruence allows us to replace equals with equals.

43 Congruence issues In fact is a congruence. We show this by proving that if P 1 P 2 then M + α.p 1 M + α.p 2 P 1 Q P 2 Q (νx)p 1 (νx)p 2

44 Congruence issues Proof. Want to prove that P 1 P 2 P 1 Q P 2 Q.

45 CCS Bisimilarity, Applications Recall our sequential composition P; Q defined as (ν s)( P[s/t] s.q) where s is fresh and t is the last action of P. Exercise: Prove that sequentialization is associative: P;(Q; R) (P; Q); R. Hint use the fact that is a congruence and basic equalities for.

46 Recall our sequential composition P; Q =(ν s)( P[s/t] s.q) where s is fresh and t is the last action of P. Exercise: Prove that sequentialization is associative: P;(Q; R) (P; Q); R. Hint: Using the algebraic equations and the fact that is a congruence we get: P;(Q; R) (νs)(p[s/t] s.(νs )(Q[s /t] s.r)) (νs )(νs)(p[s/t] s.(q[s /t] s.r)) (νs )(νs)(p[s/t] s.q[s /t] s.r)) (νs )((νs)(p[s/t] s.q))[s /t] s.r)) (P; Q); R

47 CCS: The expansion law. Notice that a.0 ā.0 is bisimilar to a.ā.0 + ā.a.0 + τ.0. More generally, we have the expansion law: (ν a)(p 1... P n ) Σ{a i.(ν a)(p 1... P i... P a n P i i P i, a, a i a} + Σ{τ.(νa)(P 1... P i... P j... P n P i l P i, P j l P j } So, every move in (ν a)(p 1... P n ) is either one of the P i or a communication between some P i and P j.

48 Up-to Techniques Definition A symmetric S is a bisimulation up to if P S Q implies - If P l P then Q st Q l Q and P S Q. Theorem If S is a strong bisimulation up to then S is strong bisimulation. So to prove P Q then we only need to find a strong bisimulation S up to containing the pair (P, Q). Why? Recall that Id P.

49 Up-to Techniques Proof: Want to show that... if S is a bisimulation up to, S is bisimulation.

50 Observable Behavior In principle, P and Q should be equivalent iff another process (the environment, an observer) cannot observe any difference in their behavior. Notice τ.p P, although τ is an unobservable action. So could be too strong:). We look for other notion of equivalence focused in terms of l observable actions (i.e., actions, l L).

51 Observations Think of any l with l τ as an observation. Think of an experiment e as a sequence l 1.l 2... l n of observable actions. Notation: If s = α 1... α n Act then define s = = ( τ ) α 1 ( τ )... ( τ ) α n ( τ ) e Notice that = for e = l 1.l 2... l n L denotes a sequence of observable actions inter-spread with τ actions: The notion of experiment.

52 Trace Equivalence Definition (Trace Equivalence) P and Q are trace equivalent, written P t Q, iff for every experiment (here called trace) e = l 1... l n L P = e iff Q = e Observations: τ.p t P (nice!) a.b.0 + a.c.0 t a.(b.0 + c.0) (not that nice:) a.b.0 + a.0 t a.b.0 (not sensitive to deadlocks) a.0 + b.0 t (νc)(c.0 c.a.0 c.b.0)

53 Language Equivalence Definition The language (or completed traces) of P is given by L(P) ={s L Q : P = s α Q α Act : Q }. Two processes are language equivalent iff they have the same language. We use L to denote language (or completed traces) equivalence. Let D def = τ.d, i.e., the divergent process. We have τ.0 t D, but τ.0 F D.

54 Failures Equivalence Definition (Failures Equivalence) A pair (e, L), where e L (a trace) and L L, is a failure for P iff there is P s.t.: (1)P e l = P, (2) P for all l L, and (3)P τ P f Q iff P and Q have the same failures. Observations: τ.p f P. a.b.0 + a.c.0 f a.(b.0 + c.0) (Exercise: why?) a.b.0 + a.0 f a.b.0. a.0 + b.0 f (νc)(c.0 c.a.0 c.b.0) (Exercise) a.(b.c.0 + b.d.0) f a.b.c.0 + a.b.d.0. Let D = τ.d. We have τ.0 f D.

55 Weak Bisimilarity Definition (Weak Bisimilarity) A symmetric relation R is a weak bisimulation iff for every (P, Q) R: If P = e P then there is Q s.t. Q = e Q and (P, Q ) R. Define P Q iff (P, Q) R for some weak bisimulation R. Observations: τ.p P, a.τ.p a.p However, a.0 + b.0 a.0 + τ.b.0 a.(b.c.0 + b.d.0) a.b.c.0 + a.b.d.0.(exercise) Let D = τ.d. We have τ.0 D. a.0 + b.0 (νc)(c.0 c.a.0 c.b.0) (Exercise)

56 Sensitivity to Convergence/Divergence. Definitions We say that P is convergent iff there is a Q such that P Q τ and Q. We say P is divergent iff P( ) τ ω. An equivalencce is sensitive to divergence (covergence) iff whenever P Q and P is divergent (convergent) then Q is divergent (convergent). 1 Show that weak-bisimilarity is not sensitive to divergence. 1 Show that failures-equivalence is not sensitive to divergence. 1 Show that trace equivalence and language-equivalence do not include each other. 1 Show that language-equivalence is not a congruence. 1 Show that failures-equivalence implies language-equivalence. 1 Show that of the above equivalence, failures-equivalence is the only one sensitive to convergence. τ

57 Solutions to previous exercises. Let Div = τ.div and R(a) =a.r(a). 1 Show that weak-bisimilarity is not sensitive to divergence. Take Div and τ.0 2 Show that failures-equivalence is not sensitive to divergence. Take Div + τ.0 and τ.0 3 Show that trace equivalence and language-equivalence do not include each other. Take a.a.0 and a.0 + a.a.0 4 Show that language-equivalence is not a congruence. Consider restriction. 5 Show that failures-equivalence implies language-equivalence. 6 Show that of the above equivalence, failures-equivalence is the only one sensitive to convergence. Take P = τ.r(a) and P = Div for language-equivalence and Q = τ.div + τ.0 and Q = Div for weak-bisimilarity and trace-equivalence.

58 Weak Bisimilarity Definition (Weak Bisimilarity) A symmetric relation R is a weak bisimulation iff for every (P, Q) R: If P = e P then Q s.t. Q = e Q and (P, Q ) R. Define P Q iff (P, Q) R for some weak bisimulation R. Theorem R is a weak bisimulation iff (P, Q) R: - If P l P then Q st Q = l Q and (P, Q ) R, - If P τ P then Q st Q = Q and (P, Q ) R.

59 Weak bisimulation up to Theorem Definition R is a weak bisimulation up to if P R Q implies - If P l P then Q st Q = l Q and P R Q, - If P τ P then Q st Q = Q and P R Q Theorem If R is weak bisimulation up to then R is a weak bisimulation. Hence order to prove P Q it suffices to find a weak bis R up to such that (P, Q) R.

60 Weak bisimulation up to Definition R is a weak bisimulation up to if P R Q implies - If P l P then Q st Q = l Q and P R Q, - If P τ P then Q st Q = Q and P R Q Conjecture R is weak bisimulation up to then R is a weak bisimulation. Is the above conjecture true? If not, try to fix the definition for up-to.

61 Weak Bisimulation upto Definition R is a weak bisimulation up to if P R Q implies - If P τ P then Q st Q = Q and P R Q This is not sound: τ.c and 0 are not weakly bisimilar. One fix is the following: Definition R is a weak bisimulation up to if P R Q implies - If P = s P then Q st Q = s Q and P R Q Theorem If R is weak bisimulation up to then R is a bisimulation.

62 Weak Bisimilarity is a congruence Theorem is a congruence. In particular, if P Q then M + α.p M + α.q.

63 Further properties of But weak bisimulation is not about ignoring all silent actions: Notice that P Q R P.

64 Further properties of Weak bisimulation allows arranging terms involving silent actions: The dashed transitions above can be eliminated up-to weak bisimilarity. In fact 1 P τ.p 2 M + N + τ.n M + τ.n 3 M + α.p + α.(τ.p + N) M + α.(τ.p + N). 4 M + α.p + τ.(α.p + N) =M + τ.(α.p + N) (*)

65 Unique Solutions to Equations Recall our counter definition. Let X 0, X 1... satisfying the equations In CCS: X 0 zero.x 0 + inc.x 1 X n dec.x n 1 + inc.x n+1 Clearly a solution for X i is C i. But are there more solutions up to? Consider also the equation X τ.x.

66 Unique Solutions to Equations Consider X a.p + τ.x. Does it have a solution? Many solutions (up-to weak bisimilarity)? Show that for any Q, the above equation has the solution X = a.p + τ.q (infinite family) Take X = a.0 + τ.y and Y = b.0 + τ.x. Does it have an infinity family of solutions for X? Take X 1 a.x 1 + τ.x 2 and X 2 a.x 1 + b.x 2. Find a solution for X 1. Are there more modulo weak bimilarity?

67

68 Unique Solutions to Equations Theorem Let X 1, X 0,... a (possibly infinite) sequence of variables satisfying : X 0 α 00.X k(00) α 0n0 X k(0n0 ) X 1 α 10.X k(10) α 1n1 X k(1n1 ) where each α ij τ. Then up to there is a unique sequence P 0, P 1,... satisfying the equations.

69 Unique Solutions to Equations

70 Application: Correctness of the counter Recall our two definitions of the counters def K 0 = zero.k 0 + inc.k 1 def K n = dec.k n 1 + inc.k n+1 And Count 0 Count(l n ) def = zero.count 0 + inc.(νl 1 )(Count(i 1 ) l 1.Count 0 ) def = dec. l n.0 + inc.(νl n+1 )(Count(l n+1 ) l n+1.count(l n )) Exercise: Prove that Count 0 K 0.

71 Axiomatization for Consider the set of axioms Axioms A 1 (A0-A4) stating that = is an equality and that + is commutative, associative with neutral element 0, and M + M = M. Axioms A 2 : A0-A4 + axioms for τ actions: A5. P = τ.p A6. M + N + τ.n = M + τ.n A7. M + α.p + α.(τ.p + N) =M + α.(τ.p + N) Exercise: Prove that A 2 can be equivantely defined by replacing A6 with A6 : M + α.p + τ.(α.p + N) =M + τ.(α.p + N)

72 Axiomatization for Consider the set of axioms Axioms A 1 (A0-A4) stating that + is commutative (A1), associative (A2), that M + M = M (A3) and M + 0 = 0 (A4). Axioms A 2 : A0-A4 + Axioms for τ actions: A5. P = τ.p A6. M + N + τ.n = M + τ.n A7. M + α.p + α.(τ.p + N) =M + α.(τ.p + N) Exercise: P def = a.(b.0 + τ.0) and Q def = a.(b.0 + τ.0)+a.0. Prove that A 2 P = Q. Notice: Q has a property that P doesn t: If Q = Q then Q α Q (i.e., α.q is a summand of Q) α

73 Axiomatization for Definition P is in full standard form iff P =Σ i α i.p i where each P i is itself in full standard form; If P = α P then P α P. A full standard form is saturated in the following sense: P α = P then α.p is a summand. The axioms of A 2 allows for saturation. Theorem If P α = P then A 2 P = P + α.p. The above can be used to prove that every P can be converted into a full normal form P so that A 2 P = P.

74 Axiomatization for Proof: Want to show that... If P α = P then A 2 P = P + α.p.

75 Axiomatization for Definition P is in full standard form iff Theorem P =Σ i α i.p i where each P i is itself in normal form; If P = α P then P α P. For every P there exists a full standard form P so that A 2 P = P. Proof. By induction on P. Take all pairs (α i, P i ) such that P = P i but α P P i. By ind. hypothesis each P i is in full standard form. Use the saturation theorem to prove that A 2 P = P +Σα i.p i. Clearly, P is full standard form. α

76 Axiomatization for Definition P is in full standard form iff P =Σ i α i.p i where each P i is itself in full standard form; If P α = P then P α P. A full standard form is saturated in the following sense: P = α P then α.p is a summand. The axioms of A 2 allows for saturation. Theorem If P and Q are finite processes then Proof. P Q if and only if A 2 P = Q Soundness (right to left direction) is easy. To prove completeness, we know there are P and Q in full standard form such that A P = P and A Q = Q. Then show that A P = Q.

77 Process Logic: Verification and Specification Processes can be used to specify and verify behavioural properties: E.g., 2p.tea.0 + 2p.coffe.0 specifies a machine which does not satisfy the behaviour specified by a 2p.(tea.0 + coffe.0). Alternatively, a logic can be used. An example of a property is P will never not execute a bad action or P eventually executes execute a good action.

78 Hennessy&Milner Logic Definition (Logic Syntax) F := true false F 1 F 2 F 1 F 2 K F [K]F where K is a set of actions The boolean operators are interpreted as in propositional logic. K F (possibility) asserts (of a given P): It is possible for P to do a a K and then evolve into a Q that satisfy F. Example: K true expresses the capability for perfoming actions from K [K]F (necessity) asserts (of a given P): If P can do a a K then it must evolve into a Q which satisfies F. Example: K false expresses the inability to initially perform an action in K,

79 Semantics of Hennessy-Milner Logic Definition The compliance of P with the specification F, written P = F, is given by: P = false P = true P = F 1 F 2 iff P = F 1 and P = F 2 P = F 1 F 2 iff P = F 1 or P = F 2 P = K F iff for some Q, P α Q, α K and Q = F P = [K]F iff if P α Q and α K then Q = F

80 From Computability to Concurrency Theory Calculus of Comunicating Systems CCS Verification and Specification. Expressiveness Solutions to Exercises. Examples Hennessy-Milner Logic Verification and Specification B 1 =[2p]([coffe] false tea true): After 2ps are deposited the coffee button cannot be pressed but the tea one can. B 1 =[2p][2p][2p] false: After 4ps are deposited no other coined may be deposited. B 1 = 2p true: You first need to deposite 2p. MPRI C-2-3 MPRI C-2-3: Concurrency (Part 1 of 4)

81 Examples Recall the bad vending machine B 2 : Is there an F such that B 1 = F but B 2 = F (or vice-versa)?

82 Examples Find distinsguish formula for: S = a.(b.c.0 + b.d.0) and S = a.b.c.0 + a.b.d.0.

83 HM Logic and Bisimilarity for Finitely Branching Processes. Example Let P 1 = a.(b.0 + c.0), P 2 = a.b.0 + a.c.0. Also let F = {a} ( {b} true {c} true). Notice that P 1 = F but P 2 = F. Theorem P Q if and onlyp = F iff Q = F for every F.

84 HM Logic and Bisimilarity for Finitely Branching Processes. Theorem P Q if and onlyp = F iff Q = F for every F. Proof. (=>) By induction on F. The interesting case is [a]f. Proof. (<=) Claim that set S of all pair of processes that satisfy the same formulae is a bisimulation. Suppose S is not. Then (P, Q) S so that Q cannot match a move P α P. There are two cases. Case 1: Q does have a transition Q α Q. But then P and Q do not satisfy the same formulae. Case 2: For Q s.t. Q α Q and P satifies a formula than Q doesn t. Then construct a formula that P satisfies but Q doesn t. Exercise. For the proof above the formula has the form a F with F = F 1... F i. What are the assumptions of the above proof? Does the theorem hold in general?

85 HM Logic and Bisimilarity for Finitely Branching Processes: Exercise. Theorem If P and Q are finite processes, then P Q if and onlyp = F iff Q = F for every F. Exercise: Define A ω def = a.a ω and A <ω def =Σ i 0 a i. Show that A <ω is not strongly bisimilar to A <ω + A ω but that they satisfy the same HM formulae.

Models of Concurrency

Models of Concurrency Models of Concurrency GERARDO SCHNEIDER UPPSALA UNIVERSITY DEPARTMENT OF INFORMATION TECHNOLOGY UPPSALA, SWEDEN Thanks to Frank Valencia Models of Concurrency p.1/57 Concurrency is Everywhere Concurrent

More information

An introduction to process calculi: Calculus of Communicating Systems (CCS)

An introduction to process calculi: Calculus of Communicating Systems (CCS) An introduction to process calculi: Calculus of Communicating Systems (CCS) Lecture 2 of Modelli Matematici dei Processi Concorrenti Paweł Sobociński University of Southampton, UK Intro to process calculi:

More information

Formal Techniques for Software Engineering: CCS: A Calculus for Communicating Systems

Formal Techniques for Software Engineering: CCS: A Calculus for Communicating Systems Formal Techniques for Software Engineering: CCS: A Calculus for Communicating Systems Rocco De Nicola IMT Institute for Advanced Studies, Lucca rocco.denicola@imtlucca.it June 2013 Lesson 10 R. De Nicola

More information

Trace Refinement of π-calculus Processes

Trace Refinement of π-calculus Processes Trace Refinement of pi-calculus Processes Trace Refinement of π-calculus Processes Manuel Gieseking manuel.gieseking@informatik.uni-oldenburg.de) Correct System Design, Carl von Ossietzky University of

More information

Review of The π-calculus: A Theory of Mobile Processes

Review of The π-calculus: A Theory of Mobile Processes Review of The π-calculus: A Theory of Mobile Processes Riccardo Pucella Department of Computer Science Cornell University July 8, 2001 Introduction With the rise of computer networks in the past decades,

More information

The Calculus of Communicating Systems

The Calculus of Communicating Systems The Calculus of Communicating Systems Wolfgang Schreiner Research Institute for Symbolic Computation (RISC-Linz) Johannes Kepler University, A-4040 Linz, Austria Wolfgang.Schreiner@risc.uni-linz.ac.at

More information

Communication and Concurrency: CCS

Communication and Concurrency: CCS Communication and Concurrency: CCS R. Milner, A Calculus of Communicating Systems, 1980 cours SSDE Master 1 Why calculi? Prove properties on programs and languages Principle: tiny syntax, small semantics,

More information

The State Explosion Problem

The State Explosion Problem The State Explosion Problem Martin Kot August 16, 2003 1 Introduction One from main approaches to checking correctness of a concurrent system are state space methods. They are suitable for automatic analysis

More information

Decidable Subsets of CCS

Decidable Subsets of CCS Decidable Subsets of CCS based on the paper with the same title by Christensen, Hirshfeld and Moller from 1994 Sven Dziadek Abstract Process algebra is a very interesting framework for describing and analyzing

More information

Communication and Concurrency: CCS. R. Milner, A Calculus of Communicating Systems, 1980

Communication and Concurrency: CCS. R. Milner, A Calculus of Communicating Systems, 1980 Communication and Concurrency: CCS R. Milner, A Calculus of Communicating Systems, 1980 Why calculi? Prove properties on programs and languages Principle: tiny syntax, small semantics, to be handled on

More information

Concurrent Processes and Reaction

Concurrent Processes and Reaction Concurrent Processes and Reaction Overview External and internal actions Observations Concurrent process expressions Structural congruence Reaction References Robin Milner, Communication and Concurrency

More information

A Note on Scope and Infinite Behaviour in CCS-like Calculi p.1/32

A Note on Scope and Infinite Behaviour in CCS-like Calculi p.1/32 A Note on Scope and Infinite Behaviour in CCS-like Calculi GERARDO SCHNEIDER UPPSALA UNIVERSITY DEPARTMENT OF INFORMATION TECHNOLOGY UPPSALA, SWEDEN Joint work with Pablo Giambiagi and Frank Valencia A

More information

Concurrency theory. proof-techniques for syncronous and asynchronous pi-calculus. Francesco Zappa Nardelli. INRIA Rocquencourt, MOSCOVA research team

Concurrency theory. proof-techniques for syncronous and asynchronous pi-calculus. Francesco Zappa Nardelli. INRIA Rocquencourt, MOSCOVA research team Concurrency theory proof-techniques for syncronous and asynchronous pi-calculus Francesco Zappa Nardelli INRIA Rocquencourt, MOSCOVA research team francesco.zappa nardelli@inria.fr together with Frank

More information

The Expressivity of Universal Timed CCP: Undecidability of Monadic FLTL and Closure Operators for Security

The Expressivity of Universal Timed CCP: Undecidability of Monadic FLTL and Closure Operators for Security The Expressivity of Universal Timed CCP: Undecidability of Monadic FLTL and Closure Operators for Security Carlos Olarte and Frank D. Valencia INRIA /CNRS and LIX, Ecole Polytechnique Motivation Concurrent

More information

Communicating and Mobile Systems

Communicating and Mobile Systems Communicating and Mobile Systems Overview:! Programming Model! Interactive Behavior! Labeled Transition System! Bisimulation! The π-calculus! Data Structures and λ-calculus encoding in the π-calculus References:!

More information

Equations, contractions, and unique solutions

Equations, contractions, and unique solutions Equations, contractions, and unique solutions Davide Sangiorgi To cite this version: Davide Sangiorgi. Equations, contractions, and unique solutions. POPL 2015 - Proceedings of the 42nd Annual ACM SIGPLAN-SIGACT

More information

Semantic Equivalences and the. Verification of Infinite-State Systems 1 c 2004 Richard Mayr

Semantic Equivalences and the. Verification of Infinite-State Systems 1 c 2004 Richard Mayr Semantic Equivalences and the Verification of Infinite-State Systems Richard Mayr Department of Computer Science Albert-Ludwigs-University Freiburg Germany Verification of Infinite-State Systems 1 c 2004

More information

Process Algebras and Concurrent Systems

Process Algebras and Concurrent Systems Process Algebras and Concurrent Systems Rocco De Nicola Dipartimento di Sistemi ed Informatica Università di Firenze Process Algebras and Concurrent Systems August 2006 R. De Nicola (DSI-UNIFI) Process

More information

A Behavioral Congruence for Concurrent Constraint Programming with Nondeterministic Choice

A Behavioral Congruence for Concurrent Constraint Programming with Nondeterministic Choice A Behavioral Congruence for Concurrent Constraint Programming with Nondeterministic Choice Luis Pino*, Filippo Bonchi** and Frank Valencia* (Presented by: Jorge A. Pe rez) *E quipe Come te, LIX, Laboratoire

More information

Complex Systems Design & Distributed Calculus and Coordination

Complex Systems Design & Distributed Calculus and Coordination Complex Systems Design & Distributed Calculus and Coordination Concurrency and Process Algebras: Theory and Practice Francesco Tiezzi University of Camerino francesco.tiezzi@unicam.it A.A. 2014/2015 F.

More information

Semantics and Verification

Semantics and Verification Semantics and Verification Lecture 2 informal introduction to CCS syntax of CCS semantics of CCS 1 / 12 Sequential Fragment Parallelism and Renaming CCS Basics (Sequential Fragment) Nil (or 0) process

More information

T Reactive Systems: Temporal Logic LTL

T Reactive Systems: Temporal Logic LTL Tik-79.186 Reactive Systems 1 T-79.186 Reactive Systems: Temporal Logic LTL Spring 2005, Lecture 4 January 31, 2005 Tik-79.186 Reactive Systems 2 Temporal Logics Temporal logics are currently the most

More information

A π-calculus with preorders

A π-calculus with preorders A π-calculus with preorders Daniel Hirschkoff, Jean-Marie Madiot, Davide Sangiorgi École Normale Supérieure de Lyon Università di Bologna PACE kick-off meeting, 2013-04-23 Jean-Marie Madiot (Lyon, Bologna)

More information

Formalising the π-calculus in Isabelle

Formalising the π-calculus in Isabelle Formalising the π-calculus in Isabelle Jesper Bengtson Department of Computer Systems University of Uppsala, Sweden 30th May 2006 Overview This talk will cover the following Motivation Why are we doing

More information

Some techniques and results in deciding bisimilarity

Some techniques and results in deciding bisimilarity Some techniques and results in deciding bisimilarity Petr Jančar Dept of Computer Science Technical University Ostrava (FEI VŠB-TU) Czech Republic www.cs.vsb.cz/jancar Talk at the Verification Seminar,

More information

Modal and Temporal Logics

Modal and Temporal Logics Modal and Temporal Logics Colin Stirling School of Informatics University of Edinburgh July 23, 2003 Why modal and temporal logics? 1 Computational System Modal and temporal logics Operational semantics

More information

Embedded systems specification and design

Embedded systems specification and design Embedded systems specification and design David Kendall David Kendall Embedded systems specification and design 1 / 21 Introduction Finite state machines (FSM) FSMs and Labelled Transition Systems FSMs

More information

Timo Latvala. February 4, 2004

Timo Latvala. February 4, 2004 Reactive Systems: Temporal Logic LT L Timo Latvala February 4, 2004 Reactive Systems: Temporal Logic LT L 8-1 Temporal Logics Temporal logics are currently the most widely used specification formalism

More information

From CCS to Hybrid π via baby steps. Bill Rounds CSE, U of Michigan

From CCS to Hybrid π via baby steps. Bill Rounds CSE, U of Michigan From CCS to Hybrid π via baby steps Bill Rounds CSE, U of Michigan Main idea The hybrid pi-calculus extends pi-calculus by adding a component called the continuous environment, which evolves over time

More information

Strong bisimilarity can be opened

Strong bisimilarity can be opened Strong bisimilarity can be opened Henning E. Andersen Hans Hüttel Karina N. Jensen June 7, 2002 Abstract We present an extension of the semantics of the π-calculus without match where strong bisimilarity

More information

Self-Adaptation and Information Flow in Multiparty Communications

Self-Adaptation and Information Flow in Multiparty Communications Self-Adaptation and Information Flow in Multiparty Communications Joint work with Ilaria Castellani (INRIA, FR) Jorge A. Pérez (University of Groningen, NL) ABCD meeting London, 20th April, 2015 1 / 36

More information

Automata-Theoretic Model Checking of Reactive Systems

Automata-Theoretic Model Checking of Reactive Systems Automata-Theoretic Model Checking of Reactive Systems Radu Iosif Verimag/CNRS (Grenoble, France) Thanks to Tom Henzinger (IST, Austria), Barbara Jobstmann (CNRS, Grenoble) and Doron Peled (Bar-Ilan University,

More information

PSL Model Checking and Run-time Verification via Testers

PSL Model Checking and Run-time Verification via Testers PSL Model Checking and Run-time Verification via Testers Formal Methods 2006 Aleksandr Zaks and Amir Pnueli New York University Introduction Motivation (Why PSL?) A new property specification language,

More information

A Propositional Dynamic Logic for Instantial Neighborhood Semantics

A Propositional Dynamic Logic for Instantial Neighborhood Semantics A Propositional Dynamic Logic for Instantial Neighborhood Semantics Johan van Benthem, Nick Bezhanishvili, Sebastian Enqvist Abstract We propose a new perspective on logics of computation by combining

More information

Alan Bundy. Automated Reasoning LTL Model Checking

Alan Bundy. Automated Reasoning LTL Model Checking Automated Reasoning LTL Model Checking Alan Bundy Lecture 9, page 1 Introduction So far we have looked at theorem proving Powerful, especially where good sets of rewrite rules or decision procedures have

More information

Lecture Notes: The Halting Problem; Reductions

Lecture Notes: The Halting Problem; Reductions Lecture Notes: The Halting Problem; Reductions COMS W3261 Columbia University 20 Mar 2012 1 Review Key point. Turing machines can be encoded as strings, and other Turing machines can read those strings

More information

Bounded Stacks, Bags and Queues

Bounded Stacks, Bags and Queues Bounded Stacks, Bags and Queues J.C.M. Baeten 1 and J.A. Bergstra 2,3 1 Department of Mathematics and Computing Science, Eindhoven University of Technology, P.O. Box 513, NL-5600 MB Eindhoven, The Netherlands,

More information

Temporal logics and explicit-state model checking. Pierre Wolper Université de Liège

Temporal logics and explicit-state model checking. Pierre Wolper Université de Liège Temporal logics and explicit-state model checking Pierre Wolper Université de Liège 1 Topics to be covered Introducing explicit-state model checking Finite automata on infinite words Temporal Logics and

More information

Unifying Theories of Programming

Unifying Theories of Programming 1&2 Unifying Theories of Programming Unifying Theories of Programming 3&4 Theories Unifying Theories of Programming designs predicates relations reactive CSP processes Jim Woodcock University of York May

More information

A Characterization of Regular Expressions under Bisimulation

A Characterization of Regular Expressions under Bisimulation A Characterization of Regular Expressions under Bisimulation J. C. M. BAETEN Technische Universiteit Eindhoven, Eindhoven, The Netherlands F. CORRADINI Università di Camerino, Camerino, Italy AND C. A.

More information

Structure Preserving Bisimilarity,

Structure Preserving Bisimilarity, Structure Preserving Bisimilarity, Supporting an Operational Petri Net Semantics of CCSP Rob van Glabbeek NICTA, Sydney, Australia University of New South Wales, Sydney, Australia September 2015 Milner:

More information

Business Process Management

Business Process Management Business Process Management Theory: The Pi-Calculus Frank Puhlmann Business Process Technology Group Hasso Plattner Institut Potsdam, Germany 1 What happens here? We discuss the application of a general

More information

A Weak Bisimulation for Weighted Automata

A Weak Bisimulation for Weighted Automata Weak Bisimulation for Weighted utomata Peter Kemper College of William and Mary Weighted utomata and Semirings here focus on commutative & idempotent semirings Weak Bisimulation Composition operators Congruence

More information

Proving Security Protocols Correct. Lawrence C. Paulson Computer Laboratory

Proving Security Protocols Correct. Lawrence C. Paulson Computer Laboratory Proving Security Protocols Correct Lawrence C. Paulson Computer Laboratory How Detailed Should a Model Be? too detailed too simple concrete abstract not usable not credible ``proves'' everything ``attacks''

More information

Chapter 5: Linear Temporal Logic

Chapter 5: Linear Temporal Logic Chapter 5: Linear Temporal Logic Prof. Ali Movaghar Verification of Reactive Systems Spring 94 Outline We introduce linear temporal logic (LTL), a logical formalism that is suited for specifying LT properties.

More information

Temporal Logic. Stavros Tripakis University of California, Berkeley. We have designed a system. We want to check that it is correct.

Temporal Logic. Stavros Tripakis University of California, Berkeley. We have designed a system. We want to check that it is correct. EE 244: Fundamental Algorithms for System Modeling, Analysis, and Optimization Fall 2016 Temporal logic Stavros Tripakis University of California, Berkeley Stavros Tripakis (UC Berkeley) EE 244, Fall 2016

More information

On the coinductive nature of centralizers

On the coinductive nature of centralizers On the coinductive nature of centralizers Charles Grellois INRIA & University of Bologna Séminaire du LIFO Jan 16, 2017 Charles Grellois (INRIA & Bologna) On the coinductive nature of centralizers Jan

More information

Chapter 6: Computation Tree Logic

Chapter 6: Computation Tree Logic Chapter 6: Computation Tree Logic Prof. Ali Movaghar Verification of Reactive Systems Outline We introduce Computation Tree Logic (CTL), a branching temporal logic for specifying system properties. A comparison

More information

Encoding security protocols in the cryptographic λ-calculus. Eijiro Sumii Joint work with Benjamin Pierce University of Pennsylvania

Encoding security protocols in the cryptographic λ-calculus. Eijiro Sumii Joint work with Benjamin Pierce University of Pennsylvania Encoding security protocols in the cryptographic λ-calculus Eijiro Sumii Joint work with Benjamin Pierce University of Pennsylvania An obvious fact Security is important Cryptography is a major way to

More information

Recursive equations in higher-order process calculi

Recursive equations in higher-order process calculi Theoretical Computer Science 266 (2001) 839 852 www.elsevier.com/locate/tcs Recursive equations in higher-order process calculi Mingsheng Ying a; ;1, Martin Wirsing b a State Key Laboratory of Intelligent

More information

CDS 270 (Fall 09) - Lecture Notes for Assignment 8.

CDS 270 (Fall 09) - Lecture Notes for Assignment 8. CDS 270 (Fall 09) - Lecture Notes for Assignment 8. ecause this part of the course has no slides or textbook, we will provide lecture supplements that include, hopefully, enough discussion to complete

More information

Finite State Automata

Finite State Automata Trento 2005 p. 1/4 Finite State Automata Automata: Theory and Practice Paritosh K. Pandya (TIFR, Mumbai, India) Unversity of Trento 10-24 May 2005 Trento 2005 p. 2/4 Finite Word Langauges Alphabet Σ is

More information

Chapter 4: Computation tree logic

Chapter 4: Computation tree logic INFOF412 Formal verification of computer systems Chapter 4: Computation tree logic Mickael Randour Formal Methods and Verification group Computer Science Department, ULB March 2017 1 CTL: a specification

More information

Introduction to Process Algebra. Based on: Wan Fokkink, Introduction to Process Algebra, Springer-Verlag, 1999.

Introduction to Process Algebra. Based on: Wan Fokkink, Introduction to Process Algebra, Springer-Verlag, 1999. Introduction to Process Algebra Based on: Wan Fokkink, Introduction to Process Algebra, Springer-Verlag, 1999. Reading list: J. Baeten and P. Weijland, Process Algebra, Cambridge Tracts in Theoretical

More information

Partial model checking via abstract interpretation

Partial model checking via abstract interpretation Partial model checking via abstract interpretation N. De Francesco, G. Lettieri, L. Martini, G. Vaglini Università di Pisa, Dipartimento di Ingegneria dell Informazione, sez. Informatica, Via Diotisalvi

More information

Communicating Parallel Processes. Stephen Brookes

Communicating Parallel Processes. Stephen Brookes Communicating Parallel Processes Stephen Brookes Carnegie Mellon University Deconstructing CSP 1 CSP sequential processes input and output as primitives named parallel composition synchronized communication

More information

Dynamic Semantics. Dynamic Semantics. Operational Semantics Axiomatic Semantics Denotational Semantic. Operational Semantics

Dynamic Semantics. Dynamic Semantics. Operational Semantics Axiomatic Semantics Denotational Semantic. Operational Semantics Dynamic Semantics Operational Semantics Denotational Semantic Dynamic Semantics Operational Semantics Operational Semantics Describe meaning by executing program on machine Machine can be actual or simulated

More information

The π-calculus Semantics. Equivalence and Value-Passing. Infinite Sums 4/12/2004

The π-calculus Semantics. Equivalence and Value-Passing. Infinite Sums 4/12/2004 The π-calculus Semantics Overview ate and early semantics Bisimulation and congruence Variations of the calculus eferences obin Milner, Communicating and Mobil Systems Davide Sangiorgi and David Walker,

More information

MSR 3.0: The Logical Meeting Point of Multiset Rewriting and Process Algebra. Iliano Cervesato. ITT Industries, NRL Washington, DC

MSR 3.0: The Logical Meeting Point of Multiset Rewriting and Process Algebra. Iliano Cervesato. ITT Industries, NRL Washington, DC MSR 3.0: The Logical Meeting Point of Multiset Rewriting and Process Algebra Iliano Cervesato iliano@itd.nrl.navy.mil ITT Industries, inc @ NRL Washington, DC http://theory.stanford.edu/~iliano ISSS 2003,

More information

Linear-time Temporal Logic

Linear-time Temporal Logic Linear-time Temporal Logic Pedro Cabalar Department of Computer Science University of Corunna, SPAIN cabalar@udc.es 2015/2016 P. Cabalar ( Department Linear oftemporal Computer Logic Science University

More information

Lecture 16: Computation Tree Logic (CTL)

Lecture 16: Computation Tree Logic (CTL) Lecture 16: Computation Tree Logic (CTL) 1 Programme for the upcoming lectures Introducing CTL Basic Algorithms for CTL CTL and Fairness; computing strongly connected components Basic Decision Diagrams

More information

An Equational Axiomatization for Multi-Exit Iteration

An Equational Axiomatization for Multi-Exit Iteration An Equational Axiomatization for Multi-Exit Iteration Luca Aceto BRICS Department of Computer Science Aalborg University, Fr. Bajersvej 7E 9220 Aalborg Ø, Denmark Wan Fokkink Utrecht University, Department

More information

Introduction to Temporal Logic. The purpose of temporal logics is to specify properties of dynamic systems. These can be either

Introduction to Temporal Logic. The purpose of temporal logics is to specify properties of dynamic systems. These can be either Introduction to Temporal Logic The purpose of temporal logics is to specify properties of dynamic systems. These can be either Desired properites. Often liveness properties like In every infinite run action

More information

EMBEDDED SYSTEMS WILLIAM C. ROUNDS AND HOSUNG SONG

EMBEDDED SYSTEMS WILLIAM C. ROUNDS AND HOSUNG SONG THE φ-calculus A HYBRID EXTENSION OF THE π-calculus TO EMBEDDED SYSTEMS WILLIAM C. ROUNDS AND HOSUNG SONG 1. Introduction Embedded systems are software systems which reside in a physical environment and

More information

CS 395T. Probabilistic Polynomial-Time Calculus

CS 395T. Probabilistic Polynomial-Time Calculus CS 395T Probabilistic Polynomial-Time Calculus Security as Equivalence Intuition: encryption scheme is secure if ciphertext is indistinguishable from random noise Intuition: protocol is secure if it is

More information

Communication Errors in the π-calculus are Undecidable

Communication Errors in the π-calculus are Undecidable Communication Errors in the π-calculus are Undecidable Vasco T. Vasconcelos Department of Informatics Faculty of Sciences, University of Lisbon António Ravara Department of Mathematics Lisbon Institute

More information

A note on coinduction and weak bisimilarity for while programs

A note on coinduction and weak bisimilarity for while programs Centrum voor Wiskunde en Informatica A note on coinduction and weak bisimilarity for while programs J.J.M.M. Rutten Software Engineering (SEN) SEN-R9826 October 31, 1998 Report SEN-R9826 ISSN 1386-369X

More information

Chapter 3: Linear temporal logic

Chapter 3: Linear temporal logic INFOF412 Formal verification of computer systems Chapter 3: Linear temporal logic Mickael Randour Formal Methods and Verification group Computer Science Department, ULB March 2017 1 LTL: a specification

More information

Dynamic Noninterference Analysis Using Context Sensitive Static Analyses. Gurvan Le Guernic July 14, 2007

Dynamic Noninterference Analysis Using Context Sensitive Static Analyses. Gurvan Le Guernic July 14, 2007 Dynamic Noninterference Analysis Using Context Sensitive Static Analyses Gurvan Le Guernic July 14, 2007 1 Abstract This report proposes a dynamic noninterference analysis for sequential programs. This

More information

Axiomatizations for probabilistic finite-state behaviors

Axiomatizations for probabilistic finite-state behaviors Axiomatizations for probabilistic finite-state behaviors Yuxin Deng a, Catuscia Palamidessi b a Shanghai Jiao Tong University, China b INRIA Futurs and LIX, École Polytechnique, France Abstract We study

More information

Formal Methods for Specifying and Verifying Distributed Algorithms Process Algebra vs I/O Automata

Formal Methods for Specifying and Verifying Distributed Algorithms Process Algebra vs I/O Automata Formal Methods for Specifying and Verifying Distributed Algorithms Process Algebra vs I/O Automata Marina Gelastou, Chryssis Georgiou and Anna Philippou Department of Computer Science, University of Cyprus,

More information

Computer-Aided Program Design

Computer-Aided Program Design Computer-Aided Program Design Spring 2015, Rice University Unit 3 Swarat Chaudhuri February 5, 2015 Temporal logic Propositional logic is a good language for describing properties of program states. However,

More information

Automata-based Verification - III

Automata-based Verification - III COMP30172: Advanced Algorithms Automata-based Verification - III Howard Barringer Room KB2.20: email: howard.barringer@manchester.ac.uk March 2009 Third Topic Infinite Word Automata Motivation Büchi Automata

More information

A Thread Algebra with Multi-level Strategic Interleaving

A Thread Algebra with Multi-level Strategic Interleaving Theory of Computing Systems manuscript No. (will be inserted by the editor) A Thread Algebra with Multi-level Strategic Interleaving J.A. Bergstra 1,2, C.A. Middelburg 3,1 1 Programming Research Group,

More information

A Brief Introduction to Model Checking

A Brief Introduction to Model Checking A Brief Introduction to Model Checking Jan. 18, LIX Page 1 Model Checking A technique for verifying finite state concurrent systems; a benefit on this restriction: largely automatic; a problem to fight:

More information

NSL Verification and Attacks Agents Playing Both Roles

NSL Verification and Attacks Agents Playing Both Roles NSL Verification and Attacks Agents Playing Both Roles Pedro Adão Gergei Bana Abstract Background: [2] and eprint version: [1] 1 The Axioms Equality is a Congruence. The first axiom says that the equality

More information

Automata-based Verification - III

Automata-based Verification - III CS3172: Advanced Algorithms Automata-based Verification - III Howard Barringer Room KB2.20/22: email: howard.barringer@manchester.ac.uk March 2005 Third Topic Infinite Word Automata Motivation Büchi Automata

More information

One Year Later. Iliano Cervesato. ITT Industries, NRL Washington, DC. MSR 3.0:

One Year Later. Iliano Cervesato. ITT Industries, NRL Washington, DC.  MSR 3.0: MSR 3.0: The Logical Meeting Point of Multiset Rewriting and Process Algebra MSR 3: Iliano Cervesato iliano@itd.nrl.navy.mil One Year Later ITT Industries, inc @ NRL Washington, DC http://www.cs.stanford.edu/~iliano

More information

Model Theory of Modal Logic Lecture 5. Valentin Goranko Technical University of Denmark

Model Theory of Modal Logic Lecture 5. Valentin Goranko Technical University of Denmark Model Theory of Modal Logic Lecture 5 Valentin Goranko Technical University of Denmark Third Indian School on Logic and its Applications Hyderabad, January 29, 2010 Model Theory of Modal Logic Lecture

More information

Timed Automata. Chapter Clocks and clock constraints Clock variables and clock constraints

Timed Automata. Chapter Clocks and clock constraints Clock variables and clock constraints Chapter 10 Timed Automata In the previous chapter, we have discussed a temporal logic where time was a discrete entities. A time unit was one application of the transition relation of an LTS. We could

More information

Finitely Branching LTS s from Reaction Semantics for Process Calculi

Finitely Branching LTS s from Reaction Semantics for Process Calculi Finitely Branching LTS s from Reaction Semantics for Process Calculi Pietro Di Gianantonio Furio Honsell Marina Lenisa Dipartimento di Matematica e Informatica, Università di Udine via delle Scienze 206,

More information

ON THE AXIOMATIZABILITY OF IMPOSSIBLE FUTURES

ON THE AXIOMATIZABILITY OF IMPOSSIBLE FUTURES Logical Methods in Computer Science Vol. 11(3:17)2015, pp. 1 30 www.lmcs-online.org Submitted Jan. 4, 2015 Published Sep. 22, 2015 ON THE AXIOMATIZABILITY OF IMPOSSIBLE FUTURES TAOLUE CHEN a, WAN FOKKINK

More information

Modal and temporal logic

Modal and temporal logic Modal and temporal logic N. Bezhanishvili I. Hodkinson C. Kupke Imperial College London 1 / 83 Overview Part II 1 Soundness and completeness. Canonical models. 3 lectures. 2 Finite model property. Filtrations.

More information

Information and Computation

Information and Computation Information and Computation 207 (2009) 14 40 Contents lists available at ScienceDirect Information and Computation journal homepage: www.elsevier.com/locate/ic Synthesising CCS bisimulation using graph

More information

Lecture Notes On THEORY OF COMPUTATION MODULE -1 UNIT - 2

Lecture Notes On THEORY OF COMPUTATION MODULE -1 UNIT - 2 BIJU PATNAIK UNIVERSITY OF TECHNOLOGY, ODISHA Lecture Notes On THEORY OF COMPUTATION MODULE -1 UNIT - 2 Prepared by, Dr. Subhendu Kumar Rath, BPUT, Odisha. UNIT 2 Structure NON-DETERMINISTIC FINITE AUTOMATA

More information

Failure Diagnosis of Discrete Event Systems With Linear-Time Temporal Logic Specifications

Failure Diagnosis of Discrete Event Systems With Linear-Time Temporal Logic Specifications Failure Diagnosis of Discrete Event Systems With Linear-Time Temporal Logic Specifications Shengbing Jiang and Ratnesh Kumar Abstract The paper studies failure diagnosis of discrete event systems with

More information

An Introduction to Temporal Logics

An Introduction to Temporal Logics An Introduction to Temporal Logics c 2001,2004 M. Lawford Outline Motivation: Dining Philosophers Safety, Liveness, Fairness & Justice Kripke structures, LTS, SELTS, and Paths Linear Temporal Logic Branching

More information

Decentralized Control of Discrete Event Systems with Bounded or Unbounded Delay Communication

Decentralized Control of Discrete Event Systems with Bounded or Unbounded Delay Communication Decentralized Control of Discrete Event Systems with Bounded or Unbounded Delay Communication Stavros Tripakis Abstract We introduce problems of decentralized control with communication, where we explicitly

More information

Liveness of Communicating Transactions

Liveness of Communicating Transactions (joint work with Vasileios Koutavas and Matthew Hennessy) TRINITY COLLEGE DUBLIN COLÁISTE NA TRÍONÓIDE, BAILE ÁTHA CLIATH Dublin Concurrency Workshop 2011 Traditional Transactions Transactions provide

More information

Logic Model Checking

Logic Model Checking Logic Model Checking Lecture Notes 10:18 Caltech 101b.2 January-March 2004 Course Text: The Spin Model Checker: Primer and Reference Manual Addison-Wesley 2003, ISBN 0-321-22862-6, 608 pgs. the assignment

More information

Discrete Mathematics and Probability Theory Spring 2016 Rao and Walrand Note 14

Discrete Mathematics and Probability Theory Spring 2016 Rao and Walrand Note 14 CS 70 Discrete Mathematics and Probability Theory Spring 2016 Rao and Walrand Note 14 Introduction One of the key properties of coin flips is independence: if you flip a fair coin ten times and get ten

More information

Helsinki University of Technology Laboratory for Theoretical Computer Science Research Reports 66

Helsinki University of Technology Laboratory for Theoretical Computer Science Research Reports 66 Helsinki University of Technology Laboratory for Theoretical Computer Science Research Reports 66 Teknillisen korkeakoulun tietojenkäsittelyteorian laboratorion tutkimusraportti 66 Espoo 2000 HUT-TCS-A66

More information

Distributed Processes and Location Failures (Extended Abstract)

Distributed Processes and Location Failures (Extended Abstract) Distributed Processes and Location Failures (Extended Abstract) James Riely and Matthew Hennessy Abstract Site failure is an essential aspect of distributed systems; nonetheless its effect on programming

More information

Deterministic Finite Automata

Deterministic Finite Automata Deterministic Finite Automata COMP2600 Formal Methods for Software Engineering Ranald Clouston Australian National University Semester 2, 2013 COMP 2600 Deterministic Finite Automata 1 Pop quiz What is

More information

Introduction to mcrl2

Introduction to mcrl2 Introduction to mcrl2 Luís S. Barbosa DI-CCTC Universidade do Minho Braga, Portugal May, 2011 mcrl2: A toolset for process algebra mcrl2 provides: a generic process algebra, based on Acp (Bergstra & Klop,

More information

Introduction to process algebra

Introduction to process algebra Introduction to process algebra Luís S. Barbosa DI-CCTC Universidade do Minho Braga, Portugal March, 2010 Actions & processes Action is a latency for interaction for a L, L denoting a set of names Act

More information

Electronic Notes in Theoretical Computer Science 18 (1998) URL: 8 pages Towards characterizing bisim

Electronic Notes in Theoretical Computer Science 18 (1998) URL:   8 pages Towards characterizing bisim Electronic Notes in Theoretical Computer Science 18 (1998) URL: http://www.elsevier.nl/locate/entcs/volume18.html 8 pages Towards characterizing bisimilarity of value-passing processes with context-free

More information

Modeling and Analysis of Communicating Systems

Modeling and Analysis of Communicating Systems Modeling and Analysis of Communicating Systems Lecture 5: Sequential Processes Jeroen Keiren and Mohammad Mousavi j.j.a.keiren@vu.nl and m.r.mousavi@hh.se Halmstad University March 2015 Outline Motivation

More information

Overview. overview / 357

Overview. overview / 357 Overview overview6.1 Introduction Modelling parallel systems Linear Time Properties Regular Properties Linear Temporal Logic (LTL) Computation Tree Logic syntax and semantics of CTL expressiveness of CTL

More information

Temporal Logic Model Checking

Temporal Logic Model Checking 18 Feb, 2009 Thomas Wahl, Oxford University Temporal Logic Model Checking 1 Temporal Logic Model Checking Thomas Wahl Computing Laboratory, Oxford University 18 Feb, 2009 Thomas Wahl, Oxford University

More information