Toward Efficient Reachability Analysis of Algebraic Petri-Nets Steve Hostettler Geneva University.

Slides:



Advertisements
Similar presentations
Auto-Generation of Test Cases for Infinite States Reactive Systems Based on Symbolic Execution and Formula Rewriting Donghuo Chen School of Computer Science.
Advertisements

PNML Analyzer Reachability/Coverability Analysis of Petri Nets from PNML files Roger Ruiz-Carrillo.
Representing Boolean Functions for Symbolic Model Checking Supratik Chakraborty IIT Bombay.
School of EECS, Peking University “Advanced Compiler Techniques” (Fall 2011) SSA Guo, Yao.
Introducing Formal Methods, Module 1, Version 1.1, Oct., Formal Specification and Analytical Verification L 5.
A university for the world real R © 2009, Chapter 3 Advanced Synchronization Moe Wynn Wil van der Aalst Arthur ter Hofstede.
Budapest University of Technology and EconomicsDagstuhl 2004 Department of Measurement and Information Systems 1 Towards Automated Formal Verification.
Equivalence of Extended Symbolic Finite Transducers Presented By: Loris D’Antoni Joint work with: Margus Veanes.
Based on: Petri Nets and Industrial Applications: A Tutorial
Operational Resilience Theory and Experimentation Levi Lúcio.
1/20 Generalized Symbolic Execution for Model Checking and Testing Charngki PSWLAB Generalized Symbolic Execution for Model Checking and Testing.
SATEL Semi Automatic TEsting Language University of Geneva Levi Lúcio, Didier Buchs M-TOOS, Portland 4/30/2015.
A Novel Method For Fast Model Checking Project Report.
ECE Synthesis & Verification 1 ECE 667 Synthesis and Verification of Digital Systems Formal Verification Combinational Equivalence Checking.
Interpolants from Z3 proofs Ken McMillan Microsoft Research TexPoint fonts used in EMF: A A A A A.
Efficient Reachability Analysis for Verification of Asynchronous Systems Nishant Sinha.
Verification of Hybrid Systems An Assessment of Current Techniques Holly Bowen.
Merged Processes of Petri nets Victor Khomenko Joint work with Alex Kondratyev, Maciej Koutny and Walter Vogler.
August Moscow meeting1August Moscow meeting1August Moscow meeting11 Deductive tools in insertion modeling verification A.Letichevsky.
10. Petri Nets Prof. O. Nierstrasz. Roadmap  Definition: —places, transitions, inputs, outputs —firing enabled transitions  Modelling: —concurrency.
Today’s Agenda  HW #1 Due  Quick Review  Finish Input Space Partitioning  Combinatorial Testing Software Testing and Maintenance 1.
XML Documentation of Biopathways and Their Simulations in Genomic Object Net Speaker : Hungwei chen.
Programming Language Semantics Mooly SagivEran Yahav Schrirber 317Open space html://
A Schedulability-Preserving Transformation of BDF to Petri Nets Cong Liu EECS 290n Class Project December 10, 2004.
12/07/2007Jiacun Wang1 SE-561 Math Foundations Petri Nets - II Dr. Jiacun Wang Department of Software Engineering Monmouth University.
Programming Language Semantics Mooly SagivEran Yahav Schrirber 317Open space html://
Semantics with Applications Mooly Sagiv Schrirber html:// Textbooks:Winskel The.
Real-Time Synchronised Petri Nets Giovanna Di Marzo Serugendo Dino Mandrioli, Didier Buchs, Nicolas Guelfi University of Geneva, Switzerland PN’02 / 24th.
Distributed, Collaborative Processing System (COBRA Virtual Office)
Signals and Systems March 25, Summary thus far: software engineering Focused on abstraction and modularity in software engineering. Topics: procedures,
A Novel Method for Formally Detecting RFID Event Using Petri Nets SEKE 2011.
© Bertrand Meyer and Yishai Feldman Notice Some of the material is taken from Object-Oriented Software Construction, 2nd edition, by Bertrand Meyer (Prentice.
Benjamin Gamble. What is Time?  Can mean many different things to a computer Dynamic Equation Variable System State 2.
University of Paderborn Software Engineering Group Prof. Dr. Wilhelm Schäfer Towards Verified Model Transformations Holger Giese 1, Sabine Glesner 2, Johannes.
1 Qualitative Reasoning of Distributed Object Design Nima Kaveh & Wolfgang Emmerich Software Systems Engineering Dept. Computer Science University College.
Hardware Design and The Petri Net Abhijit K. Deb SAM, LECS, IMIT, KTH Kista, Stockholm.
Programming Languages and Design Lecture 3 Semantic Specifications of Programming Languages Instructor: Li Ma Department of Computer Science Texas Southern.
Petri Nets Lecturer: Roohollah Abdipour. Agenda Introduction Petri Net Modelling with Petri Net Analysis of Petri net 2.
Ceg860 (Prasad)LADT1 Specification and Implementation of Abstract Data Types Algebraic Techniques.
Celluloid An interactive media sequencing language.
Possible Improvements For Modular Relative Time Petri Nets (or: rooting for the underdog)
Modelling by Petri nets
Verification & Validation By: Amir Masoud Gharehbaghi
CSCI1600: Embedded and Real Time Software Lecture 11: Modeling IV: Concurrency Steven Reiss, Fall 2015.
School of Computer Science & Software Engineering
CAP 4800/CAP 5805: Computer Simulation Concepts
Software Development Introduction
1 Numeric Abstract Domains Mooly Sagiv Tel Aviv University Adapted from Antoine Mine.
Petri-Nets and Other Models
WELCOME TO OUR PRESENTATION UNIFIED MODELING LANGUAGE (UML)
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)
Week 8 Computational Level
Functional Programming
Polynomial analysis algorithms for free-choice workflow nets
Advantages of FSM Their simplicity make it easy for inexperienced developers to implement with little to no extra knowledge (low entry level)
Concurrent Systems Modeling using Petri Nets
Main issues: • What do we want to build • How do we write this down
Graph Coverage for Specifications CS 4501 / 6501 Software Testing
Space-Reduction Strategies for Model Checking Dynamic Software
Week 8 Computational Level
Concurrent Systems Modeling using Petri Nets – Part II
CAP 4800/CAP 5805: Computer Simulation Concepts
CSCI1600: Embedded and Real Time Software
Introduction to Petri Nets (PNs)
Discrete Controller Synthesis
Instructor: Aaron Roth
CAP 4800/CAP 5805: Computer Simulation Concepts
Petri Net :Abstract formal model of information flow Major use:
Programming Languages and Compilers (CS 421)
CSCI1600: Embedded and Real Time Software
Presentation transcript:

Toward Efficient Reachability Analysis of Algebraic Petri-Nets Steve Hostettler Geneva University

Summary Motivation State Space Representation APN Firing homomorphisms Benchmarks Why it does not perform. Future Work & Open issues Conclusion

Motivation APN Petri Net (Concurrency, atomicity) Algebraic Data Types (Data Types with User Defined Semantic) Reachability Analysis Compute the exhaustive set of reachable states. Check if a property always/never holds. Check whether a specific state exists. State space blows up quickly Domains are not limited to black token as in P/T nets.

Example : The Dining Philosophers p0, p1 goEat f0, f1 goThink takeL takeR Think WaitL WaitR Forks HasR HasL p l l r r f f l, r r l l rightF(p) leftF(p) f = r f = l next(l) = r ADT Philos sort ph use fk Ops p0 : -> ph p1 : -> ph philo : fk -> ph rightF : ph -> fk leftF : ph -> fk Axioms rightF(p0) = f1 rightF(p1) = f0 leftF(p0) = f0 leftF(p1) = f1 philo(f0) = p0 philo(f1) = p1 ADT Forks sort fk Ops f0 : -> fk f1 : -> fk next : fk -> fk Axioms next(f0) = f1 next(f1) = f0

State Space Representation (1) Decisions Diagrams Limit the combinatorial explosion. Have a Canonicity of the representation. Powerful set operators User Defined Operators : inductive homomorphisms. Data Decisions Diagrams (DDD) – Couvreur02 Values on arcs, reachability P/T nets : 100 philosophers. Set Decisions Diagrams (SDD) – Mieg05 Sets on arcs, reachability P/T nets : 10’000 philosophers.

State Space Representation (2) Does not work with SDD! Breaks the one path = one state” paradigm! 1 1 {p0, p1} 1 {f0, f1} Multiset of tokens Cardinality Place Empty multiset Set of token with cardinality = 1

APN Firing homomorphism (1) p0p0 t q0q0 qmqm pnpn ci 0 ’a 0 ci n ’a n co 0 ’b 0 co m ’b m … … H - (place, card, variable) 1.For each p i, check whether there is sufficient token on it. 2.Create a new assignment Check(left, right) 3.Check whether ∧ l k = r k holds H + (place, card, term) 4. For each q j, add co j ’b j to it. RemoveVars() 5. Remove the assignments created in 2. … … qjqj co j ’b j pipi ci i ’a i a i are variables ∧ l k = r k goEat = H - (T, 1, p)  H + (WL, 1, leftF(p))  H + (WR, rightF(p))

APN Firing homomorphism (2) H - (T, 1, p) {p0} {p1} {p0} {p1} 1 {p0, p1}

APN Firing homomorphism (3) 1 {p0, p1} {p1} {p0} {p1} H + (WL, 1, leftF(p)) H + (WL, 1, leftF(p1)) H + (WL, 1, leftF(p0)) {p0} {p1} H + (WL, 1, p1) H + (WL, 1, p0) {p0 } {p1}

APN Firing homomorphism (4) Complex homomorphism are built from simple one. H+ : Term may be still open when we get to the place to update. Structural clustering : substitutions may come from other clusters. Need something to carry substitutions from one cluster to another. Same problem as for local H+.

Benchmarks Poor performances (linear to #states) Due to Bad management of the concurrency. #Philo#States#DD%CacheMem (MB)Time (ms) ////

State of the Art SoftwareURL#Philo Helenahttp://helena.cnam.fr15 Mariahttp:// CNAMHas started a new project 2007 to tackle this problem / PetriNetMChttp://smv.unige.ch7

Why Poor performances? Bad performances Symptom : #DD grows as fast as #states. Power set effect is not handle efficiently We don’t use the Cartesian product effect of DD. Concurrency induced by token multiplicity in not efficiently managed. Several instances of the same net. The P/T implementation is (far) more efficient We need to reproduce the P/T effect.

Cartesian product effect Data Decision Diagrams Represents 6 states 9 arcs and 7 places Unfolded : 30 arcs, 30 places Set Decision Diagrams Represents 6*6 = 36 states 11 arcs and 10 nodes are required (canonicity) Unfolded : 360 arcs, 360 places

Cluster (1) Clustering If subnet x is not modified by transition t on subnet y we don’t touch it. Structural clustering Efficient to modularize the behavior Not efficient to handle concurrency due to many instances of the same token. Algebraical clustering To tackle the problem of the concurrency induced by the token multiplicity.

Cluster (2) All input arcs and output arcs of a transition in the same cluster Local transition Allow saturation : apply all local transitions till fixpoint and then propagate. Else we try to synchronize only the clusters involved in the transition.

Algebraic Cluster (1) The Clustering function Cl associates all pairs to a cluster. Here token represents all the possible values of the domain. Split the DD in clusters according to Cl. Transitions take and put token according to Cl. Enable a static analysis to build cluster application in advance Example ∀ p i ∈ {p 0,..., p n − 1 } With n # of philosophers : CL(T, p i ) = c i CL(F, f i ) = c i CL(WL, f i ) = c i CL(WR, f i ) = succ(c i ) CL(HL, f i ) = c i CL(HR, f i ) = succ (c i )

Algebraic Cluster (2) Express Cluster as an ADT Cluster function may be tedious to define Remain as symbolic as possible Patterns (identity)

Algebraic Cluster (3) Example: P i = p 0 CL(T, p 0 ) = c 0 CL(WL, leftF(p 0 )) = CL(WL, f 0 ) = c 0 CL(WR, rightF(p 0 )) = CL(WR, f 1 ) = succ(c 1 ) = c 0 P i = p 1 CL(T, p 1 ) = c 1 CL(WL, leftF(p 1 )) = CL(WL, f 1 ) = c 1 CL(WR, rightF(p 1 )) = CL(WR, f 0 ) = succ(c O ) = c 1 GoEat is Local

Benchmarks General Homs but static Cluster application Still not a proof of concept Time for static analysis not included. #Philo#States#DD%CacheMem (MB)Time (ms) E E

Future Work & Open issues More examples. Cost of the static analysis. How to build a dynamic homomorphism to avoid static analysis. Example with both structural and algebraic saturation. Clustering and Homomorphism formalization. Complete eclipse integration, Complete software platform (doc, web, …)

Conclusion We (will) have a complete suite of tools from model design to model validation. Good performances (vs. competition). User friendly.

Roadmap Toward Efficient Reachability Analysis of Algebraic Petri Nets -> ICATPN09 Deadline : January 5, 2009 Experiments Formalization Set of Terms Rewriting -> TermGraph09 Deadline : December 15, 2008 Formalization 1 Case study (Chemical Abstract Machine)