Behaviour-Preserving Transition Insertions in Unfolding Prefixes

Slides:



Advertisements
Similar presentations
Tintu David Joy. Agenda Motivation Better Verification Through Symmetry-basic idea Structural Symmetry and Multiprocessor Systems Mur ϕ verification system.
Advertisements

Shortest Violation Traces in Model Checking Based on Petri Net Unfoldings and SAT Victor Khomenko University of Newcastle upon Tyne Supported by IST project.
Modular Processings based on Unfoldings Eric Fabre & Agnes Madalinski DistribCom Team Irisa/Inria UFO workshop - June 26, 2007.
Techniques to analyze workflows (design-time)
CMPS 3223 Theory of Computation
Concurrent Operational Semantics of Safe Time Petri Nets Claude Jard European University of Brittany, ENS Cachan Bretagne, IRISA Campus de Ker-Lann,
Based on: Petri Nets and Industrial Applications: A Tutorial
1 BalsaOpt a tool for Balsa Synthesis Francisco Fernández-Nogueira, UPC (Spain) Josep Carmona, UPC (Spain)
1 Advanced Digital Design Synthesis of Control Circuits by A. Steininger and J. Lechner Vienna University of Technology.
A Novel Method For Fast Model Checking Project Report.
Merged Processes of Petri nets Victor Khomenko Joint work with Alex Kondratyev, Maciej Koutny and Walter Vogler.
Soundness problem for Resource-Constrained Workflow nets.
IE 469 Manufacturing Systems
1 Towards formal manipulations of scenarios represented by High-level Message Sequence Charts Loïc Hélouet Claude Jard Benoît Caillaud IRISA/PAMPA (INRIA/CNRS/Univ.
An Introduction to Markov Decision Processes Sarah Hickmott
Hazard-free logic synthesis and technology mapping I Jordi Cortadella Michael Kishinevsky Alex Kondratyev Luciano Lavagno Alex Yakovlev Univ. Politècnica.
Hardware and Petri nets Synthesis of asynchronous circuits from Signal Transition Graphs.
Logic Decomposition of Asynchronous Circuits Using STG Unfoldings Victor Khomenko School of Computing Science, Newcastle University, UK.
Logic Synthesis for Asynchronous Circuits Based on Petri Net Unfoldings and Incremental SAT Victor Khomenko, Maciej Koutny, and Alex Yakovlev University.
Banker’s Algorithm Implementation in CPN Tools Michal Žarnay Department of Transportation Networks University of Žilina, Slovakia.
Detecting State Coding Conflicts in STGs Using Integer Programming Victor Khomenko, Maciej Koutny, and Alex Yakovlev University of Newcastle upon Tyne.
Hardware and Petri nets: application to asynchronous circuit design Jordi CortadellaUniversitat Politècnica de Catalunya, Spain Michael KishinevskyIntel.
1 Logic design of asynchronous circuits Part II: Logic synthesis from concurrent specifications.
Introduction to asynchronous circuit design: specification and synthesis Part II: Synthesis of control circuits from STGs.
Combining Decomposition and Unfolding for STG Synthesis (application paper) Victor Khomenko 1 and Mark Schaefer 2 1 School of Computing Science, Newcastle.
A Schedulability-Preserving Transformation of BDF to Petri Nets Cong Liu EECS 290n Class Project December 10, 2004.
Hardware and Petri nets Partial order methods for analysis and verification of asynchronous circuits.
1 Logic synthesis from concurrent specifications Jordi Cortadella Universitat Politecnica de Catalunya Barcelona, Spain In collaboration with M. Kishinevsky,
Asynchronous Interface Specification, Analysis and Synthesis M. Kishinevsky Intel Corporation J. Cortadella Technical University of Catalonia.
Visualisation and Resolution of Coding Conflicts in Asynchronous Circuit Design A. Madalinski, V. Khomenko, A. Bystrov and A. Yakovlev University of Newcastle.
Resolution of Encoding Conflicts by Signal Insertion and Concurrency Reduction based on STG Unfoldings V. Khomenko, A. Madalinski and A. Yakovlev University.
STG-based synthesis and Petrify J. Cortadella (Univ. Politècnica Catalunya) Mike Kishinevsky (Intel Corporation) Alex Kondratyev (University of Aizu) Luciano.
Data Flow Analysis Compiler Design October 5, 2004 These slides live on the Web. I obtained them from Jeff Foster and he said that he obtained.
Branching Processes of High-Level Petri Nets Victor Khomenko and Maciej Koutny University of Newcastle upon Tyne.
1 State Encoding of Large Asynchronous Controllers Josep Carmona and Jordi Cortadella Universitat Politècnica de Catalunya Barcelona, Spain.
1 Formal Models for Transactions: Zero Safe Nets Roberto Bruni Dipartimento di Informatica Università di Pisa Models and Languages for Coordination and.
1 Ivan Lanese Computer Science Department University of Bologna Italy Concurrent and located synchronizations in π-calculus.
Branching Processes of High-Level Petri Nets and Model Checking of Mobile Systems Maciej Koutny School of Computing Science Newcastle University with:
Canonical Prefixes of Petri Net Unfoldings Walter Vogler Universität Augsburg in cooperation with V. Khomenko, M. Koutny (CAV 2002, Acta Informatica 2003)
UFO’07 26 June 2007 Siedlce 1 Use of Partial Orders for Analysis and Synthesis of Asynchronous Circuits Alex Yakovlev School of EECE University of Newcastle.
A New Type of Behaviour- Preserving Transition Insertions in Unfolding Prefixes Victor Khomenko.
Detecting State Coding Conflicts in STGs Using SAT Victor Khomenko, Maciej Koutny, and Alex Yakovlev University of Newcastle upon Tyne.
Automatic synthesis and verification of asynchronous interface controllers Jordi CortadellaUniversitat Politècnica de Catalunya, Spain Michael KishinevskyIntel.
*Department of Computing Science University of Newcastle upon Tyne **Institut für Informatik, Universität Augsburg Canonical Prefixes of Petri Net Unfoldings.
Derivation of Monotonic Covers for Standard C Implementation Using STG Unfoldings Victor Khomenko.
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.
Asynchronous Circuit Verification and Synthesis with Petri Nets J. Cortadella Universitat Politècnica de Catalunya, Barcelona Thanks to: Michael Kishinevsky.
HELSINKI UNIVERSITY OF TECHNOLOGY *Laboratory for Theoretical Computer Science Helsinki University of Technology **Department of Computing Science University.
1 3rd of July 2009 CEA LIST Symbolic execution based model checking of open systems with unbounded variables Nicolas RAPIN CEA LIST.
Linear and Branching Time Safety, Liveness, and Fairness
A Usable Reachability Analyser Victor Khomenko Newcastle University.
Solvers for the Problem of Boolean Satisfiability (SAT) Will Klieber Aug 31, 2011 TexPoint fonts used in EMF. Read the TexPoint manual before you.
CS4231 Parallel and Distributed Algorithms AY 2006/2007 Semester 2 Lecture 3 (26/01/2006) Instructor: Haifeng YU.
Process-oriented System Analysis Process Mining. BPM Lifecycle.
School of Computer Science, The University of Adelaide© The University of Adelaide, Control Data Flow Graphs An experiment using Design/CPN Sue Tyerman.
Behavioral Comparison of Process Models Based on Canonically Reduced Event Structures Paolo Baldan Marlon Dumas Luciano García Abel Armas.
1 The Encoding Complexity of Network Coding Michael Langberg California Institute of Technology Joint work with Jehoshua Bruck and Alex Sprintson.
Ruhr University Bochum Faculty of Mathematics Information-Security and Cryptology An Algorithm for Checking Normality of Boolean Functions Magnus DaumHans.
Diagnostic Information for Control-Flow Analysis of Workflow Graphs (aka Free-Choice Workflow Nets) Cédric Favre(1,2), Hagen Völzer(1), Peter Müller(2)
6/18/2016Transactional Information Systems3-1 Part II: Concurrency Control 3 Concurrency Control: Notions of Correctness for the Page Model 4 Concurrency.
Technology of information systems Lecture 5 Process management.
Distributed Systems Lecture 6 Global states and snapshots 1.
Structural methods for synthesis of large specifications
Victor Khomenko Newcastle University
Asynchronous Interface Specification, Analysis and Synthesis
Clockless Computing COMP
Principles of Computing – UFCFA3-30-1
Resolution Proofs for Combinational Equivalence
Data Flow Analysis Compiler Design
Victor Khomenko and Andrey Mokhov
Presentation transcript:

Behaviour-Preserving Transition Insertions in Unfolding Prefixes Victor Khomenko University of Newcastle upon Tyne

Motivation Some design methods based on Petri nets repeatedly execute the following steps: Analyze the original PN spec Modify the PN by behaviour-preserving transition insertion

Example: VME Bus Controller Device VME Bus Controller lds ldtack d Data Transceiver Bus dsr dtack lds- d- ldtack- ldtack+ dsr- dtack+ d+ dtack- dsr+ lds+

Example: Encoding Conflict dtack- dsr+ 00100 ldtack- 00000 10000 lds- 01100 01000 11000 lds+ ldtack+ d+ dtack+ dsr- d- 01110 01010 11010 01111 11111 11011 10010 M’’ M’

State Graphs vs. Unfoldings Relatively easy theory Many efficient algorithms Not visual State space explosion problem

State Graphs vs. Unfoldings Alleviate the state space explosion problem More visual than state graphs Proven efficient for model checking Quite complicated theory Not sufficiently investigated Relatively few algorithms

Example: Encoding Conflict dtack- dsr+ e1 e2 e3 e4 e5 e6 e7 e12 dsr+ lds+ ldtack+ d+ dtack+ dsr- d- lds+ Code(conf’)=10110 Code(conf’’)=10110 lds- ldtack- e9 e11

Example: Resolving the conflict lds- d- ldtack- ldtack+ dsr- dtack+ d+ dtack- dsr+ lds+ csc+ csc-

Example: Resolving the conflict dtack- dsr+ csc+ 001000 000000 100000 100001 lds+ ldtack- ldtack- ldtack- dtack- dsr+ 011000 100101 010000 110000 ldtack+ lds- lds- lds- dtack- dsr+ M’’ M’ 011100 110101 010100 110100 d+ d- csc- dsr- dtack+ 011110 011111 111111 110111

Example: Resulting Circuit Data Transceiver Device Bus d lds dtack dsr csc ldtack

Motivation: validity Need to check the validity of the transformation safeness bisimulation The validity should be checked before the transformation is performed, i.e. on the original prefix (to avoid backtracking)

Motivation: avoid re-unfolding Perform the transformation directly on the prefix to avoid re-unfolding Re-unfolding is time-consuming Good for visualization (re-unfolding can dramatically change the look of the prefix) Can transfer information (e.g. encoding conflicts) between the iterations of the algorithm

Example: Re-unfolding  

Sequential pre-insertion Preserves safeness Preserves traces Can introduce deadlocks: need to check that the new transition never ‘steals’ tokens from any other enabled transition simple state property can be checked on the original prefix

Sequential post-insertion Preserves safeness Yields a bisimular PN Nothing to check!

Concurrent insertion Can introduce unsafeness Can introduce deadlocks

Place insertion: token If the place insertion is valid and t’ or t’’ is not dead then p contains token iff there is a t’’-labelled event in the prefix which does not have t’-labelled predecessor

Place insertion: validity Tokens(C)=n + #t’C – #t’’C The transformation is valid if: for all instances e of t’ and t’’ of the prefix, Tokens([e]){0,1}, and for all cut-offs e with a corresponding configuration C, Tokens([e])=Tokens(C) If a valid transformation is rejected by this criterion then t’ and t’’ are not live

Pre-insertion in the prefix Naïve splitting can yield an incomplete prefix!

Pre-insertion in the prefix Naïve splitting can yield an object which is not a branching process!

Pre-insertion in the prefix Find all possible extensions of the prefix by the new transition Amend the instances of the split transitions Amend the cut-off corresponding configurations

Post-insertion in the prefix Naïve splitting can yield an incomplete prefix!  

Post-insertion in the prefix Definition: a configuration is extendible if in the modified prefix it can be extended by an instance of the new transition If there is a cut-off event e with a corresponding configuration C such that [e] is extendible and C is not extendible then terminate unsuccessfully Amend the instances of the split transition Amend the cut-off corresponding configurations 

Place insertion in the prefix Assumption: the place insertion has passed the validity check If n = 1 then create a new (causally minimal) instance cmin of p For each instance e of t′ (including cut-offs), create a new instance of p and connect it to e For each instance e of t′′ (including cut-offs): connect e to cmin if e has no t′-labelled predecessor and to the instance of p in the postset of the (unique) maximal t′-labelled predecessor of e otherwise

Concurrent insertion in the prefix Perform the corresponding place insertion Perform the sequential pre-insertion This two steps can easily be combined p t’ t’’ n

Equivalent insertions Equivalence is easy to check Fewer transformations to consider Can convert to ‘canonical form’, e.g. pre-insertions – good for unfolding No need to check validity – post-insertions are always valid

Commutative insertions Definition: two transition insertions commute if they can be performed in any order concurrent insertions commute with any other insertions pre-insertions commute with post-insertions two pre/post-insertions commute iff they split different transitions or the sets of split off places do not overlap A valid insertion remains valid if another valid commutative insertion is applied first, i.e. the validity needs to be checked only once

Summary Rigorous validity criteria developed can be checked on the original prefix – no backtracking Algorithms for performing transformations directly on the prefix avoids re-unfolding, good for performance and visualization proofs of correctness Optimisation equivalent transformations commutative transformations

Thank you! Any questions?