Preorders on Labelled Transition Systems

Slides:



Advertisements
Similar presentations
Reflexive example: AB = AB Symmetric example: AB = BA
Advertisements

1 Testing Stochastic Processes Through Reinforcement Learning François Laviolette Sami Zhioua Nips-Workshop December 9 th, 2006 Josée Desharnais.
Proving Triangles Congruent
Chapter 3 Relations. Section 3.1 Relations and Digraphs.
A b c p q r. Goal 1: How to identify congruent triangles. Goal 2: How to identify different types of triangles. Definition of Congruent Triangles If 
Relations - review A binary relation on A is a subset of A×A (set of ordered pairs of elements from A) Example: A = {a,b,c,d,e} R = { (a,a),(a,b),(b,b),(b,c),
Behavioral Equivalence Hossein Hojjat Formal Lab University of Tehran.
Equivalences on Labelled Transition Systems Ed Brinksma Course 2004.
A logic for true concurrency Paolo Baldan and Silvia Crafa Universita’ di Padova.
Fuzzy graph and relation. Outline Graph and fuzzy graph Characteristics of fuzzy relations Types of fuzzy relations.
I. Homomorphisms & Isomorphisms II. Computing Linear Maps III. Matrix Operations VI. Change of Basis V. Projection Topics: Line of Best Fit Geometry of.
EECS 20 Lecture 16 (February 26, 2001) Tom Henzinger Determinization.
1 Jan Tretmans Embedded Systems Institute Eindhoven Radboud University Nijmegen Model-Based Testing.
Preliminaries/ Chapter 1: Introduction. Definitions: from Abstract to Linear Algebra.
Reflection symmetry If you can draw a line through a shape so that one half is the mirror image of the other then the shape has reflection or line symmetry.
Binary Decision Diagrams for First Order Predicate Logic By: Jan Friso Groote Afsaneh Shirazi.
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.
Reactive systems – general
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?
Model-driven Test Generation Oleg Sokolsky September 22, 2004.
1.2 Field Axioms (Properties) Notes on a Handout.
Math 2 Geometry Based on Elementary Geometry, 3 rd ed, by Alexander & Koeberlein 3.1 Congruent Triangles.
2G1516 Formal Methods2005 Mads Dam IMIT, KTH 1 CCS: Processes and Equivalences Mads Dam Reading: Peled 8.5.
Chapter 4.2 Notes: Apply Congruence and Triangles
Objective: To prove and apply theorems about angles Proving Angles Congruent (2-6)
Formal Testing with Input-Output Transition Systems Ed Brinksma Course 2004.
 If three sides of one triangle are congruent to the three sides of another triangle, then the two triangles are congruent.  If AB = DE, BC = EF, AC.
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.
Test Generation for Input/Output Transition Systems Ed Brinksma Course 2004.
Geometry Review for Test Know your proportions Label Answers Show Work.
2.5 Algebra Reasoning. Addition Property: if a=b, then a+c = b+c Addition Property: if a=b, then a+c = b+c Subtraction Property: if a=b, then a-c = b-c.
Formal Methods for Software Engineering
Lesson 2 – 7 Proving Segment Relationships
Proving Triangles Congruent
Proving Triangles Congruent
Proving Triangles Congruent
CSE 373, Copyright S. Tanimoto, 2001 Up-trees -
CS 173: Discrete Mathematical Structures
ISA 763 Security Protocol Verification
Sequences Write down the next 3 terms in each sequence:
Lecture 4.3: Closures and Equivalence Relations
Chapter 2.6 (Part 1): Prove Statements about Segments and Angles
Apply Congruence and Triangles
4-3: Congruent Triangles
2. Definition of congruent segments AB = CD 2.
Proving Triangles Congruent
Geo Quiz. You have 20 min. 1. Find mABD. 2. Find mN and mP.
Lessons 4-4 and 4-5 Proving Triangles Congruent.
ECE/CS 584: Hybrid Automaton Modeling Framework Simulations and Composition Lecture 05 Sayan Mitra.
Chapter 4.2 Notes: Apply Congruence and Triangles
Formal Methods in software development
Check Homework.
8.5 Equivalence Relations and 8.6 Partial Ordering
Lesson 13.2 Similar Triangles pp
Proving Triangles Congruent
The UNION-FIND Abstract Data Type
Proving Triangles Congruent
Congruence and Triangles
Apply Congruence and Triangles:
Formal Methods in software development
Conformance Testing with State Mapping
Background material.
9.5 Equivalence Relations
Introduction to verification
Background material.
Proving Triangles Congruent
TRIANGLE CONGRUENCE p q r a b c LESSON 17.
A test generation framework for quiescent real-time systems
Presentation transcript:

Preorders on Labelled Transition Systems Ed Brinksma Course 2004

 Formal Testing i imp s i passes T imp S i specification test generation test suite T  imp implementation i test execution pass / fail

Implementation Relation i imp s : implementation i implements specification s imp reflexive ? s imp s imp symmetric ? i imp s  s imp i imp transitive ? i imp s, s imp t  i imp t imp anti-symmetric? i imp s, s imp i  i = s imp linear ? i imp s or s imp i imp congruent ? i imp s  f( i ) imp f( s ) Yes No Prefer equivalence : reflexive, symmetric, transitive preorder : reflexive, transitive partial order : anti-symmetric preorder linear/total order : linear partial order

Preorders on Transition Systems  i  s   e  E . obs ( e, i )  obs (e, s ) implementation i specification s i  s   e  E . obs ( e, i ) = obs (e, s )  environment e    ? ? ?

Preorders on Transition Systems  implementation i specification s environment e Suppose an environment interacts with the black box implementation i and with the specification s : i correctly implements s iff all observation of i can be related to observations of s

Preorders on Transition Systems For almost any equivalence  you can define a corresponding preorder  such that p  q  p  q and q  p : S1 h S2 homomorphism S1 b S2 various simulation relations S1 tr S2 trace preorder S1 te S2 testing preorder S1 ready S2 ready preorder S1 Q S2 queue preorder S1 ft S2 failure (trace) preorder ……… ………

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

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

tr Trace Preorder i tr s  traces ( i )  traces ( s ) implementation i specification s environment e i tr s  traces ( i )  traces ( s ) traces (s) = {   L* | s  } Traces:

Trace Preorder tr tr tr tr tr tr coffee coffee coffee i tr s = dub tr coffee dub tea tr tr tr dub coffee tea tr tr i tr s = traces(i)  traces(s)

Trace Preorder tr tr tr coffee coffee i tr s = coffee dub coffee dub tea tr dub coffee tea i tr s = traces(i)  traces(s)

te Testing Preorder i te s   e  E . obs ( e, i )  obs (e, s ) implementation i specification s environment e i te s   e  E . obs ( e, i )  obs (e, s )   LTS(L) Ctraces (e||s)

te Testing Preorder e||i after  refuses L  e||s after  refuses L implementation i specification s environment e i te s   e  LTS(L) .    L* . e||i after  refuses L  e||s after  refuses L  FP (i)  FP (s) FP (p) = {  , A  | A  L,  traces(p), p afer  refuses A }

Testing Preorder te te p q c b a a c b p after a b refuses L q after a b refuses L p after a refuses {b} q after a refuses {b} p after a refuses {c} q after a refuses {c} p after a refuses {b,c} q after a refuses {b,c}

Testing Preorder te te p q a a c b b p after a refuses {a} q after a refuses {a} p after a refuses {b} q after a refuses {b} p after a refuses {c} q after a refuses {c} p after a refuses {b,c} q after a refuses {b,c} p after a refuses {a,b,c} q after a refuses {a,b,c}

Testing Preorder te te te te te te  c b a a c b c b a i te s = FP(i)  FP(s)

Testing preorder te te te te te te p q   a a a a Environment e : obs(e,p) = { a  } obs(e,q) = { a ,  }

Testing Preorder a ? te a b ? te a b ? te a  b ? te b  a ? te

Testing Preorder p te q p te q ? q te p ? p q tea coin bang coffee

rf Refusal Preorder i rf s   e  E . obs ( e, i )  obs (e, s ) implementation i specification s environment e i rf s   e  E . obs ( e, i )  obs (e, s )   LTS(L{}) Ctraces (e||i)

rf Refusal Preorder e||i after  refuses L  e||s after  refuses L implementation i specification s environment e i rf s   e  LTS(L{}) .    L* . e||i after  refuses L  e||s after  refuses L  Ftraces( i )  Ftraces ( s )

Refusal Preorder    A  {  } : s    ( L ( L ) )* : s Failure A :     A  {  } : s A s s    ( L ( L ) )* : s  Failure trace  : Failure traces of p : Ftraces (p) = {   ( L ( L ) )* | p }  p rf q  Ftraces(p)  Ftraces (q) Failure trace preorder = refusal preorder : a 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 

Refusal Preorder q rf p p rf q p q Ftrace of p : tea coin bang coffee p coffee tea coin bang q q rf p p rf q Ftrace of p : coin {coffee} bang {coffee} tea Not an Ftrace of q : coin {coffee} bang {coffee} tea Not an Ftrace of p : coin {coffee} bang coffee An Ftrace of q : coin {coffee} bang coffee

Preorders on Transition Systems failure trace = refusal preorder test an LTS with another LTS, and try again (continue) after failure weak strong failures = testing preorder test an LTS with another LTS trace preorder observing sequences of actions