*Department of Computing Science University of Newcastle upon Tyne **Institut für Informatik, Universität Augsburg Canonical Prefixes of Petri Net Unfoldings.

Slides:



Advertisements
Similar presentations
Automated Theorem Proving Lecture 1. Program verification is undecidable! Given program P and specification S, does P satisfy S?
Advertisements

Tintu David Joy. Agenda Motivation Better Verification Through Symmetry-basic idea Structural Symmetry and Multiprocessor Systems Mur ϕ verification system.
Modular Processings based on Unfoldings Eric Fabre & Agnes Madalinski DistribCom Team Irisa/Inria UFO workshop - June 26, 2007.
On 1-soundness and Soundness of Workflow Nets Lu Ping, Hu Hao and Lü Jian Department of Computer Science Nanjing University
Automatic Verification Book: Chapter 6. What is verification? Traditionally, verification means proof of correctness automatic: model checking deductive:
CS6133 Software Specification and Verification
1 1 CDT314 FABER Formal Languages, Automata and Models of Computation Lecture 3 School of Innovation, Design and Engineering Mälardalen University 2012.
A Novel Method For Fast Model Checking Project Report.
Determinization of Büchi Automata
Equivalence, Order, and Inductive Proof
Self Stabilizing Algorithms for Topology Management Presentation: Deniz Çokuslu.
Rigorous Software Development CSCI-GA Instructor: Thomas Wies Spring 2012 Lecture 13.
Online Scheduling with Known Arrival Times Nicholas G Hall (Ohio State University) Marc E Posner (Ohio State University) Chris N Potts (University of Southampton)
Merged Processes of Petri nets Victor Khomenko Joint work with Alex Kondratyev, Maciej Koutny and Walter Vogler.
Copyright © Cengage Learning. All rights reserved. CHAPTER 5 SEQUENCES, MATHEMATICAL INDUCTION, AND RECURSION SEQUENCES, MATHEMATICAL INDUCTION, AND RECURSION.
Parallel Scheduling of Complex DAGs under Uncertainty Grzegorz Malewicz.
Formal Methods in Software Engineering Credit Hours: 3+0 By: Qaisar Javaid Assistant Professor Formal Methods in Software Engineering1.
Lecture 2: Reasoning with Distributed Programs Anish Arora CSE 6333.
A Semantic Characterization of Unbounded-Nondeterministic Abstract State Machines Andreas Glausch and Wolfgang Reisig 1.
1 Introduction to Computability Theory Lecture12: Decidable Languages Prof. Amos Israeli.
1 Basic abstract interpretation theory. 2 The general idea §a semantics l any definition style, from a denotational definition to a detailed interpreter.
Programming Language Semantics Denotational Semantics Chapter 5 Based on a lecture by Martin Abadi.
A Schedulability-Preserving Transformation of BDF to Petri Nets Cong Liu EECS 290n Class Project December 10, 2004.
Temporal Logic and Model Checking. Reactive Systems We often classify systems into two types: Transformational: functions from inputs available at the.
Behaviour-Preserving Transition Insertions in Unfolding Prefixes
Technische Universität München Institut für Informatik D München, Germany Realizability of System Interface Specifications Manfred Broy.
Formal Verification Group © Copyright IBM Corporation 2008 IBM Haifa Labs SAT-based unbounded model checking using interpolation Based on a paper “Interpolation.
Concurrency in Distributed Systems: Mutual exclusion.
Branching Processes of High-Level Petri Nets Victor Khomenko and Maciej Koutny University of Newcastle upon Tyne.
Data Flow Analysis Compiler Design Nov. 8, 2005.
1 Ivan Lanese Computer Science Department University of Bologna Italy Concurrent and located synchronizations in π-calculus.
Embedded Systems Laboratory Department of Computer and Information Science Linköping University Sweden Formal Verification and Model Checking Traian Pop.
Canonical Prefixes of Petri Net Unfoldings Walter Vogler Universität Augsburg in cooperation with V. Khomenko, M. Koutny (CAV 2002, Acta Informatica 2003)
Phylogenetic Networks of SNPs with Constrained Recombination D. Gusfield, S. Eddhu, C. Langley.
Data Flow Analysis Compiler Design Nov. 8, 2005.
Merged processes – a new condensed representation of Petri net behaviour V.Khomenko 1, A.Kondratyev 2, M.Koutny 1 and W.Vogler 3 1 University of Newcastle.
1 Formal Engineering of Reliable Software LASER 2004 school Tutorial, Lecture1 Natasha Sharygina Carnegie Mellon University.
Programming Language Semantics Denotational Semantics Chapter 5 Part III Based on a lecture by Martin Abadi.
HELSINKI UNIVERSITY OF TECHNOLOGY *Laboratory for Theoretical Computer Science Helsinki University of Technology **Department of Computing Science University.
Regular Model Checking Ahmed Bouajjani,Benget Jonsson, Marcus Nillson and Tayssir Touili Moran Ben Tulila
Linear and Branching Time Safety, Liveness, and Fairness
Jorge Muñoz-Gama Universitat Politècnica de Catalunya (Barcelona, Spain) Algorithms for Process Conformance and Process Refinement.
Automatic Structures Bakhadyr Khoussainov Computer Science Department The University of Auckland, New Zealand.
Dina Workshop Analysing Properties of Hybrid Systems Rafael Wisniewski Aalborg University.
CS344: Introduction to Artificial Intelligence Lecture: Herbrand’s Theorem Proving satisfiability of logic formulae using semantic trees (from Symbolic.
Reading and Writing Mathematical Proofs Spring 2015 Lecture 4: Beyond Basic Induction.
Theory of Computation, Feodor F. Dragan, Kent State University 1 TheoryofComputation Spring, 2015 (Feodor F. Dragan) Department of Computer Science Kent.
Ivan Lanese Computer Science Department University of Bologna/INRIA Italy Decidability Results for Dynamic Installation of Compensation Handlers Joint.
Maximum Flow Problem (Thanks to Jim Orlin & MIT OCW)
ICS 253: Discrete Structures I Induction and Recursion King Fahd University of Petroleum & Minerals Information & Computer Science Department.
- 1 -  P. Marwedel, Univ. Dortmund, Informatik 12, 05/06 Universität Dortmund Validation - Formal verification -
15.082J and 6.855J March 4, 2003 Introduction to Maximum Flows.
CS 3343: Analysis of Algorithms Lecture 25: P and NP Some slides courtesy of Carola Wenk.
Verification & Validation By: Amir Masoud Gharehbaghi
Behavioral Comparison of Process Models Based on Canonically Reduced Event Structures Paolo Baldan Marlon Dumas Luciano García Abel Armas.
CSCI1600: Embedded and Real Time Software Lecture 11: Modeling IV: Concurrency Steven Reiss, Fall 2015.
1 Section 4.3 Order Relations A binary relation is an partial order if it transitive and antisymmetric. If R is a partial order over the set S, we also.
Donghyun (David) Kim Department of Mathematics and Computer Science North Carolina Central University 1 Chapter 7 Time Complexity Some slides are in courtesy.
Fault tolerance and related issues in distributed computing Shmuel Zaks GSSI - Feb
Program Correctness. The designer of a distributed system has the responsibility of certifying the correctness of the system before users start using.
Chapter 5 Finite Automata Finite State Automata n Capable of recognizing numerous symbol patterns, the class of regular languages n Suitable for.
Operational Semantics Mooly Sagiv Tel Aviv University Sunday Scrieber 8 Monday Schrieber.
Process Algebra (2IF45) Basic Process Algebra Dr. Suzana Andova.
Abstraction and Abstract Interpretation. Abstraction (a simplified view) Abstraction is an effective tool in verification Given a transition system, we.
 2004 SDU Uniquely Decodable Code 1.Related Notions 2.Determining UDC 3.Kraft Inequality.
Chapter 3 The Real Numbers.
Chapter 5. Optimal Matchings
Alternating tree Automata and Parity games
3.5 Minimum Cuts in Undirected Graphs
Victor Khomenko and Andrey Mokhov
Presentation transcript:

*Department of Computing Science University of Newcastle upon Tyne **Institut für Informatik, Universität Augsburg Canonical Prefixes of Petri Net Unfoldings V.Khomenko*, M.Koutny*, and W.Vogler**

2  investigate fundamental properties of unfoldings and their prefixes  extend the applicability of the existing techniques Motivation

3  all reachable states are represented  all instances of a state have the same future  infinite unfoldings are of little use for MC unfolding FSM s r r a c b d p s c b r a c b d c a b r p s – initial state Unfolding finite state machines

4  cut if there is a preceding instance of the same state  the prefix still contains all reachable states Complete prefix d c a b r p s – initial state s r r a c b d p s prefix

5  the prefix has no infinite paths, and we can apply … d c a b r p s – initial state s r r a c b d p s prefix The prefix is finite

6 A finitely branching, rooted, directed acyclic graph with infinitely many nodes reachable from the root has an infinite path from the root D.König: Über eine Schlußweise aus dem Endlichen ins Unendliche. Acta Litt. ac. sci. Szeged 3 (1927) NB: branching is finite but may be unbounded! König’s lemma

7 unfolding Unfolding more complicated machines Problem 1: can x ever have a value other than 0 at s? x is an integer variable with the initial value 0 a: x=x+1 b: x=x-1 c: x=x+1 d: x=x s r r a c b d p s c b r a c b d c a b r p s – initial state

8  x is always 0 at s in the prefix  a clear mistake, e.g. a c d b  what is behind this error ? d c a b r p s – initial state X=0 s r r a c b d p s x is an integer variable with the initial value 0 a: x=x+1 b: x=x-1 c: x=x+1 d: x=x prefix Prefix – first attempt

9  not every execution is represented  correction: cut if there is a preceding instance of the same state with the same value of x  no complete and finite prefix in this case d c a b r p s – initial state x is an integer variable with the initial value 0 a: x=x+1 b: x=x-1 c: x=x+1 d: x=x prefix s: x=0 a c b d r: x=1 p: x=2 r: x=2 Prefix is not complete!

10  now the prefix is complete and finite  is it crucial that the previous machine had an infinite state space while this one has not ? d c a b r p s – initial state x is an integer variable with the initial value 0 a: x=x+1 b: x=x-1 c: x=x+1 d: x=x-1 prefix s: x=0 a c b d r: x=1 p: x=2 r: x=1 Prefix is complete correction

11 a: x=x+1 b: x=if (x<2) then (x-1) else x c: x=x+2 d: x=x Problem 2: can x ever be equal to 1 at s? s: x=0 r: x=3 r: x=1 a c b d s: x=0 p: x=3 b c a d s: x=3 r: x=4 p: x=5 r: x=5  this prefix is complete for Problem 2  x>1 cannot decrease, so no need to look below the leaves ! d c a b r p s Another machine with infinite state space

12  M is a machine with execution tree ET  Prop is a property specified on executions of M  ~ is an equivalence relation on executions  if E 1 ~E 2 then:  E 1 satisfies Prop iff E 2 satisfies Prop  for every extension E 1 ’ of E 1 there is an extension E 2 ’ of E 2 such that E 1 ’~E 2 ’  PREF is the prefix obtained thus: an execution is terminated as soon as there is a ‘smaller’ equivalent execution A generalization

13 Canonicity: PREF is unique Completeness: All executions in ET satisfy Prop iff all executions in PREF satisfy Prop Finiteness: PREF is finite iff the number of equivalence classes of ~ is finite Proof: Follows from König’s Lemma Properties

14 Prop = “there is an execution leading to a given state” E 1 ~E 2 iff both executions lead to the same state of M (variable is not present) PREF is finite as ~ has finitely many equivalence classes Application 1

15 Prop = “there is an execution leading to a given state of M and setting x to a given value” E 1 ~E 2 iff both executions lead to the same state of M and set x to the same value PREF is finite iff x can be set to finitely many values Note: the latter may be difficult to establish (global reasoning) Application 2

16 Prop = “there is an execution leading to a given state of M and setting x to a given value k” M is a machine such that if x>m>k, then no transition can set x to a value <m Note: this may be easy to establish (local reasoning) E 1 ~E 2 iff both executions lead to the same state of M AND they set x EITHERto the same value m PREF is always finite Application 3

17  Unfolding based techniques can be execution- oriented rather than state-oriented  By choosing suitable ~ we may finely tune the construction of the prefix to match the verification problem  König’s lemma plays a key role in dealing with the finiteness of the prefix Some conclusions We may try to generalize these ideas to branching processes of Petri nets

18 A branching process

k A condition with infinite branching The branching process can potentially be infinite even when all the paths are finite König's Lemma cannot be directly applied to branching processes, since branching on conditions can be infinite König’s lemma for branching processes? But we may try to prove a net-specific result !

20 Theorem: An infinite branching process of a P/T-net always contains an infinite chain of causally related events starting at the initial event The result holds also for unbounded nets! König’s lemma for branching processes

21 Unfthe (full) unfolding of a fixed P/T-net Ethe set of events of Unf Confthe set of finite configurations of Unf Locthe set of local configurations of Unf Some notation Note that configurations are in fact (partial-order) executions

22 A cutting context is a triple Θ = ( ~, <, {C e } e  E ) where: ~ is an equivalence relation on Conf <is a strict and well-founded partial order on Conf refining set inclusion [ERV] C e is a subset of Conf Cutting context ~ and < must be preserved by finite extensions, i.e. if C 1 ~C 2 and C 1 <C 2 then for every finite extension C 1 ’ of C 1 there is a finite extension C 2 ’ of C 2 such that C 1 ’~C 2 ’ and C 1 ’<C 2 ’

23 C e Conf – [Hel] C e Loc – standard [ERV, McM …] C 1 ~C 2 if the same markings are produced – standard [ERV, McM …] C 1 ~C 2 if symmetric markings are produced – [CGP] C 1 ~C 2 if the same markings are produced and Code(C 1 )=Code(C 2 ), where Code is the signal coding function – [KKY] Cutting contexts – examples

24 A branching process π is complete w.r.t. a set E’ of events if:  for every C  Conf there is a finite configuration C’ in π such that C~C’ and C’  E’=   if C is a finite configuration of π such that C  E’= , C  {e} is an extension of C in Unf, then C  {e} is an extension of C in π π is complete if it is complete w.r.t. some E’ Note: this notion of completeness is strictly stronger than the standard one (e.g. in [ERV]) Completeness

25 Sets of events feasible and cut-off are defined by induction:  e is feasible if it has no cut-off predecessors  e is a cut-off event if it is feasible and there is a configuration C  C e consisting of feasible non-cut-off events such that C~[e] and C<[e] Static cut-off events No algorithm is needed to define cut-offs and the prefix! The canonical prefix CAN is the branching process comprising the feasible events

26 Completeness: CAN is complete w.r.t. the set of cut-off events Finiteness: CAN is infinite iff Unf contains an infinite chain of feasible events Proof: Follows from König's Lemma for branching processes Properties of CAN Canonicity: CAN is unique

27 Finiteness 2:  If ~ has finitely many equivalence classes and each C e contains Loc, then CAN is finite  If ~ has infinitely many equivalence classes, then CAN is infinite More about finiteness Note: upper bounds on the size of CAN can also be obtained in certain cases

28 Theorem: The standard (non-deterministic!) unfolding algorithms always generate CAN!!! Generating CAN The result holds for the algorithm proposed in [ERV] and for the parallel algorithm in [HKK]

29  General flexible framework for constructing complete prefixes of net unfoldings  Canonicity of the prefix given a fixed cutting context  Stronger notion of completeness  New / improved proofs of correctness of the existing algorithms for constructing finite prefixes  König’s Lemma for branching processes of P/T- nets (also unbounded ones) What has been achieved?