Strong Bisimilarity (Reprise) Weak Bisimilarity Case Study: Communication Protocol Congruence Problems Modelling and Verification Lecture 4 Weak bisimilarity and weak bisimulation games Properties of weak bisimilarity Example: a communication protocol and its modelling in CCS Concurrency workbench (CWB) Lecture 4 Modelling and Verification
� � � � � Definition Strong Bisimilarity (Reprise) Bisimulation Games Weak Bisimilarity Properties Case Study: Communication Protocol Buffer Example Congruence Problems Summary Problems with Internal Actions Question Does a .τ. Nil ∼ a . Nil hold? NO! Problem Strong bisimilarity does not abstract away from τ actions. Example: SmUni �∼ Spec �∼ Spec SmUni pub ( CM | CS 1 ) � { coin , coffee } pub τ ( CM 1 | CS 2 ) � { coin , coffee } pub τ ( CM | CS ) � { coin , coffee } Lecture 4 Modelling and Verification
� � � � � Definition Strong Bisimilarity (Reprise) Bisimulation Games Weak Bisimilarity Properties Case Study: Communication Protocol Buffer Example Congruence Problems Summary Problems with Internal Actions Question Does a .τ. Nil ∼ a . Nil hold? NO! Problem Strong bisimilarity does not abstract away from τ actions. Example: SmUni �∼ Spec �∼ Spec SmUni pub ( CM | CS 1 ) � { coin , coffee } pub τ ( CM 1 | CS 2 ) � { coin , coffee } pub τ ( CM | CS ) � { coin , coffee } Lecture 4 Modelling and Verification
� � � � � Definition Strong Bisimilarity (Reprise) Bisimulation Games Weak Bisimilarity Properties Case Study: Communication Protocol Buffer Example Congruence Problems Summary Problems with Internal Actions Question Does a .τ. Nil ∼ a . Nil hold? NO! Problem Strong bisimilarity does not abstract away from τ actions. Example: SmUni �∼ Spec �∼ Spec SmUni pub ( CM | CS 1 ) � { coin , coffee } pub τ ( CM 1 | CS 2 ) � { coin , coffee } pub τ ( CM | CS ) � { coin , coffee } Lecture 4 Modelling and Verification
� � � � � Definition Strong Bisimilarity (Reprise) Bisimulation Games Weak Bisimilarity Properties Case Study: Communication Protocol Buffer Example Congruence Problems Summary Problems with Internal Actions Question Does a .τ. Nil ∼ a . Nil hold? NO! Problem Strong bisimilarity does not abstract away from τ actions. Example: SmUni �∼ Spec �∼ Spec SmUni pub ( CM | CS 1 ) � { coin , coffee } pub τ ( CM 1 | CS 2 ) � { coin , coffee } pub τ ( CM | CS ) � { coin , coffee } Lecture 4 Modelling and Verification
Definition Strong Bisimilarity (Reprise) Bisimulation Games Weak Bisimilarity Properties Case Study: Communication Protocol Buffer Example Congruence Problems Summary Weak Transition Relation a Let ( Proc , Act , { − →| a ∈ Act } ) be an LTS such that τ ∈ Act . Definition of Weak Transition Relation � a τ τ ( − → ) ∗ ◦ − → ◦ ( − → ) ∗ if a � = τ a = ⇒ = τ ( − → ) ∗ if a = τ a What does s = ⇒ t informally mean? a If a � = τ then s = ⇒ t means that from s we can get to t by doing zero or more τ actions, followed by the action a , followed by zero or more τ actions. τ If a = τ then s = ⇒ t means that from s we can get to t by doing zero or more τ actions. Lecture 4 Modelling and Verification
Definition Strong Bisimilarity (Reprise) Bisimulation Games Weak Bisimilarity Properties Case Study: Communication Protocol Buffer Example Congruence Problems Summary Weak Transition Relation a Let ( Proc , Act , { − →| a ∈ Act } ) be an LTS such that τ ∈ Act . Definition of Weak Transition Relation � a τ τ ( − → ) ∗ ◦ − → ◦ ( − → ) ∗ if a � = τ a = ⇒ = τ ( − → ) ∗ if a = τ a What does s = ⇒ t informally mean? a If a � = τ then s = ⇒ t means that from s we can get to t by doing zero or more τ actions, followed by the action a , followed by zero or more τ actions. τ If a = τ then s = ⇒ t means that from s we can get to t by doing zero or more τ actions. Lecture 4 Modelling and Verification
Definition Strong Bisimilarity (Reprise) Bisimulation Games Weak Bisimilarity Properties Case Study: Communication Protocol Buffer Example Congruence Problems Summary Weak Bisimilarity a Let ( Proc , Act , { − →| a ∈ Act } ) be an LTS such that τ ∈ Act . Weak Bisimulation A binary relation R ⊆ Proc × Proc is a weak bisimulation iff whenever ( s , t ) ∈ R then for each a ∈ Act (including τ ): → s ′ then t a ⇒ t ′ for some t ′ such that ( s ′ , t ′ ) ∈ R a if s − = → t ′ then s ⇒ s ′ for some s ′ such that ( s ′ , t ′ ) ∈ R . a a if t − = Weak Bisimilarity Two processes p 1 , p 2 ∈ Proc are weakly bisimilar ( p 1 ≈ p 2 ) if and only if there exists a weak bisimulation R such that ( p 1 , p 2 ) ∈ R . ≈ = ∪{ R | R is a weak bisimulation } Lecture 4 Modelling and Verification
Definition Strong Bisimilarity (Reprise) Bisimulation Games Weak Bisimilarity Properties Case Study: Communication Protocol Buffer Example Congruence Problems Summary Weak Bisimilarity a Let ( Proc , Act , { − →| a ∈ Act } ) be an LTS such that τ ∈ Act . Weak Bisimulation A binary relation R ⊆ Proc × Proc is a weak bisimulation iff whenever ( s , t ) ∈ R then for each a ∈ Act (including τ ): → s ′ then t a ⇒ t ′ for some t ′ such that ( s ′ , t ′ ) ∈ R a if s − = → t ′ then s ⇒ s ′ for some s ′ such that ( s ′ , t ′ ) ∈ R . a a if t − = Weak Bisimilarity Two processes p 1 , p 2 ∈ Proc are weakly bisimilar ( p 1 ≈ p 2 ) if and only if there exists a weak bisimulation R such that ( p 1 , p 2 ) ∈ R . ≈ = ∪{ R | R is a weak bisimulation } Lecture 4 Modelling and Verification
Definition Strong Bisimilarity (Reprise) Bisimulation Games Weak Bisimilarity Properties Case Study: Communication Protocol Buffer Example Congruence Problems Summary Weak Bisimulation Game Definition All the same except that a defender can now answer using = ⇒ moves. a The attacker is still using only − → moves. Theorem States s and t are weakly bisimilar if and only if the defender has a universal winning strategy starting from the configuration ( s , t ). States s and t are not weakly bisimilar if and only if the attacker has a universal winning strategy starting from the configuration ( s , t ). Lecture 4 Modelling and Verification
Definition Strong Bisimilarity (Reprise) Bisimulation Games Weak Bisimilarity Properties Case Study: Communication Protocol Buffer Example Congruence Problems Summary Weak Bisimulation Game Definition All the same except that a defender can now answer using = ⇒ moves. a The attacker is still using only − → moves. Theorem States s and t are weakly bisimilar if and only if the defender has a universal winning strategy starting from the configuration ( s , t ). States s and t are not weakly bisimilar if and only if the attacker has a universal winning strategy starting from the configuration ( s , t ). Lecture 4 Modelling and Verification
� � � � � Definition Strong Bisimilarity (Reprise) Bisimulation Games Weak Bisimilarity Properties Case Study: Communication Protocol Buffer Example Congruence Problems Summary Weak Bisimilarity – Properties Properties of ≈ an equivalence relation the largest weak bisimulation validates lots of natural laws, e.g. a .τ. P ≈ a . P P + τ. P ≈ τ. P a . ( P + τ. Q ) ≈ a . ( P + τ. Q ) + a . Q P + Q ≈ Q + P P | Q ≈ Q | P P + Nil ≈ P . . . strong bisimilarity is included in weak bisimilarity ( ∼ ⊆ ≈ ) abstracts from τ loops • ≈ • τ a a � � � � � � � � � � � • � • Lecture 4 Modelling and Verification
Strong Bisimilarity (Reprise) Definitions Weak Bisimilarity Weak Bisimulation Game Case Study: Communication Protocol Properties of Weak Bisimilarity Congruence Problems Case Study: Communication Protocol ✬✩ ✬✩ ack acc del Send Rec ✛ r r r r ✫✪ ✫✪ ✬✩ error r ❍ ❨ ❍ ❍ r ✟ ✯ r ✟✟✟✟ ❍❍❍❍ r trans Med send ❥ r r ✫✪ def def Send = acc . Sending Rec = trans . Del def def Sending = send . Wait Del = del . Ack def def Wait = ack . Send + error . Sending Ack = ack . Rec def send . Med ′ Med = def Med ′ = τ. Err + trans . Med def Err = error . Med Lecture 4 Modelling and Verification
Strong Bisimilarity (Reprise) Definitions Weak Bisimilarity Weak Bisimulation Game Case Study: Communication Protocol Properties of Weak Bisimilarity Congruence Problems Case Study: Communication Protocol ✬✩ ✬✩ ack acc del Send Rec ✛ r r r r ✫✪ ✫✪ ✬✩ error r ❍ ❨ ❍ ❍ r ✟ ✯ r ✟✟✟✟ ❍❍❍❍ r trans Med send ❥ r r ✫✪ def def Send = acc . Sending Rec = trans . Del def def Sending = send . Wait Del = del . Ack def def Wait = ack . Send + error . Sending Ack = ack . Rec def send . Med ′ Med = def Med ′ = τ. Err + trans . Med def Err = error . Med Lecture 4 Modelling and Verification
Recommend
More recommend