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

## Presentation on theme: "Toward Efficient Reachability Analysis of Algebraic Petri-Nets Steve Hostettler Geneva University."— 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) 218112231.01122 376353932.4354 43221420140.057149 513646180948.4025697 6577827082056.191132952 724476120646162.9753115045 8103682////

State of the Art SoftwareURL#Philo Helenahttp://helena.cnam.fr15 Mariahttp://www.tcs.hut.fi/Software/maria/12 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 1 1 1 2 5 2 2 2 3 3 5 1 5 3 3 5 2 2 2 22 1 3 5 2 2222 3

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) 21840113.83225 4322155522.94272 81036821339535.977231 161.075 E1013073147.85501652 321.156 E20118469256.1341013896

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)

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

Similar presentations