Equivalence of open Petri nets Modeling and analysis with Petri net components. Marc Voorhoeve (AIS) Open net definition Addition and comparison of bags Global set of external places A Open net: 6-tuple satisfying ( P, T , I , O, C, F ) AP P, T : sets ( place, transition) , I,O T bag( P) ( cons, prod), C bag( P) F bag( P) ( current tate) s , ( final sta tes). Open net model External places current int. marking b c weighted arcs r u p 2 2 q a t 2 v Transitions Internal places P A { p,q,r} (a,b,c A , p,q,r P \ A ), T {t , u, v}, I (t ) [a,b, p 2 ], O(t ) [q 2 ], , C [r 2 ], F {[ r 2 ],[]}. Final marking indicators Operational semantics Set of actions: external productions / consumptions / silent {x | x bag(A)}{x | x bag(A)}{ } If Then N ( P, T , I , O, C , F ), B bag( P) B N ( P, T , I , O, B C , F ) Adding/removing external tokens B bag( A) B N B N Termination: C N FN N Firing: B bag( A) B B N N t TN I N (t ) N ON (t ) N External tokens cannot be “seen”; only added and removed! Internal tokens can be neither seen nor added or removed. Example CN [r 2 ] FN , so N . Set N [r 2 ] N0 . ([r 2 ] N0 ) ([rq] N0 ) ([q2 ] N0 ) ([q2 ] N0 ) ([cpq] N0 ) ([c2 p2 ] N0 ) [ c ] ([c p ] N0 ) ([cp2 ] N0 ) 2 2 [ a 3b 2 ] ([cp ] N0 ) N ([a3b2cp2 ] N ) 2 3 2 b 2 ([a b cp ] N 0 ) c r 2 ([bcq ] N 0 ) u p 2 2 q a t 3 2 v Properties State oriented (like ExSpect and RoseRT) Abstraction of internal actions. Special case is OWF net (used by Reisig e.a. for SOA definition) - initial source and final sink place - path property WF nets: OWF nets without external places Interaction model (SOA) h (id ,...) c (id ) handover ( )* claim r (id ) rdy o ( id , from ,to) offer Temporal predicates An active container can eventually become ready. offered but not readied yet X (n : IN 0) [o ] X (n 1) [o r ] X (n) (n 0 ([r ] X (n 1) T* r T)) #active: 2 1 0 offer rdy Weak bisimilarity Relation between states, such that any sequence of additions and removals can be copied. Weakly bisimilar processes satisfy the same set of temporal predicates from a certain class. Nets notbisimilar, weakly bisimilar: Weakly bnot can be removed after addition of an a branching bisimilar! Production c after [a ]b T consumption a without b appearance is possible a a a c c b c Always brief appearance of b after consumption a and before production c b b Composition Hiding: H (.), H A Net: N x x H, N N' , H (N ) H ( N ' ) cd x x H, N N' x H (N ) H (N ') Hide b within N: Renaming: a {b} ( N ) b f (.), f A A injective x N N' f ( x) f ( N ) f ( N ' ) Rename c: cd ( {b} ( N )) Composition: merge + fusion Combine disjoint copies. {a,b,c} (M || N ) Deadlock possible Fuse places with same name. {abc} (M || {b} ( N )) No deadlock! a d a b e c c b Composition semantics Token transfer is possible! N N ' , M M M' N || M N ' || M ' M M ' , N N N' N || M N ' || M ' Compositional modeling Select open net subcomponents. Adapt interfaces by renaming and merge. Hide internal communication. e a b c d Congruence Weak bisimilarity is congruence w.r.t. operators Component with subcomponent C Replace C with weakly bisimilar C’ Resulting components remain weakly bisimilar. C’ C a b Caution with congruence c c q x q w a x b w a b p t u v Subnets at bottom are weakly bisimilar subcomponents. Hence the complete nets are weakly bisimilar too. External states differ! Left-hand net: b before c Weak bisimilarity is not a congruence for operators that directly access the state (inhibitor / reset arcs). Research opportunities Verification of properties based on structure of process Example: active container predicate. e C a D X b X {e} (C || D) active objects in X: offered (a) and not yet claimed (b) = sum of active objects in C and D State space reduction! The End