Partial Order Semantics of Types of Nets Robert Lorenz, Gabriel Juhás, Sebastian Mauser SOFSEM 2009, Špindlerův Mlýn, CZ, 27th February 2009.

Slides:



Advertisements
Similar presentations
Concurrent Operational Semantics of Safe Time Petri Nets Claude Jard European University of Brittany, ENS Cachan Bretagne, IRISA Campus de Ker-Lann,
Advertisements

Introduction to Petri Nets Hugo Andrés López
Based on: Petri Nets and Industrial Applications: A Tutorial
Interaction Modeling for Testing We would generate the test cases based on our understanding of the interactions that may happen. The source is, again,
1 Partial Order Reduction. 2 Basic idea P1P1 P2P2 P3P3 a1a1 a2a2 a3a3 a1a1 a1a1 a2a2 a2a2 a2a2 a2a2 a3a3 a3a3 a3a3 a3a3 a1a1 a1a1 3 independent processes.
Bioinformatics III1 We will present an algorithm that originated by Ford and Fulkerson (1962). Idea: increase the flow in a network iteratively until it.
1 Steiner Tree on graphs of small treewidth Algorithms and Networks 2014/2015 Hans L. Bodlaender Johan M. M. van Rooij.
Parosh Aziz Abdulla Pritha Mahata Aletta Nyl é n Uppsala University Downward Closed Language Generators.
Chapter 3 Petri nets Learning objectives : Introduce Petri nets
Merged Processes of Petri nets Victor Khomenko Joint work with Alex Kondratyev, Maciej Koutny and Walter Vogler.
On the Dynamics of PB Systems with Volatile Membranes Giorgio Delzanno* and Laurent Van Begin** * Università di Genova, Italy ** Universitè Libre de Bruxelles,
Soundness problem for Resource-Constrained Workflow nets.
IE 469 Manufacturing Systems
Implementing Petri Net Transformations Tony Modica Implementing Petri Net Transformations using Graph Transformation Tools Enrico Biermann,
Parallel Scheduling of Complex DAGs under Uncertainty Grzegorz Malewicz.
A logic for true concurrency Paolo Baldan and Silvia Crafa Universita’ di Padova.
Equivalence of open Petri nets Modeling and analysis with Petri net components. Marc Voorhoeve (AIS)
A Semantic Characterization of Unbounded-Nondeterministic Abstract State Machines Andreas Glausch and Wolfgang Reisig 1.
CS447/ECE453/SE465 Prof. Alencar University of Waterloo 1 CS447/ECE453/SE465 Software Testing Tutorial Winter 2008 Based on the tutorials by Prof. Kontogiannis,
FSM Decomposition using Partitions on States 290N: The Unknown Component Problem Lecture 24.
Validating Streaming XML Documents Luc Segoufin & Victor Vianu Presented by Harel Paz.
12/07/2007Jiacun Wang1 SE-561 Math Foundations Petri Nets - II Dr. Jiacun Wang Department of Software Engineering Monmouth University.
A 14← department of mathematics and computer science PROSE Checking Properties of Adaptive Workflow Nets K. van Hee, I. Lomazova, O. Oanea,
1 Petri Nets Marco Sgroi EE249 - Fall 2001 Most slides borrowed from Luciano Lavagno’s lecture ee249 (1998)
*Department of Computing Science University of Newcastle upon Tyne **Institut für Informatik, Universität Augsburg Canonical Prefixes of Petri Net Unfoldings.
History-Dependent Petri Nets Kees van Hee, Alexander Serebrenik, Natalia Sidorova, Wil van der Aalst ?
Real-Time Synchronised Petri Nets Giovanna Di Marzo Serugendo Dino Mandrioli, Didier Buchs, Nicolas Guelfi University of Geneva, Switzerland PN’02 / 24th.
Sets, POSets, and Lattice © Marcelo d’Amorim 2010.
Technische universiteit eindhoven Department of Electrical Engineering Electronic Systems Liveness and Boundedness of Synchronous Data Flow Graphs A.H.
Linear and Branching Time Safety, Liveness, and Fairness
A Novel Method for Formally Detecting RFID Event Using Petri Nets SEKE 2011.
Coalgebraic Symbolic Semantics Filippo Bonchi Ugo Montanari.
Monoids, Groups, Rings, Fields
The Integers. The Division Algorithms A high-school question: Compute 58/17. We can write 58 as 58 = 3 (17) + 7 This forms illustrates the answer: “3.
CY2003 Computer Systems Lecture 7 Petri net. © LJMU, 2004CY2003- Week 72 Overview Petri net –concepts –Petri net representation –Firing a transition –Marks.
- 1 -  P. Marwedel, Univ. Dortmund, Informatik 12, 05/06 Universität Dortmund Petri nets Introduced in 1962 by Carl Adam Petri in his PhD thesis. Focus.
Petri Nets Lecturer: Roohollah Abdipour. Agenda Introduction Petri Net Modelling with Petri Net Analysis of Petri net 2.
Modelling by Petri nets
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 Petri Nets Ina Koch and Monika Heiner. 2 Petri Nets(1962) Carl Adam Petri.
1 Lecture 23 – April 11, 2002 Semester end questions More about Bond agents Models and languages supporting concurrency Petri Nets.
1/15/20161 Computer Security Confidentiality Policies.
/faculteit technologie management PN-1 Petri nets refresher Prof.dr.ir. Wil van der Aalst Eindhoven University of Technology, Faculty of Technology Management,
When Simulation Meets Antichains Yu-Fang Chen Academia Sinica, Taiwan Joint work with Parosh Aziz Abdulla, Lukas Holik, Richard Mayr, and Tomas Vojunar.
Set Theory Concepts Set – A collection of “elements” (objects, members) denoted by upper case letters A, B, etc. elements are lower case brackets are used.
/faculteit technologie management PN-1 Petri nets refresher Prof.dr.ir. Wil van der Aalst Eindhoven University of Technology, Faculty of Technology Management,
Petri-Nets and Other Models
/faculteit technologie management PN-1 مهندسی مجدد فرآیندهای تجاری بخش دوم: مدلسازی فرآیندها به کمک Petri nets.
Process Mining – Concepts and Algorithms Review of literature on process mining techniques for event log data.
7/7/20161 Formal Methods in software development a.a.2015/2016 Prof.Anna Labella.
Laurea Triennale in Informatica – Corso di Ingegneria del Software I – A.A. 2006/2007 Andrea Polini VIII. Specifications (II)
Multi-phase Process Mining: Building Instance Graphs
composition of workflows
Polynomial analysis algorithms for free-choice workflow nets
Autonomous units and their semantics – the parallel case
Modeling for Testing Interactions
Unit-III Algebraic Structures
Formal Methods in software development
Clockless Computing COMP
Model-Based Testing Model the system
COT 5611 Operating Systems Design Principles Spring 2014
Concurrent Systems Modeling using Petri Nets – Part II
Introduction to Petri Nets (PNs)
COT 5611 Operating Systems Design Principles Spring 2012
Formal Methods in software development
Flow Feasibility Problems
Petri nets refresher Prof.dr.ir. Wil van der Aalst
Petri nets.
Properties of Numbers Review Problems.
Presentation transcript:

Partial Order Semantics of Types of Nets Robert Lorenz, Gabriel Juhás, Sebastian Mauser SOFSEM 2009, Špindlerův Mlýn, CZ, 27th February 2009

Road plan: Present types of (Petri) nets

Road plan: Present types of (Petri) nets Present semantics of types of (Petri) nets

Road plan: Present types of (Petri) nets Present semantics of types of (Petri) nets: step semantics enabled labelled partial orders (pomsets) token flow labelled partial orders (pomsets)

To unify different types of Petri nets Badouel and Darondeau defined the notion formally A type  of (Petri) nets defined by them is given by Set of local states – LS Commutative monoid of local events (LE, +, 0) Transition relation  given by triples (s  e s‘) from LS x LE x LS satisfying for all states s,s‘,s‘‘ and all local events e: s  e s‘  s  e s‘‘  s‘ = s‘‘ and s  0 s

To unify different types of Petri nets Badouel and Darondeau defined the notion formally A type  of (Petri) nets defined by them is given by Set of local states – LS Commutative monoid of local events (LE, +, 0) Transition relation  given by triples (s  e s‘) from LS x LE x LS satisfying for all states s,s‘,s‘‘ and all local events e: s  e s‘  s  e s‘‘  s‘ = s‘‘ and s  0 s A net of type  is given by Set of places – P Set of transitions – T Weight function – W: P x T  LE Places are holders for local states Markings – m: P  LS

Transitions occur, changing the local states of places according to the weight function: A transition t is enabled to occur in a marking m of the net, if each place p satisfies: there exists a local state s p for which m(p)  W(p,t) s p For each place p occurence of the enabled transition t in m changes the local state m(p) to the state s p

22 2 a b c Example - Place/transition nets: p1p1 p2p2 p3p3 p4p4

22 2 a b c p1p1 p2p2 p3p3 p4p4

22 2 a b c p1p1 p2p2 p3p3 p4p4

22 2 a b c p1p1 p2p2 p3p3 p4p4 Local states: nonnegative integers N (with addition)

Example - Place/transition nets: Local events: pairs of nonnegative integers (i,o)  N x N with componetwise addition 22 2 a b c p1p1 p2p2 p3p3 p4p4 Local states: nonnegative integers N (with addition)

Example - Place/transition nets: Transition relation: s  (i,o) s’  s  i  s’ = s – i + o 22 2 a b c p1p1 p2p2 p3p3 p4p4 Local events: pairs of nonnegative integers (i,o)  N x N with componetwise addition Local states: nonnegative integers N (with addition)

Example - Place/transition nets: Weight function: W(p 1,a) = (1,0), W(p 2,a) = (0,0), W(p 3,a) = (0,2), W(p 4,a) = (0,0), … 22 2 a b c p1p1 p2p2 p3p3 p4p4 Transition relation: s  (i,o) s’  s  i  s’ = s – i + o Local events: pairs of nonnegative integers (i,o)  N x N with componetwise addition Local states: nonnegative integers N (with addition)

Weight function: W(p 1,a) = (1,0,  ), W(p 2,a) = (0,0,  ), W(p 3,a) = (0,2,  ), W(p 4,a) = (0,0,0), … 22 2 a b c p1p1 p2p2 p3p3 p4p4 Transition relation: s  (i,o) s’  s  i  s’ = s – i + o  s + o  h Local events: triples (i,o,h)  N x N x ( N   ) with componetwise addition for i and o and minimum for h and neutral element (0,0,  ) Local states: nonnegative integers N (with addition) Example - Place/transition nets with inhibitor arcs and a posteriori semantics:

22 2 a b c p1p1 p2p2 p3p3 p4p4 Step semantics: step sequences Steps – mulitsets of transitions occur, changing the local states of places according to the weight function: A step x: T  N is enabled to occur in a state of the net, if each place p satisfies: there exists a local state s p ‘ for which m(p)  s p ‘ For each place p occurence of the enabled transition t changes the local state s p to the state s p ‘  t  T x(t)W(p,t)

22 2 ab c p1p1 p2p2 p3p3 p4p4 Place/transition nets: Step semantics: step sequences

22 2 a b c p1p1 p2p2 p3p3 p4p4 Place/transition nets: Step semantics: step sequences (a+b) a b

22 2 a b c p1p1 p2p2 p3p3 p4p4 Place/transition nets: Step semantics: step sequences (a+b) 2x a b

22 2 a b c p1p1 p2p2 p3p3 p4p4 Place/transition nets: Step semantics: step sequences (a+b) (2c) a b cc

An LPO is enabled iff Each step linearization of the LPO is enabled step sequence, ab cc 22 2 a b c p1p1 p2p2 p3p3 p4p4 abcc, bacc, acbc, (a+b)cc, a(b+c)c, ab(2c), ba(2c), (a+b)(2c)

For p/t nets we have: If a step linearization of an enabled step sequence is enabled then they both lead to the same marking (WISP), e.g. ab(2c) and (a+b)(2c) leads to the same marking 22 2 a b c p1p1 p2p2 p3p3 p4p4

For p/t nets we have: If a step linearization of an enabled step sequence is enabled then they both lead to the same marking (WISP), e.g. ab(2c) and (a+b)(2c) leads to the same marking If two enabled step sequences have equal multisets of transitions, then they lead to the same marking (PIP, PIP implies WISP), e.g. a(b+c)c and (a+b)(2c) leads to the same marking 22 2 a b c p1p1 p2p2 p3p3 p4p4

For p/t nets we have: If a step linearization of an enabled step sequence is enabled then they both lead to the same marking (WISP), e.g. ab(2c) and (a+b)(2c) leads to the same marking If two enabled step sequences have equal multisets of transitions, then they lead to the same marking (PIP, PIP implies WISP), e.g. a(b+c)c and (a+b)(2c) leads to the same marking If a step sequence is enabled and leads to a marking m then each its step linearization is enabled and lead to the same marking m (ISP, ISP implies WISP but is incomparable with PIP), e.g. (a+b)(2c) is enabled implies that ab(2c) is enabled too and leads to the same marking 22 2 a b c p1p1 p2p2 p3p3 p4p4

We show that: WISP is necessary and sufficient for unique final marking of enabled LPOs PIP is necessary and sufficient for the same final markings of enabled LPOs differing only by causality ISP is necessary and sufficient for checking enabledness by cuts = maximal co-sets: An LPO is enabled iff for each cut of the LPO holds: When all events „before the cut“ have fired, then the step of transitions given by the cut is enabled 22 2 a b c p1p1 p2p2 p3p3 p4p4

22 2 a b c Place/transition nets: Causal Structures: processes p1p1 p2p2 p3p3 p4p4 p1p1 p2p2 p1p1 p2p2 Process 1 Process 2

22 2 a b c p1p1 p2p2 p3p3 p4p4 aa p1p1 p2p2 p1p1 p2p2 Process 1 Process 2 p3p3 p3p3 p3p3 p3p3 Place/transition nets: Causal Structures: processes

22 2 a b c p1p1 p2p2 p3p3 p4p4 aa p1p1 p2p2 p1p1 p2p2 p3p3 p3p3 p3p3 p3p3 Process 1 Process 2 Place/transition nets: Causal Structures: processes

22 2 a b c p1p1 p2p2 p3p3 p4p4 a b a b p1p1 p2p2 p1p1 p2p2 p3p3 p3p3 p3p3 p3p3 p3p3 p3p3 p3p3 p3p3 Process 1 Process 2 Place/transition nets: Causal Structures: processes

22 2 a b c p1p1 p2p2 p3p3 p4p4 a b a b p1p1 p2p2 p1p1 p2p2 p3p3 p3p3 p3p3 p3p3 p3p3 p3p3 p3p3 p3p3 Process 1 Process 2 Place/transition nets: Causal Structures: processes

22 2 a b c p1p1 p2p2 p3p3 p4p4 a b c a b c p1p1 p2p2 p1p1 p2p2 p3p3 p3p3 p3p3 p3p3 p3p3 p3p3 p3p3 p3p3 p4p4 p4p4 Process 1 Process 2 Place/transition nets: Causal Structures: processes

22 2 a b c p1p1 p2p2 p3p3 p4p4 a b c a b c p1p1 p2p2 p1p1 p2p2 p3p3 p3p3 p3p3 p3p3 p3p3 p3p3 p3p3 p3p3 p4p4 p4p4 Process 1 Process 2 Place/transition nets: Causal Structures: processes

22 2 a b c p1p1 p2p2 p3p3 p4p4 a b cc a b cc p1p1 p2p2 p1p1 p2p2 p3p3 p3p3 p3p3 p3p3 p3p3 p3p3 p3p3 p3p3 p4p4 p4p4 p4p4 p4p4 Process 1 Process 2 Place/transition nets: Causal Structures: processes

22 2 a b c abcc p1p1 p2p2 p3p3 p4p4 a b cc a b cc p1p1 p2p2 p1p1 p2p2 p3p3 p3p3 p3p3 p3p3 p3p3 p3p3 p3p3 p3p3 p4p4 p4p4 p4p4 p4p4 Process 1 Process 2 a b cc Run 2 a b cc Run 1 acbc

Characterization of enabledness by extended LPOs with labelled arcs for „flow“ types of nets Flow types of nets: LS is a free commutative monoid There are morphisms i and o from LE to LS satisfying s  e s’  s  i(e)  s’ = s – i(e) + o(e) Strict flow types of nets: s  e s’  s  i(e)  s’ = s – i(e) + o(e) Examples for strict flow types of nets: p/t nets, coloured Petri nets Example for non strict flow types of nets: p/t nets with inhibitor arcs

a b cc Characterization of enabledness by extended LPOs with labelled arcs Extension of LPOs by adding an initial node: a b cc

Characterization of enabledness by extended LPOs with labelled arcs Extension of LPOs by adding an initial node: a b cc v0v0 a b cc v0v0

Characterization of enabledness by extended LPOs with labelled arcs Token flow function: Labelling of arcs in the LPO by multisets of places a b cc v0v0 a b cc v0v0

a b cc Characterization of enabledness by extended LPOs with labelled arcs Token flow function: Labelling of arcs in the LPO by multisets of places v0v0 a b cc p1p1 p2p2 p3p3 p3p3 p3p3 p3p3 p4p4 p4p4 0 a b cc v0v0

a b cc Characterization of enabledness by extended LPOs with labelled arcs Token flow function: Labelling of arcs in the LPO by multisets of places v0v0 a b cc p1p1 p2p2 p3p3 p3p3 p3p3 p3p3 p4p4 p4p4 1p 1 a b cc v0v0 0

a b cc Characterization of enabledness by extended LPOs with labelled arcs Token flow function: Labelling of arcs in the LPO by multisets of places v0v0 a b cc p1p1 p2p2 p3p3 p3p3 p3p3 p3p3 p4p4 p4p4 1p 2 1p 1 a b cc v0v0 0

a b cc Characterization of enabledness by extended LPOs with labelled arcs Token flow function: Labelling of arcs in the LPO by multisets of places v0v0 a b cc p1p1 p2p2 p3p3 p3p3 p3p3 p3p3 p4p4 p4p4 a b cc v0v0 1p 2 1p 1 0 0

a b cc Characterization of enabledness by extended LPOs with labelled arcs Token flow function: Labelling of arcs in the LPO by multisets of places v0v0 a b cc p1p1 p2p2 p3p3 p3p3 p3p3 p3p3 p4p4 p4p4 2p 3 a b cc v0v0 1p 2 1p 1 0 0

Characterization of enabledness by extended LPOs with labelled arcs Token flow function: Labelling of arcs in the LPO by multisets of places a b cc p1p1 p2p2 p3p3 p3p3 p3p3 p3p3 p4p4 p4p4 a b cc v0v0 a b cc v0v0 2p 3 1p 2 1p p 3

Characterization of enabledness by extended LPOs with labelled arcs Token flow function: Labelling of arcs in the LPO by multisets of places a b cc p1p1 p2p2 p3p3 p3p3 p3p3 p3p3 p4p4 p4p4 a b cc v0v0 a b cc v0v0 2p 3 1p 2 1p p 3

Characterization of enabledness by extended LPOs with labelled arcs Token flow function: Labelling of arcs in the LPO by multisets of places a b cc p1p1 p2p2 p3p3 p3p3 p3p3 p3p3 p4p4 p4p4 a b cc p1p1 p2p2 p3p3 p3p3 p3p3 p4p4 p4p4 p3p3 a b cc v0v0 a b cc v0v0 2p 3 1p 2 1p p 3

a b cc Characterization of enabledness by extended LPOs with labelled arcs Token flow function: Labelling of arcs in the LPO by multisets of places v0v0 a b cc p1p1 p2p2 p3p3 p3p3 p3p3 p3p3 p4p4 p4p4 a b cc p1p1 p2p2 p3p3 p3p3 p3p3 p4p4 p4p4 1p 3 p3p3 a b cc v0v0 2p 3 1p 2 1p p 3 1p 2 1p 1 0 0

Characterization of enabledness by extended LPOs with labelled arcs Token flow function: Labelling of arcs in the LPO by multisets of places a b cc p1p1 p2p2 p3p3 p3p3 p3p3 p3p3 p4p4 p4p4 a b cc p1p1 p2p2 p3p3 p3p3 p3p3 p4p4 p4p4 p3p3 In-token-flow of a node = Sum of ingoing labels a b cc v0v0 1p 3 1p 2 1p a b cc v0v0 2p 3 1p 2 1p p 3

Characterization of enabledness by extended LPOs with labelled arcs Token flow function: Labelling of arcs in the LPO by multisets of places a b cc p1p1 p2p2 p3p3 p3p3 p3p3 p3p3 p4p4 p4p4 a b cc p1p1 p2p2 p3p3 p3p3 p3p3 p4p4 p4p4 p3p3 Out-token-flow of a node = Sum of outgoing labels a b cc v0v0 1p 3 1p 2 1p a b cc v0v0 2p 3 1p 2 1p p 3

Characterization of enabledness by extended LPOs with labelled arcs Token flow property: There is a token flow function s.t. Out-token-flow of a node  the number of tokens produced by the transition labelling the node a b cc p1p1 p2p2 p3p3 p3p3 p3p3 p4p4 p4p4 p3p3 Out-token-flow of a node = Sum of outgoing labels a b cc v0v0 1p 3 1p 2 1p a b c p1p1 p2p2 p3p3 p4p4

2 Characterization of executability by extended LPOs with labelled arcs Token flow property: There is a token flow function s.t. Out-token-flow of a node  the number of tokens produced by the transition labelling the node In-token-flow of a node = the number of tokens consumed by the transition labelling the node a b cc p1p1 p2p2 p3p3 p3p3 p3p3 p4p4 p4p4 p3p3 22 a b c p1p1 p2p2 p3p3 p4p4 a b cc v0v0 1p 3 1p 2 1p In-token-flow of a node = Sum of ingoing labels

2 Characterization of executability by extended LPOs with labelled arcs Token flow property: There is a token flow function s.t. Transitions cannot comsume more than is produced by the precessors but still have to consume the number of tokens prescribed by the net a b cc p1p1 p2p2 p3p3 p3p3 p3p3 p4p4 p4p4 p3p3 22 a b c p1p1 p2p2 p3p3 p4p4 a b cc v0v0 1p 3 1p 2 1p In-token-flow of a node = Sum of ingoing labels

Characterization of enabledness by extended LPOs with labelled arcs Theorem (for strict flow types of nets, e.g. p/t nets or finite coloured Petri nets): An LPO is enabled if and only if it fulfills the token flow property (token flow property can be verified in (quasi) polynomial time!!!) Theorem (for „non strict“ flow types of nets): If an LPO is enabled then it fulfills the token flow property, i.e. token flow property is necessary for enabledness