concurrency theory
play

Concurrency Theory Winter Semester 2019/20 Lecture 11: Trace - PowerPoint PPT Presentation

Concurrency Theory Winter Semester 2019/20 Lecture 11: Trace Equivalence Joost-Pieter Katoen and Thomas Noll Software Modeling and Verification Group RWTH Aachen University https://moves.rwth-aachen.de/teaching/ws-19-20/ct/ Introduction


  1. Concurrency Theory Winter Semester 2019/20 Lecture 11: Trace Equivalence Joost-Pieter Katoen and Thomas Noll Software Modeling and Verification Group RWTH Aachen University https://moves.rwth-aachen.de/teaching/ws-19-20/ct/

  2. Introduction Outline of Lecture 11 Introduction Preliminaries Requirements on Behavioural Equivalences Trace Equivalence Revisited Other Forms of Trace Equivalence Summary 2 of 25 Concurrency Theory Winter Semester 2019/20 Lecture 11: Trace Equivalence

  3. Introduction Introduction • When using process algebras like CCS, an important approach is to model both the specification and implementation as CCS processes, say Spec and Impl . 3 of 25 Concurrency Theory Winter Semester 2019/20 Lecture 11: Trace Equivalence

  4. Introduction Introduction • When using process algebras like CCS, an important approach is to model both the specification and implementation as CCS processes, say Spec and Impl . • This gives rise to the natural question: when are two CCS processes behaving the same? 3 of 25 Concurrency Theory Winter Semester 2019/20 Lecture 11: Trace Equivalence

  5. Introduction Introduction • When using process algebras like CCS, an important approach is to model both the specification and implementation as CCS processes, say Spec and Impl . • This gives rise to the natural question: when are two CCS processes behaving the same? • As there are many different interpretations of “behaving the same”, different behavioural equivalences have emerged. 3 of 25 Concurrency Theory Winter Semester 2019/20 Lecture 11: Trace Equivalence

  6. Introduction Behavioural Equivalence Implementation CM = coin . coffee . CM CS = pub . coin . coffee . CS Uni = ( CM � CS ) \ { coin , coffee } 4 of 25 Concurrency Theory Winter Semester 2019/20 Lecture 11: Trace Equivalence

  7. Introduction Behavioural Equivalence Implementation Specification CM = coin . coffee . CM Spec = pub . Spec CS = pub . coin . coffee . CS Uni = ( CM � CS ) \ { coin , coffee } 4 of 25 Concurrency Theory Winter Semester 2019/20 Lecture 11: Trace Equivalence

  8. Introduction Behavioural Equivalence Implementation Specification CM = coin . coffee . CM Spec = pub . Spec CS = pub . coin . coffee . CS Uni = ( CM � CS ) \ { coin , coffee } Question Are the specification Spec and implementation Uni behaviourally equivalent: ? ≡ Uni Spec 4 of 25 Concurrency Theory Winter Semester 2019/20 Lecture 11: Trace Equivalence

  9. Preliminaries Outline of Lecture 11 Introduction Preliminaries Requirements on Behavioural Equivalences Trace Equivalence Revisited Other Forms of Trace Equivalence Summary 5 of 25 Concurrency Theory Winter Semester 2019/20 Lecture 11: Trace Equivalence

  10. Preliminaries Equivalence Relations Some reasonable required properties • Reflexivity: P ≡ P for every process P • Symmetry: P ≡ Q if and only if Q ≡ P • Transitivity: Spec 0 ≡ . . . ≡ Spec n ≡ Impl implies that Spec 0 ≡ Impl 6 of 25 Concurrency Theory Winter Semester 2019/20 Lecture 11: Trace Equivalence

  11. Preliminaries Equivalence Relations Some reasonable required properties • Reflexivity: P ≡ P for every process P • Symmetry: P ≡ Q if and only if Q ≡ P • Transitivity: Spec 0 ≡ . . . ≡ Spec n ≡ Impl implies that Spec 0 ≡ Impl Definition 11.1 (Equivalence) A binary relation ≡ ⊆ S × S over a set S is an equivalence if • it is reflexive: s ≡ s for every s ∈ S , • it is symmetric: s ≡ t implies t ≡ s for every s , t ∈ S , • it is transitive: s ≡ t and t ≡ u implies s ≡ u for every s , t , u ∈ S . 6 of 25 Concurrency Theory Winter Semester 2019/20 Lecture 11: Trace Equivalence

  12. Preliminaries Equivalence Relations Some reasonable required properties • Reflexivity: P ≡ P for every process P • Symmetry: P ≡ Q if and only if Q ≡ P • Transitivity: Spec 0 ≡ . . . ≡ Spec n ≡ Impl implies that Spec 0 ≡ Impl Definition 11.1 (Equivalence) A binary relation ≡ ⊆ S × S over a set S is an equivalence if • it is reflexive: s ≡ s for every s ∈ S , • it is symmetric: s ≡ t implies t ≡ s for every s , t ∈ S , • it is transitive: s ≡ t and t ≡ u implies s ≡ u for every s , t , u ∈ S . Remark: equivalences induce quotient structures with equivalence classes as elements 6 of 25 Concurrency Theory Winter Semester 2019/20 Lecture 11: Trace Equivalence

  13. Preliminaries Isomorphism: An Example Behavioural Equivalence Definition 11.2 (LTS isomorphism) Two LTSs T 1 = ( S 1 , Act 1 , − → 1 ) and T 2 = ( S 2 , Act 2 , − → 2 ) are isomorphic, denoted T 1 ≡ iso T 2 , if there exists a bijection f : S 1 → S 2 such that α α − → 1 t f ( s ) − → 2 f ( t ) . s if and only if 7 of 25 Concurrency Theory Winter Semester 2019/20 Lecture 11: Trace Equivalence

  14. Preliminaries Isomorphism: An Example Behavioural Equivalence Definition 11.2 (LTS isomorphism) Two LTSs T 1 = ( S 1 , Act 1 , − → 1 ) and T 2 = ( S 2 , Act 2 , − → 2 ) are isomorphic, denoted T 1 ≡ iso T 2 , if there exists a bijection f : S 1 → S 2 such that α α − → 1 t f ( s ) − → 2 f ( t ) . s if and only if It follows immediately that ≡ iso is an equivalence. (Why?) 7 of 25 Concurrency Theory Winter Semester 2019/20 Lecture 11: Trace Equivalence

  15. Preliminaries Isomorphism: An Example Behavioural Equivalence Definition 11.2 (LTS isomorphism) Two LTSs T 1 = ( S 1 , Act 1 , − → 1 ) and T 2 = ( S 2 , Act 2 , − → 2 ) are isomorphic, denoted T 1 ≡ iso T 2 , if there exists a bijection f : S 1 → S 2 such that α α − → 1 t f ( s ) − → 2 f ( t ) . s if and only if It follows immediately that ≡ iso is an equivalence. (Why?) Example 11.3 (Abelian monoid laws for + and � ) For all CCS processes P , Q ∈ Prc , 1. LTS ( P + Q ) ≡ iso LTS ( Q + P ) , LTS ( P � Q ) ≡ iso LTS ( Q � P ) 2. LTS (( P + Q ) + R ) ≡ iso LTS ( P + ( Q + R )) , LTS (( P � Q ) � R ) ≡ iso LTS ( P � ( Q � R )) 3. LTS ( P + nil ) ≡ iso LTS ( P � nil ) ≡ iso LTS ( P ) 7 of 25 Concurrency Theory Winter Semester 2019/20 Lecture 11: Trace Equivalence

  16. Preliminaries Isomorphism II Assumption From now on, we will consider processes modulo isomorphism, i.e., we do not distinguish CCS processes with isomorphic LTSs. 8 of 25 Concurrency Theory Winter Semester 2019/20 Lecture 11: Trace Equivalence

  17. Preliminaries Isomorphism II Assumption From now on, we will consider processes modulo isomorphism, i.e., we do not distinguish CCS processes with isomorphic LTSs. Caveat But: isomorphism is very distinctive. For instance, X = a . X Y = a . a . Y and are distinguished although both can (only) execute infinitely many a -actions and should thus be considered equivalent. 8 of 25 Concurrency Theory Winter Semester 2019/20 Lecture 11: Trace Equivalence

  18. Requirements on Behavioural Equivalences Outline of Lecture 11 Introduction Preliminaries Requirements on Behavioural Equivalences Trace Equivalence Revisited Other Forms of Trace Equivalence Summary 9 of 25 Concurrency Theory Winter Semester 2019/20 Lecture 11: Trace Equivalence

  19. Requirements on Behavioural Equivalences The Wish List for Behavioural Equivalences 1. Less distinctive than isomorphism: an equivalence should distinguish less processes than LTS isomorphism does, i.e., ≡ should be coarser than LTS isomorphism: LTS ( P ) ≡ iso LTS ( Q ) = ⇒ P ≡ Q . 10 of 25 Concurrency Theory Winter Semester 2019/20 Lecture 11: Trace Equivalence

  20. Requirements on Behavioural Equivalences The Wish List for Behavioural Equivalences 1. Less distinctive than isomorphism: an equivalence should distinguish less processes than LTS isomorphism does, i.e., ≡ should be coarser than LTS isomorphism: LTS ( P ) ≡ iso LTS ( Q ) = ⇒ P ≡ Q . 2. More distinctive than trace equivalence: an equivalence should distinguish more processes than trace equivalence does, i.e., ≡ should be finer than trace equivalence: P ≡ Q = ⇒ Tr ( P ) = Tr ( Q ) . 10 of 25 Concurrency Theory Winter Semester 2019/20 Lecture 11: Trace Equivalence

  21. Requirements on Behavioural Equivalences The Wish List for Behavioural Equivalences 1. Less distinctive than isomorphism: an equivalence should distinguish less processes than LTS isomorphism does, i.e., ≡ should be coarser than LTS isomorphism: LTS ( P ) ≡ iso LTS ( Q ) = ⇒ P ≡ Q . 2. More distinctive than trace equivalence: an equivalence should distinguish more processes than trace equivalence does, i.e., ≡ should be finer than trace equivalence: P ≡ Q = ⇒ Tr ( P ) = Tr ( Q ) . 3. Congruence property: the equivalence must be substitutive with respect to all CCS operators (see next slide). 10 of 25 Concurrency Theory Winter Semester 2019/20 Lecture 11: Trace Equivalence

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend