4/25/20151 Metodi formali nello sviluppo software a.a.2013/2014 Prof.Anna Labella.

Slides:



Advertisements
Similar presentations
1 Verification by Model Checking. 2 Part 1 : Motivation.
Advertisements

Model Checking Lecture 2. Three important decisions when choosing system properties: 1automata vs. logic 2branching vs. linear time 3safety vs. liveness.
Brief Introduction to Logic. Outline Historical View Propositional Logic : Syntax Propositional Logic : Semantics Satisfiability Natural Deduction : Proofs.
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.
PROOF BY CONTRADICTION
Metodi formali dello sviluppo software a.a.2013/2014 Prof.Anna Labella.
Algorithmic Software Verification VII. Computation tree logic and bisimulations.
April 2009 CCS T OOLS Keywords: - Concurrency Workbench - CCS visualizer and simulator - The Bisimulation Game Game.
Partial Order Reduction: Main Idea
Process Algebra (2IF45) Abstraction in Process Algebra Suzana Andova.
Temporal Logic and the NuSMV Model Checker CS 680 Formal Methods Jeremy Johnson.
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.
1 Partial Order Reduction. 2 Basic idea P1P1 P2P2 P3P3 a1a1 a2a2 a3a3 a1a1 a1a1 a2a2 a2a2 a2a2 a2a2 a3a3 a3a3 a3a3 a3a3 a1a1 a1a1 3 independent processes.
MA/CSSE 473/474 How (not) to do an induction proof.
Behavioral Equivalence Hossein Hojjat Formal Lab University of Tehran.
Equivalences on Labelled Transition Systems Ed Brinksma Course 2004.
Possibilistic and probabilistic abstraction-based model checking Michael Huth Computing Imperial College London, United Kingdom.
A logic for true concurrency Paolo Baldan and Silvia Crafa Universita’ di Padova.
Department of mathematics and computer science 1 of 21 Rob van Glabbeek (Sydney) Marc Voorhoeve (TUE) Liveness, Fairness and Impossible Futures.
Bisimulation Relation A lecture over E. Hagherdi, P. Tabuada, G. J. Pappas Bisimulation relation for dynamical, control, and hybrid systems Rafael Wisniewski.
Brief Introduction to Logic. Outline Historical View Propositional Logic : Syntax Propositional Logic : Semantics Satisfiability Natural Deduction : Proofs.
EECS 20 Lecture 16 (February 26, 2001) Tom Henzinger Determinization.
Temporal Logic and Model Checking. Reactive Systems We often classify systems into two types: Transformational: functions from inputs available at the.
Witness and Counterexample Li Tan Oct. 15, 2002.
Review of the automata-theoretic approach to model-checking.
1 Ivan Lanese Computer Science Department University of Bologna Italy Concurrent and located synchronizations in π-calculus.
ESE601: Hybrid Systems Introduction to verification Spring 2006.
Witness and Counterexample Li Tan Oct. 15, 2002.
Abstract Verification is traditionally done by determining the truth of a temporal formula (the specification) with respect to a timed transition system.
Model Checking LTL over (discrete time) Controllable Linear System is Decidable P. Tabuada and G. J. Pappas Michael, Roozbeh Ph.D. Course November 2005.
 A. Topic Sentence: a statement of the paragraph’s main idea.  The remaining sentences support, explain or illustrate the topic sentence B. Implied.
15-820A 1 LTL to Büchi Automata Flavio Lerda A 2 LTL to Büchi Automata LTL Formulas Subset of CTL* –Distinct from CTL AFG p  LTL  f  CTL. f.
A Decidable Recursive Logic for Weighted Transition Systems Bingtian Xue Aalborg University, DENMARK ICTAC, Sep 18, 2014 Joint work with Kim G. Larsen.
Process Algebra (2IF45) Probabilistic Branching Bisimulation: Exercises Dr. Suzana Andova.
SDS Foil no 1 Process Algebra Process Algebra – calculating with behaviours.
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.
Hybrid automata and temporal logics
1 Bisimulations as a Technique for State Space Reductions.
Process Algebra Calculus of Communicating Systems Daniel Choi Provable Software Lab. KAIST.
Copyright , Doron Peled and Cesare Tinelli. These notes are based on a set of lecture notes originally developed by Doron Peled at the University.
11/19/20151 Metodi formali nello sviluppo software a.a.2013/2014 Prof.Anna Labella.
MPRI 3 Dec 2007Catuscia Palamidessi 1 Why Probability and Nondeterminism? Concurrency Theory Nondeterminism –Scheduling within parallel composition –Unknown.
1 Symmetry Symmetry Chapter 14 from “Model Checking” by Edmund M. Clarke Jr., Orna Grumberg, and Doron A. Peled presented by Anastasia Braginsky March.
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.
Supercompilation and Normalisation by Evaluation Gavin Mendel-Gleason & Geoff Hamilton Dublin City University.
CS 203: Introduction to Formal Languages and Automata
On the origins of Bisimulation & Coinduction
1 Temporal logic. 2 Prop. logic: model and reason about static situations. Example: Are there truth values that can be assigned to x,y simultaneously.
Formal Testing with Input-Output Transition Systems Ed Brinksma Course 2004.
Process Algebra (2IF45) Analysing Probabilistic systems Dr. Suzana Andova.
Process Algebra (2IF45) Basic Process Algebra Dr. Suzana Andova.
Today’s Agenda  Quiz 4  Temporal Logic Formal Methods in Software Engineering1.
6.6 Rings and fields Rings  Definition 21: A ring is an Abelian group [R, +] with an additional associative binary operation (denoted ·) such that.
6/12/20161 a.a.2015/2016 Prof. Anna Labella Formal Methods in software development.
Prof. Dr. Holger Schlingloff 1,2 Dr. Esteban Pavese 1
Axiomatic semantics Points to discuss: The assignment statement
Internet of Things A Process Calculus Approach
Formal Methods in software development
Formal Methods in software development
Formal Methods in software development
Formal Methods in software development
Finite-Trace Linear Temporal Logic: Coinductive Completeness
Formal Methods in software development
Introduction to verification
Formal Methods in software development
Presentation transcript:

4/25/20151 Metodi formali nello sviluppo software a.a.2013/2014 Prof.Anna Labella

4/25/ Process Equivalences Sameness of behaviour = equivalence of states Many process equivalences have been proposed For instance: q 1 ~ q 2 iff –q 1 and q 2 have the same paths, or –q 1 and q 2 may always refuse the same interactions, or –q 1 and q 2 pass the same tests, or –q 1 and q 2 satisfy the same temporal formulas, or –q 1 and q 2 have identical branching structure CCS: Focus on bisimulation equivalence

4/25/ Bisimulation Equivalence Intuition: q 1 ~ q 2 iff q 1 and q 2 have same branching structure Idea: Find relation which will relate two states with the same transition structure, and make sure the relation is preserved Example: aaa b b bc c c q1q1 q2q2

4/25/ Strong Bisimulation Equivalence Given: Labelled transition system T = (Q, ,R) Looking for a relation S  Q  Q on states S is a strong bisimulation relation if whenever q 1 S q 2 then: –q 1   q 1 ’ implies q 2   q 2 ’ for some q 2 ’ such that q 1 ’ S q 2 ’ –q 2   q 2 ’ implies q 1   q 1 ’ for some q 1 ’ such that q 1 ’ S q 2 ’ q 1 and q 2 are strongly bisimilar iff q 1 S q 2 for some strong bisimulation relation S q 1  q 2 : q 1 and q 2 are strongly bisimilar Peled uses ´ bis for »

4/25/ Example q1q1 q0q0 q2q2 p0p0 p1p1 p2p2 a a a a a a a b b b Does q 0 ~ p 0 hold?

4/25/ Example q1q1 q0q0 q2q2 p0p0 p1p1 p2p2 c aa a c b b Does q 0 ~ p 0 hold? q3q3 q4q4 p3p3

4/25/ Weak Transitions What to do about internal activity?  : Transition label for activity which is not externally visible q   q’ iff q = q 0   q 1  ...   q n = q’, n  0 q   q’ iff q   q’ q   q’ iff q   q 1   q 2   q’ (    ) Beware that   =   (non-standard notation) Observational equivalence, v.1.0: Bisimulation equivalence with  in place of  Let q 1  q 2 iff q 1 ~ q 2 with   in place of  

4/25/ Observational Equivalence Let S  Q  Q. The relation S is a weak bisimulation relation if whenever q 1 S q 2 then: –q 1   q 1 ’ implies q 2   q 2 ’ for some q 2 ’ such that q 1 ’ S q 2 ’ –q 2   q 2 ’ implies q 1   q 1 ’ for some q 1 ’ such that q 1 ’ S q 2 ’ q 1 and q 2 are observationally equivalent, or weakly bisimulation equivalent, if q 1 S q 2 for some weak bisimulation relation S q 1  q 2 : q 1 and q 2 are observationally equivalent/weakly bisimilar

4/25/ Examples a a a a a a a a b b c c c        

4/25/ Examples b a  b a  a  b All three are inequivalent

4/25/ Bisimulazioni Strong Weak Branching

4/25/ Bisimulazioni Strong Se un processo/stato può fare una mossa, allora può farla anche l ’ altro e viceversa. a c bc b b a a bc

4/25/ Bisimulazioni weak Un processo può passare attraverso più stati (non equivalenti e non allineati) con mosse invisibili, tentando di simulare l ’ altro. a b c b a b c a

4/25/ Bisimulazioni branching Un processo può passare attraverso più stati (equivalenti) con mosse invisibili, mentre l ’ altro è fermo, ma mantiene le stesse potenzialità. a b b a bc b a c

4/25/ Proving Equivalences The bisimulation proof method: To establish P  Q: 1. Identify a relation S such that P S Q 2. Prove that S is a weak bisimulation relation This is the canonical method There are other methods for process verification: 1. Equational reasoning 2. Temporal logic specification/proof/model checking

4/25/ Bisimilarità: massimo punto fisso

4/25/

4/25/

4/25/

4/25/

4/25/

4/25/

4/25/

4/25/

4/25/

4/25/

4/25/

4/25/

4/25/

4/25/

4/25/

4/25/

4/25/