Process Algebra (2IF45) Abstraction in Process Algebra Suzana Andova.

Slides:



Advertisements
Similar presentations
Automated Theorem Proving Lecture 1. Program verification is undecidable! Given program P and specification S, does P satisfy S?
Advertisements

Process Algebra Book: Chapter 8. The Main Issue Q: When are two models equivalent? A: When they satisfy different properties. Q: Does this mean that the.
CommUnity, Tiles and Connectors joint work with Roberto Bruni José Luiz Fiadeiro Antónia Lopes Ugo Montanari Ivan Lanese Dipartimento di Informatica Università.
Process Algebra (2IF45) Some Extensions of Basic Process Algebra Dr. Suzana Andova.
Process Algebra (2IF45) Recursion in Process Algebra Suzana Andova
Inference of progress properties for (multi party) sessions Mario Coppo (Universita’ di Torino) joint work with Mariangiola Dezani, Nobuko Yoshida Lisbon,
Automatic Verification Book: Chapter 6. What is verification? Traditionally, verification means proof of correctness automatic: model checking deductive:
Game-theoretic simulation checking tool Peter Bulychev, Vladimir Zakharov, Igor Konnov Moscow State University.
Game-theoretic approach to the simulation checking problem Peter Bulychev Vladimir Zakharov Lomonosov Moscow State University.
Rigorous Software Development CSCI-GA Instructor: Thomas Wies Spring 2012 Lecture 11.
Kirchhoff's Rules Continued
Process Algebra (2IF45) Abstraction and Recursions in Process Algebra Suzana Andova.
Chapter 4 Probability and Probability Distributions
David Evans CS655: Programming Languages University of Virginia Computer Science Lecture 19: Minding Ps & Qs: Axiomatic.
Process Algebra (2IF45) Probabilistic Process Algebra Suzana Andova.
Process Algebra (2IF45) Probabilistic Process Algebra Suzana Andova.
CIS 540 Principles of Embedded Computation Spring Instructor: Rajeev Alur
Behavioral Equivalence Hossein Hojjat Formal Lab University of Tehran.
Process Algebra (2IF45) Dr. Suzana Andova. 1 Process Algebra (2IF45) Practical issues Lecturer - Suzana Andova - Group: Software Engineering and Technology.
Process Algebra (2IF45) Probabilistic extension: semantics Parallel composition Dr. Suzana Andova.
Equivalence of open Petri nets Modeling and analysis with Petri net components. Marc Voorhoeve (AIS)
Department of mathematics and computer science 1 of 21 Rob van Glabbeek (Sydney) Marc Voorhoeve (TUE) Liveness, Fairness and Impossible Futures.
Discussion #12 1/22 Discussion #12 Deduction, Proofs and Proof Techniques.
Katz Formal Specifications Larch 1 Algebraic Specification and Larch Formal Specifications of Complex Systems Shmuel Katz The Technion.
Bridging the gap between Interaction- and Process-Oriented Choreographies Talk by Ivan Lanese Joint work with Claudio Guidi, Fabrizio Montesi and Gianluigi.
Bridging the gap between Interaction- and Process-Oriented Choreographies Talk by Ivan Lanese Joint work with Claudio Guidi, Fabrizio.
1 Ivan Lanese Computer Science Department University of Bologna Italy Concurrent and located synchronizations in π-calculus.
Proof by Deduction. Deductions and Formal Proofs A deduction is a sequence of logic statements, each of which is known or assumed to be true A formal.
An algebra of Connectors for modeling CommUnity with Tiles joint work with Roberto Bruni Ugo Montanari Dipartimento di Informatica Università di Pisa Ivan.
Composition Model and its code. bound:=bound+1.
Complete Axioms for Stateless Connectors joint work with Roberto Bruni and Ugo Montanari Dipartimento di Informatica Università di Pisa Ivan Lanese Dipartimento.
Process Algebra (2IF45) Basic Process Algebra (Soundness proof) Dr. Suzana Andova.
Process Algebra (2IF45) Probabilistic Branching Bisimulation: Exercises Dr. Suzana Andova.
SDS Foil no 1 Process Algebra Process Algebra – calculating with behaviours.
Advanced Topics in SE Spring Process Algebra Hossein Hojjat Formal Methods Lab University of Tehran.
Communication and Concurrency: CCS
Reactive systems – general
2G1516 Formal Methods2005 Mads Dam IMIT, KTH 1 CCS: Operational Semantics And Process Algebra Mads Dam Reading: Peled 8.3, 8.4, 8.6 – rest of ch. 8.
Logic CL4 Episode 16 0 The language of CL4 The rules of CL4 CL4 as a conservative extension of classical logic The soundness and completeness of CL4 The.
Prof. Diletta Romana Cacciagrano. (red-cong) :
Lyra – A service-oriented and component-based method for the development of communicating systems (by Sari Leppänen, Nokia/NRC) Traditionally, the design,
MPRI 3 Dec 2007Catuscia Palamidessi 1 Why Probability and Nondeterminism? Concurrency Theory Nondeterminism –Scheduling within parallel composition –Unknown.
Lecture 5 1 CSP tools for verification of Sec Prot Overview of the lecture The Casper interface Refinement checking and FDR Model checking Theorem proving.
1 Copyright © Cengage Learning. All rights reserved. 2. Equations and Inequalities 2.1 Equations.
Math 20-1 Chapter 5 Radical Expressions and Equations
2G1516 Formal Methods2005 Mads Dam IMIT, KTH 1 CCS: Processes and Equivalences Mads Dam Reading: Peled 8.5.
Solve an equation 7y – 6y + 12 = 4y. Simplify 7y – 6y + 12 = 4y 7y – 6y + 12 = 4y becomes y + 12 = 4y when we combine like terms.
Verifying Properties of Parallel Programs: An Axiomatic Approach Susan Owicki and David Gries Communications of the ACM, 1976 Presented by Almog Benin.
Concurrency 5 The theory of CCS Specifications and Verification Expressive Power Catuscia Palamidessi
Process Algebra (2IF45) Basic Process Algebra (Completeness proof) Dr. Suzana Andova.
Process Algebra (2IF45) Abstraction Parallel composition (short intro) Suzana Andova.
From Natural Language to LTL: Difficulties Capturing Natural Language Specification in Formal Languages for Automatic Analysis Elsa L Gunter NJIT.
Presented by: Belgi Amir Seminar in Distributed Algorithms Designing correct concurrent algorithms Spring 2013.
Process Algebra (2IF45) Analysing Probabilistic systems Dr. Suzana Andova.
Topic 6.5. Solve Systems by Substitution Objectives: Solve Systems of Equations using Substitution Standards: Functions, Algebra, Patterns. Connections.
Process Algebra (2IF45) Basic Process Algebra Dr. Suzana Andova.
Process Algebra (2IF45) Assignments Dr. Suzana Andova.
CIS 540 Principles of Embedded Computation Spring Instructor: Rajeev Alur
Diagnostic Information for Control-Flow Analysis of Workflow Graphs (aka Free-Choice Workflow Nets) Cédric Favre(1,2), Hagen Völzer(1), Peter Müller(2)
CS5270 Lecture 41 Timed Automata I CS 5270 Lecture 4.
Certifying and Synthesizing Membership Equational Proofs Patrick Lincoln (SRI) joint work with Steven Eker (SRI), Jose Meseguer (Urbana) and Grigore Rosu.
Process Algebra (2IF45) Extending Process Algebra: Abstraction
Process Algebra (2IF45) Expressiveness of BPArec
2-5 Reasoning in Algebra and Geometry
Other Models of Computation
Phys102 Lecture 12 Kirchhoff’s Rules
Lecture 5 Floyd-Hoare Style Verification
Internet of Things A Process Calculus Approach
Formal Methods in software development
Presentation transcript:

Process Algebra (2IF45) Abstraction in Process Algebra Suzana Andova

1 Outline of the lecture Our way of dealing with internal behaviour: branching bisimulation How we capture Abstraction in Process Algebra combining it with other concepts Process Algebra (2IF45)

2 Abstraction Abstraction is used to check the correctness of implementation against the system specification reduce and simplify the model to enable better, fasted and cleaner model analysis Process Algebra (2IF45) Question: How do we chose to relate behaviours with internal steps? Branching bisimulation

3 Process Algebra (2IF45) Branching bisimulation – simple examples first a b  is branching bisim to a a b “ related states must have the same potential which does not change until an observable action is executed ”

4 Process Algebra (2IF45) Branching bisimulation – simple examples first  a b   is branching bisim to a b   it is not branching bisim to a b

5 Branching bisimilar processes t t’ a  s a s’ t’’ t  s  s’ t’’ t s  s’ t Branching Bisimulation relation: A binary relation R on the set of state S of an LTS is branching bisimulation relation iff the following transfer conditions hold: 1.for all states s, t, s’  S, whenever (s, t)  R and s → s’ for some a  A, then there are states t’, t’’  S such that t t’ and t’ → t’’ and (s, t’), (s’,t’’)  R; 2. vice versa, for all states s, t, s’  S, whenever (s, t)  R and t → t’ for some a  A, then there are states s’,s’’  S such that s s’ and s’ → s’’ and (s’, t), (s’’,t’)  R; 3. if (s, t)  R and s  then there is a state t’ such that t t’, t’  and (s, t’)  R 4. whenever (s, t)  R and t  then there is a state s’ such that s s’, s’  and (s’, t)  R Two LTSs s and t are branching bisimilar, s b t, iff there is a branching bisimulation relation R such that (s, t)  R  a a a a   

6 less more power of the observer Spectrum of behavioural relations

7 most powerful

8 Weak bisimulation just a short comparison Process Algebra (2IF45) a b c   d1 d2 d3 d4 a b c   d1 d2 d3 d4 b a b c   d1 d2 d3 d4 b

9 Branching bisimulation and composition

10 Branching bisimulation and composition a  a a  a b b b branching bisimilar! branching bisimilar ? NO! + +

11 Branching bisimulation and composition a  a a  a b b b branching bisimilar! branching bisimilar ? NO! + + Painful conclusion: branching bisimilation is not compositional.

12 Branching bisimulation and composition a  a a  a b b branching bisimilar components! + + What to do? Two choices: 1.Make the relation weaker and relate the two compositions too! 2.Make the relation stronger and do not relate the two components from the beginning! Not branching bisimilar compositions!

13 Rooted Branching Bisimilar processes t’ q b  s’ b p r t’  s’  p q t  p t’ t s a a t s a a t s a a R is Rooted BB between state (s, t)  R if R is Branching Bisimulation relation (as already defined) and the root condition: 1.if s → s’ for a  A, then there is a state t’  S such that t → t’ and (s’, t’)  R; 2.if t → t’ for a  A, then there is a state s’  S such that s → s’ and (s’, t’)  R; 3.s  if and only if t  LTSs s and t are rooted branching bisimilar, s rb t, iff there is a rooted branching bisimulation relation R such that (s, t)  R a a a Rooted branching bisimulation is strengthened variant of branching bisimulation strict enough to obtain compositionality a (a  A  i.e. can be from A or can be  )

14 Process Algebra (2IF45) Axiomatizing Rooted Branching Bisimulations Language: BPA  (A) Signature: 0, 1, (a._ ) a  A, , +, Language terms T(BPA  (A,)) Closed terms C(BPA  (A)) Equality of terms x+ y = y+x (x+y) + z = x+ (y + z) x + x = x x+ 0 = x (x+ y)  z = x  z+y  z (x  y)  z = x  (y  z) 0  x = 0 x  1 = x 1  x = x a.x  y = a.(x  y) Completeness Soundness Deduction rules for BPA  (A) (a  A  ): x  x’ x + y  x’ a a  11  x  (x + y)   a.x  x  a  y  y’ x + y  y’ a a y  (x + y)  ⑥ x  x’ x  y  x’ a a x  y  (x  y)     x  y  y’ x  y  y’ a a Strong Bisimilarity on LTSs

15 Process Algebra (2IF45) Axiomatizing Rooted Branching Bisimulations Language: BPA  (A) Signature: 0, 1, (a._ ) a  A, , +, Language terms T(BPA  (A,)) Closed terms C(BPA  (A)) Strong Bisimilarity on LTSs Equality of terms x+ y = y+x (x+y) + z = x+ (y + z) x + x = x x+ 0 = x (x+ y)  z = x  z+y  z (x  y)  z = x  (y  z) 0  x = 0 x  1 = x 1  x = x a.x  y = a.(x  y) Completeness Soundness Deduction rules for BPA  (A) (a  A  ): x  x’ x + y  x’ a a  11  x  (x + y)   a.x  x  a  y  y’ x + y  y’ a a y  (x + y)  ⑥ x  x’ x  y  x’  y a a x  y  (x  y)     x  y  y’ x  y  y’ a a Rooted Branching

16  x y x + + x y + .(x+y) + x = x+y Turned into equation looks like: Axiomazing Rooted branching bisimulation bb

17 a  x y x + + … a x y + … rb B axiom a.( .(x+y) + x) = a.(x+y) Axiomazing Rooted branching bisimulation bb Turned into equation looks like:

18 Process Algebra (2IF45) Axiomatizing Rooted Branching Bisimulations Language: BPA  (A) Signature: 0, 1, (a._ ) a  A, , +, Language terms T(BPA  (A,)) Closed terms C(BPA  (A)) Strong Bisimilarity on LTSs Equality of terms x+ y = y+x (x+y) + z = x+ (y + z) x + x = x x+ 0 = x (x+ y)  z = x  z+y  z (x  y)  z = x  (y  z) 0  x = 0 x  1 = x 1  x = x a.x  y = a.(x  y) a.( .(x+y) + x) = a.(x+y) Completeness Soundness Deduction rules for BPA  (A) (a  A  ): x  x’ x + y  x’ a a  11  x  (x + y)   a.x  x  a  y  y’ x + y  y’ a a y  (x + y)  ⑥ x  x’ x  y  x’  y a a x  y  (x  y)     x  y  y’ x  y  y’ a a Rooted Branching

19 Home work Prove soundness of B axiom wrt rooted BB Read the proof of ground completeness Process Algebra (2IF45)

20 Process Algebra (2IF45) Combining internal step with other operators Language: BPA  (A) Signature: 0, 1, (a._ ) a  A, , +, Language terms T(BPA  (A,)) Closed terms C(BPA  (A)) Axioms Deduction rules

21 Process Algebra (2IF45) Combining internal step with other operators: Hiding operator Language: BPA  (A) Signature: 0, 1, (a._ ) a  A, , +,,  I (I  A) Language terms T(BPA  (A,)) Closed terms C(BPA  (A)) Axioms for  I Deduction rules for  I turns external actions into internal steps

22 Process Algebra (2IF45) Combining internal step with other operators: Encapsulation operator Language with Signature: 0, 1, (a._ ) a  A, , +,  H (H  A) blocks actions

23 Process Algebra (2IF45) Combining internal step with other operators: Parallel composition and communication Language: TCP  (A) Signature : 0, 1, (a._ ) a  A, , +,,  I (I  A), ||, |, ╙,  H, Language terms T(BPA  (A,  )) Closed terms C(BPA  (A,  )) Axioms for parallel composition with silent step: x ╙ .y = x ╙ y x | .y = 0

24 Exercises see distributed copies Process Algebra (2IF45)

25 Abstraction, silent steps and Recursion Guardedness and silent steps:  cannot be a guard of a variable X = . X has solutions . . a.1 but also . . b.1 Guardedness and hiding operator:  I cannot appear in t X in X = t X X = i.  I (X), where i  I has solutions i.i. a.1 but also i. i. b.1 Process Algebra (2IF45)

26 Abstraction and Recursion and Fairness Process Algebra (2IF45) X Y  a 0  Z U  a 0 Observation: 1.they are rooted bb bisimilar 2.implicitly internal loop is left eventually = fairness

27 Abstraction and Recursion and Fairness Process Algebra (2IF45) X Y  a 0  X = .Y Y = .Y + a.0 Z U  a 0 Z = .U U = a.0 RSP+RDP ? X = Z Observation on LTSs: 1.they are rooted bb bisimilar 2.implicitly internal loop is left eventually = fairness As recursive specifications:

28 Abstraction and Recursion and Fairness Process Algebra (2IF45) X Y  a 0  X = .Y Y = .Y + a.0 Z U  a 0 Z = .U U = a.0 RSP+RDP ? X = Z At least two problems: 1.Those are not guarder recursive specifications! 2.Even if they are somehow made guarded, B axiom is not sufficient to rewrite one spec into another Observation on LTSs: 1.they are rooted bb bisimilar 2.implicitly internal loop is left eventually = fairness As recursive specifications:

29 Process Algebra (2IF45) X = .Y Y = .Y + a.0 X’ = i.Y’ Y’ = i.Y’ + a.0 for some action i to be turned internal “soon” by applying  I for I = {i} represents X Y  a 0  X’ Y’ i a 0 i applying  {i} Abstraction and Recursion and Fairness: problem 1. dealing with guardedness

30 Process Algebra (2IF45) Z = .U U = a.0 Z’ = i.U’ U’ = a.0 Z’ U’ i a 0 Z U  0 applying  {i} a Abstraction and Recursion and Fairness: problem 1. dealing with guardedness X = .Y Y = .Y + a.0 X’ = i.Y’ Y’ = i.Y’ + a.0 for some action i to be turned internal “soon” by applying  I for I = {i} represents X Y  a 0  X’ Y’ i a 0 i applying  {i} represents

31 Process Algebra (2IF45) Z = .U U = a.0 Z’ = i.U’ U’ = a.0 Z’ U’ i a 0 applying  {i} Z U  0 a Abstraction and Recursion and Fairness: problem 1. dealing with guardedness X = .Y Y = .Y + a.0 X’ = i.Y’ Y’ = i.Y’ + a.0 for some action i to be turned internal “soon” by applying  I for I = {i} represents X Y  a 0  X’ Y’ i a 0 i applying  {i} represents OK! How to connect them ?

32 Process Algebra (2IF45) X’ = i.Y’ Y’ = i.Y’ + a.0 Something like this shall help: Y’ = i.Y’ + a.0 .  I (Y’) = .  I (a.0) Abstraction and Recursion and Fairness: problem 2. derivation rules We want to derive that  I (X’) =  I (Z’)! We need new rules for this!

33 Process Algebra (2IF45) a bit more general rule: x 1 = i 1.x 1 + y 1, i 1  I .  I (x 1 ) = .  I (y 1 ) Abstraction and Recursion and Fairness: Fairness rule KFAR 1 b

34 Process Algebra (2IF45) General KFAR rule is: x 1 = i 1.x 2 + y 1, x 2 = i 2.x 3 + y 2, … x n = i n.x 1 + y n, i 1, … i n  I, there is i k   .  I (x 1 ) = . (  I (y 1 ) + … +  I (y n )) Abstraction and Recursion and Fairness: Fairness rule KFAR n b

35 Process Algebra (2IF45) Abstraction and Recursion and Fairness: Example of tossing a coin

36 Home Work (part2) Study the Coin tossing example Study the complete proof for ABP, derivation up to abstraction and derivation by means of fairness derivation rules. Process Algebra (2IF45)