Equivalences on Labelled Transition Systems Ed Brinksma Course 2004.

Slides:



Advertisements
Similar presentations
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.
Advertisements

1 Testing Stochastic Processes Through Reinforcement Learning François Laviolette Sami Zhioua Nips-Workshop December 9 th, 2006 Josée Desharnais.
Arrays of charges Contents: Basic concept: Sum of forces Linear arrays Example Whiteboards 2-D Arrays Example Whiteboards.
4/25/20151 Metodi formali nello sviluppo software a.a.2013/2014 Prof.Anna Labella.
Formal Conformance Testing of Systems with Refused Inputs and Forbidden Actions Igor Burdonov, Alexander Kossatchev, Victor Kuliamin ISP RAS, Moscow.
Behavioral Equivalence Hossein Hojjat Formal Lab University of Tehran.
Chapter 7 Triangle Inequalities. Segments, Angles and Inequalities.
A logic for true concurrency Paolo Baldan and Silvia Crafa Universita’ di Padova.
Basic Geometric Ideas 8-1 Vocabulary Words: Point Line Plane
Department of mathematics and computer science 1 of 21 Rob van Glabbeek (Sydney) Marc Voorhoeve (TUE) Liveness, Fairness and Impossible Futures.
A testing scenario for probabilistic automata Marielle Stoelinga UC Santa Cruz Frits Vaandrager University of Nijmegen.
EECS 20 Lecture 16 (February 26, 2001) Tom Henzinger Determinization.
A 1 A 2 A 3 A 4 B B B
Fall 2005 CSE 467/567 1 Formal languages regular expressions regular languages finite state machines.
Preliminaries/ Chapter 1: Introduction. Definitions: from Abstract to Linear Algebra.
CSE 373, Copyright S. Tanimoto, 2002 Up-trees - 1 Up-Trees Review of the UNION-FIND ADT Straight implementation with Up-Trees Path compression Worst-case.
1 Section 7.1 Relations and their properties. 2 Binary relation A binary relation is a set of ordered pairs that expresses a relationship between elements.
Algebraic Properties: The Rules of Algebra Be Cool - Follow The Rules!
1 Jan Tretmans Embedded Systems Institute Eindhoven, NL Radboud University Nijmegen, NL Model-Based Testing with Labelled Transition.
Testing with Formal Methods Ed Brinksma course 2004 A Formal Framework.
Basics of automata theory
SDS Foil no 1 Process Algebra Process Algebra – calculating with behaviours.
1 Language Definitions Lecture # 2. Defining Languages The languages can be defined in different ways, such as Descriptive definition, Recursive definition,
Chapter 5 Context-Free Grammars
Reactive systems – general
CSE373: Data Structures & Algorithms Lecture 10: Disjoint Sets and the Union-Find ADT Lauren Milne Spring 2015.
Answers to Homework 2) 1:14) 5:16) 6 to 5 8) 11 to 1210) 11/1712) 6:5:12 14) 6:11:1716) 5:318) 20:17 20) 1:522) 2d/5c24) 40,50 26) 45,60,7528) 67.5,67.5,45.
Process Algebra Calculus of Communicating Systems Daniel Choi Provable Software Lab. KAIST.
Natallia Kokash (Accepted for PACO’2011) ACG, 31/05/ Input-output conformance testing for channel-based connectors 1.
Regular Grammars Chapter 7. Regular Grammars A regular grammar G is a quadruple (V, , R, S), where: ● V is the rule alphabet, which contains nonterminals.
Regular Grammars Chapter 7 1. Regular Grammars A regular grammar G is a quadruple (V, , R, S), where: ● V is the rule alphabet, which contains nonterminals.
TRANSITIVE PROPERTY of CONGRUENCE and EQUALITY GEO125 TRANSITIVE PROPERTY of EQUALITY: if a = b and b = c, then a = c. If = 9 and = 9, then.
Properties and Mental Computation p. 80. Math talk What are some math properties that we use? Why do you think we have them? Do you ever use them?
The Concept of Congruence Module two
Copyright © Curt Hill Finite State Automata Again This Time No Output.
Formal Methods for Software Engineering Part II: Modelling & Analysis of System Behaviour.
1 1. Let A ={r, p, i } and B = { w, o, r, l, d }. What does each of the following (a), (b) and (c) denote? Briefly explain in plain English. (a) A * B.
2G1516 Formal Methods2005 Mads Dam IMIT, KTH 1 CCS: Processes and Equivalences Mads Dam Reading: Peled 8.5.
2G1516/2G1521 Formal Methods2004 Mads Dam IMIT, KTH 1 CCS: Processes and Equivalences Mads Dam Reading: Peled 8.1, 8.2, 8.5.
Binary decision diagrams (BDD’s) Compact representation of a logic function ROBDD’s (reduced ordered BDD’s) are a canonical representation: equivalence.
CSE373: Data Structures & Algorithms Lecture 9: Disjoint Sets and the Union-Find ADT Lauren Milne Summer 2015.
Aim: Triangle Congruence - SSS Course: Applied Geometry Do Now: Aim: How to prove triangles are congruent using a 2 nd shortcut: SSS.
Formal Testing with Input-Output Transition Systems Ed Brinksma Course 2004.
Process Algebra (2IF45) Analysing Probabilistic systems Dr. Suzana Andova.
Binary Relations Definition: A binary relation R from a set A to a set B is a subset R ⊆ A × B. Example: Let A = { 0, 1,2 } and B = {a,b} {( 0, a), (
Process Algebra (2IF45) Basic Process Algebra Dr. Suzana Andova.
Unrestricted Grammars
Test Generation for Input/Output Transition Systems Ed Brinksma Course 2004.
6/12/20161 a.a.2015/2016 Prof. Anna Labella Formal Methods in software development.
Preorders on Labelled Transition Systems
CSE373: Data Structures & Algorithms Lecture 10: Disjoint Sets and the Union-Find ADT Linda Shapiro Spring 2016.
Make an Organized List and Simulate a Problem
CSE373: Data Structures & Algorithms Lecture 10: Disjoint Sets and the Union-Find ADT Linda Shapiro Winter 2015.
Boolean Algebra.
Chapter 7 Regular Grammars
Formal Methods in software development
Similar Right Triangles: Geometric Mean
CSE373: Data Structures & Algorithms Lecture 9: Disjoint Sets & Union-Find Dan Grossman Fall 2013.
Математици-юбиляри.
Formal Methods in software development
A Series of Slides in 5 Parts Movement 2. BFS
Properties of Numbers Lesson 1-3.
Basics of Relations.
Practice makes perfect!
Lines, rays and line segments
A Series of Slides in 5 Parts Movement 4. Best-First
A Series of Slides in 5 Parts Movement 1. DFS
A Series of Slides in 5 Parts Movement 3. IDFS
Properties of Real Numbers
Properties of Numbers Review Problems.
Presentation transcript:

Equivalences on Labelled Transition Systems Ed Brinksma Course 2004

© Ed Brinksma/Jan Tretmans Observable Behaviour a aa  a  a ?? ?? ?? “ Some transition systems are more equal than others “

© Ed Brinksma/Jan Tretmans a b a  b aa b b  a Observable Behaviour ?? ?? ?? ?? ??

© Ed Brinksma/Jan Tretmans Equivalences on Transition Systems Transition systems are studied w.r.t. equivalence classes of behaviour; and there many: S 1  S 2 isomorphism S 1  S 2 strong / weak / branching …… bisimulation S 1  t r S 2 trace equivalence S 1  te S 2 testing equivalence S 1  ready S 2 ready equivalence S 1  Q S 2 queue equivalence S 1  ft S 2 failure (trace) equivalence ………………

© Ed Brinksma/Jan Tretmans Isomorphism p  q  "p and q are exactly the same modulo state names" Isomorphism: aa  a    bijection  : S p  S q :  s 1, s 2  S p,    L  {  } : s 1 s 2   (s 1 )  (s 2 )  (s 0 p ) = s 0 q  a s0s0 s1s1 a v u  

© Ed Brinksma/Jan Tretmans a b a  b aa b b  a Isomorphism     

© Ed Brinksma/Jan Tretmans Comparing Transition Systems S1S2S1S2 environment lSuppose an environment interacts with the systems: nthe environment tests the system as black box by observing and actively controlling it; nthe environment acts as a tester; lTwo systems are equivalent if they pass the same tests.

© Ed Brinksma/Jan Tretmans Comparing Transition Systems S1S2 environment e  ? ? S1  S2   e  E. obs ( e, S1 ) = obs (e, S2 )

© Ed Brinksma/Jan Tretmans cb a aa c b Equivalence of Transition Systems cb a aa c b b ca a a b a c b ca a c a ab  tr

© Ed Brinksma/Jan Tretmans Trace Equivalence S1S2 environment s 1  tr s 2  traces ( s 1 ) = traces ( s 2 ) traces (s) = {   L* | s  }

© Ed Brinksma/Jan Tretmans cb a aa c b  c b a  tr Trace Equivalence traces = { ,a,a b,a c }

© Ed Brinksma/Jan Tretmans Completed Trace Equivalence p  tr q  traces(p) = traces (q) p  ctr q  Ctraces(p) = Ctraces (q) and traces(p) = traces (q) Reachable states: s after  = { s’ | s  s’ } traces (s) = {   L* | s  } Traces: s after  refuses A   s'  s after  : s' refuses A Refusals: a s refuses A   a  A : s Refusal: Ctraces (s) = {   L* | s after  refuses L } Completed traces: Completed trace equivalence: Trace equivalence:

© Ed Brinksma/Jan Tretmans Completed Trace Equivalence a aa  a  a  tr  ctr  tr  ctr  tr  ctr p q p after a refuses Lq after a refuses L q after  refuses L p after  refuses L

© Ed Brinksma/Jan Tretmans cb a aa c b  c b a  tr  ctr Completed Trace Equivalence

© Ed Brinksma/Jan Tretmans a b a  b aa b b  a  tr  ctr  tr  ctr  tr  ctr  tr  ctr Completed Trace Equivalence

© Ed Brinksma/Jan Tretmans cb a aa c b  c b a ?? (Completed) Trace Equivalence : Others ?

© Ed Brinksma/Jan Tretmans Equivalences on Transition Systems isomorphism bisimulation ( weak ) failure trace = refusal failures = testing completed trace trace weak strong

© Ed Brinksma/Jan Tretmans Bisimulation p  b q  "p and q simulate each other and go to states from where they can simulate each other again" Bisimulation:  a a    S p  S q :  s 0 p, s 0 q    and   s 1, s 2   ,    L* : whenever s p s' p then s q s' q and  s' p, s' q    whenever s q s' q then s p s' p and  s' p, s' q       bb

© Ed Brinksma/Jan Tretmans Bisimulation  aaa  a a bb bb bb

© Ed Brinksma/Jan Tretmans a b a  b aa b b  a Bisimulation bb bb bb bb bb

© Ed Brinksma/Jan Tretmans cb a aa c b  c b a bb Bisimulation

© Ed Brinksma/Jan Tretmans Comparing Systems : Testing Equivalence S1S2 environment  LTS(L) Ctraces (e||s) S1  te S2   e  E. obs ( e, S1 ) = obs (e, S2 )  ? ?

© Ed Brinksma/Jan Tretmans Testing Equivalence S1S2 environment S1  te S2   e  LTS(L).    L*. e ||S1 after  refuses L  e ||S2 after  refuses L

© Ed Brinksma/Jan Tretmans Testing Equivalence a aa  a  a  te p q obs(e,p) = { a  } a Environment e : obs(e,q) = { a ,  }

© Ed Brinksma/Jan Tretmans S1 S2 environment a b a b cb a aa c b  te a a b a S1 after a refuses {b}S2 after a refuses {b} Testing Equivalence a b  a a  a b 

© Ed Brinksma/Jan Tretmans Testing Equivalence P  te q  FP(p) = FP(q) Failure equivalence = testing equivalence : aa c b FP :  a, {c}   a b, L   ,   Not FP :  a, {b,c}   a a,    , L  Failure pairs of p : FP (p) = {  , A  | A  L,   traces(p), p afer  refuses A }

© Ed Brinksma/Jan Tretmans cb a aa c b  tr b ca a   b ca a    ctr p q traces (p) = traces (p) = { , a, a b, a c } Ctraces (p) = Ctraces (p) = { a b, a c } p after a b refuses Lq after a b refuses L q after a refuses {a,c} p after a refuses {a,c} p after a refuses Lq after a refuses L Testing Equivalence  te

© Ed Brinksma/Jan Tretmans Testing Equivalence cb a aa c b  c b a  te

© Ed Brinksma/Jan Tretmans Testing Equivalence tea coin bang coffee bang p coffee tea coin bang tea coffee bang q p  te q But: if you want coffee you will eventually always succeed in q but not p !?

© Ed Brinksma/Jan Tretmans Refusal Equivalence tea coin bang co ff ee bang p coffee tea coin bang tea coffee bang q coffee coin bang  Test t :  only possible if everything else is impossible coin  bang coffee   obs ( q || t ) coin  bang coffee   obs ( p || t ) p  rf q

© Ed Brinksma/Jan Tretmans Comparing Systems : Refusal Equivalence S1S2 environment  LTS ( L  {  } ) Ctraces (e||s) S1  rf S2   e  E. obs ( e, S1 ) = obs (e, S2 )  ? ?

© Ed Brinksma/Jan Tretmans Refusal Equivalence S1S2 environment S1  rf S2   e  LTS(L  {  }).    L*. e ||S1 after  refuses L  e ||S2 after  refuses L

© Ed Brinksma/Jan Tretmans Refusal Equivalence P  rf q  Ftraces(p) = Ftraces (q) Failure trace equivalence = refusal equivalence :   ( L  ( L ) )* : s  Failure trace  : Failure traces of p : Ftraces (p) = {   ( L  ( L ) )* | p }  Failure A :     A  {  } : s A s  aa c b Ftraces : {b,c} a {a,c} b L a {c} b {a} {b} {c}  a {b} {b} c Not Ftraces : {a,b,c} a {a,c} b L a {c} c L a a 

© Ed Brinksma/Jan Tretmans Refusal Equivalence tea coin bang co ff ee bang p coffee tea coin bang tea coffee bang q p  rf q Ftrace of p : coin {coffee} bang {coffee} tea Not an Ftrace of p : coin {coffee} bang coffee An Ftrace of q : coin {coffee} bang coffee Not an Ftrace of q : coin {coffee} bang {coffee} tea

© Ed Brinksma/Jan Tretmans Equivalences on Transition Systems isomorphism bisimulation ( weak ) failure trace = refusal failures = testing completed trace trace weak strong observing sequences of actions and their end observing sequences of actions test an LTS with another LTS test an LTS with another LTS, and try again (continue) after failure test an LTS with another LTS, and undo, copy, repeat as often as you like now you need to observe  's ……

© Ed Brinksma/Jan Tretmans Equivalences : Examples a aa  a  a  sb  b  t r  t e  sb  b  t r  te  sb  b  t r  te

© Ed Brinksma/Jan Tretmans cb a aa c b  c b a Equivalences : Examples

© Ed Brinksma/Jan Tretmans a b a  b aa b b  a Equivalences : Examples

© Ed Brinksma/Jan Tretmans bb d c a Equivalence of Transition Systems aa b b c d dc b a

© Ed Brinksma/Jan Tretmans d a b c p d c d a b bb c s aa b b d c r bb d c a q Equivalences : Examples

© Ed Brinksma/Jan Tretmans Equivalences : Examples tea coin bang coffee bang p coffee tea coin bang tea coffee bang q