Jump to content

Petri net

From Wikipedia, the free encyclopedia

APetri net,also known as aplace/transition net(PT net), is one of severalmathematicalmodeling languagesfor the description ofdistributed systems.It is a class ofdiscrete event dynamic system.A Petri net is a directedbipartite graphthat has two types of elements: places and transitions. Place elements are depicted as white circles and transition elements are depicted as rectangles. A place can contain any number of tokens, depicted as black circles. A transition is enabled if all places connected to it as inputs contain at least one token. Some sources[1]state that Petri nets were invented in August 1939 byCarl Adam Petri—at the age of 13—for the purpose of describing chemical processes.

Like industry standards such asUMLactivity diagrams,Business Process Model and Notation,andevent-driven process chains,Petri nets offer agraphical notationfor stepwise processes that include choice,iteration,andconcurrent execution.Unlike these standards, Petri nets have an exact mathematical definition of their execution semantics, with a well-developed mathematical theory for process analysis[citation needed].

(a) Petri net trajectory example

Historical background[edit]

The German computer scientistCarl Adam Petri,after whom such structures are named, analyzed Petri nets extensively in his 1962 dissertationKommunikation mit Automaten.

Petri net basics[edit]

A Petri net consists ofplaces,transitions,andarcs.Arcs run from a place to a transition or vice versa, never between places or between transitions. The places from which an arc runs to a transition are called theinput placesof the transition; the places to which arcs run from a transition are called theoutput placesof the transition.

Graphically, places in a Petri net may contain a discrete number of marks calledtokens.Any distribution of tokens over the places will represent a configuration of the net called amarking.In an abstract sense relating to a Petri net diagram, a transition of a Petri net mayfireif it isenabled,i.e. there are sufficient tokens in all of its input places; when the transition fires, it consumes the required input tokens, and creates tokens in its output places. A firing is atomic, i.e. a single non-interruptible step.

Unless anexecution policy(e.g. a strict ordering of transitions, describing precedence) is defined, the execution of Petri nets isnondeterministic:when multiple transitions are enabled at the same time, they will fire in any order.

Since firing is nondeterministic, and multiple tokens may be present anywhere in the net (even in the same place), Petri nets are well suited for modeling theconcurrentbehavior of distributed systems.

Formal definition and basic terminology[edit]

Petri nets arestate-transition systemsthat extend a class of nets called elementary nets.[2]

Definition 1.Anetis atuplewhere

  1. PandTare disjoint finite sets ofplacesandtransitions,respectively.
  2. is a set of (directed)arcs(or flow relations).

Definition 2.Given a netN= (P,T,F), aconfigurationis a setCso thatCP.

A Petri net with an enabled transition.
The Petri net that follows after the transition fires (Initial Petri net in the figure above).

Definition 3.Anelementary netis a net of the formEN= (N,C) where

  1. N= (P,T,F) is a net.
  2. Cis such thatCPis aconfiguration.

Definition 4.APetri netis a net of the formPN= (N,M,W), which extends the elementary net so that

  1. N= (P,T,F) is a net.
  2. M:PZis a placemultiset,whereZis acountable set.Mextends the concept ofconfigurationand is commonly described with reference to Petri net diagrams as amarking.
  3. W:FZis an arcmultiset,so that the count (or weight) for each arc is a measure of the arcmultiplicity.

If a Petri net is equivalent to an elementary net, thenZcan be the countable set {0,1} and those elements inPthat map to 1 underMform a configuration. Similarly, if a Petri net is not an elementary net, then themultisetMcan be interpreted as representing a non-singleton set of configurations. In this respect,Mextends the concept of configuration for elementary nets to Petri nets.

In the diagram of a Petri net (see top figure right), places are conventionally depicted with circles, transitions with long narrow rectangles and arcs as one-way arrows that show connections of places to transitions or transitions to places. If the diagram were of an elementary net, then those places in a configuration would be conventionally depicted as circles, where each circle encompasses a single dot called atoken.In the given diagram of a Petri net (see right), the place circles may encompass more than one token to show the number of times a place appears in a configuration. The configuration of tokens distributed over an entire Petri net diagram is called amarking.

In the top figure (see right), the placep1is an input place of transitiont;whereas, the placep2is an output place to the same transition. LetPN0(top figure) be a Petri net with a marking configuredM0,andPN1(bottom figure) be a Petri net with a marking configuredM1.The configuration ofPN0enablestransitiontthrough the property that all input places have sufficient number of tokens (shown in the figures as dots) "equal to or greater" than the multiplicities on their respective arcs tot.Once and only once a transition is enabled will the transition fire. In this example, thefiringof transitiontgenerates a map that has the marking configuredM1in the image ofM0and results in Petri netPN1,seen in the bottom figure. In the diagram, the firing rule for a transition can be characterised by subtracting a number of tokens from its input places equal to the multiplicity of the respective input arcs and accumulating a new number of tokens at the output places equal to the multiplicity of the respective output arcs.

Remark 1.The precise meaning of "equal to or greater" will depend on the precise algebraic properties of addition being applied onZin the firing rule, where subtle variations on the algebraic properties can lead to other classes of Petri nets; for example, algebraic Petri nets.[3]

The following formal definition is loosely based on (Peterson 1981). Many alternative definitions exist.

Syntax[edit]

APetri net graph(calledPetri netby some, but see below) is a 3-tuple,where

  • Sis afinite setofplaces
  • Tis a finite set oftransitions
  • SandTaredisjoint,i.e. no object can be both a place and a transition
  • is amultisetofarcs,i.e. it assigns to each arc a non-negative integerarc multiplicity(or weight); note that no arc may connect two places or two transitions.

Theflow relationis the set of arcs:.In many textbooks, arcs can only have multiplicity 1. These texts often define Petri nets usingFinstead ofW.When using this convention, a Petri net graph is abipartitedirected graphwith node partitionsSandT.

Thepresetof a transitiontis the set of itsinput places:; itspostsetis the set of itsoutput places:.Definitions of pre- and postsets of places are analogous.

Amarkingof a Petri net (graph) is a multiset of its places, i.e., a mapping.We say the marking assigns to each place a number oftokens.

APetri net(calledmarked Petri netby some, see above) is a 4-tuple,where

  • is a Petri net graph;
  • is theinitial marking,a marking of the Petri net graph.

Execution semantics[edit]

In words

  • firing a transitiontin a markingMconsumestokens from each of its input placess,and producestokens in each of its output placess
  • a transition isenabled(it mayfire) inMif there are enough tokens in its input places for the consumptions to be possible, i.e. if and only if.

We are generally interested in what may happen when transitions may continually fire in arbitrary order.

We say that a markingM'is reachable froma markingMin one stepif;we say that itis reachable fromMif,whereis thereflexive transitive closureof;that is, if it is reachable in 0 or more steps.

For a (marked) Petri net,we are interested in the firings that can be performed starting with the initial marking.Its set ofreachable markingsis the set

Thereachability graphofNis the transition relationrestricted to its reachable markings.It is thestate spaceof the net.

Afiring sequencefor a Petri net with graphGand initial markingis a sequence of transitionssuch that.The set of firing sequences is denoted as.

Variations on the definition[edit]

A common variation is to disallow arc multiplicities and replace thebagof arcsWwith a simple set, called theflow relation,. This does not limitexpressive poweras both can represent each other.

Another common variation, e.g. in Desel and Juhás (2001),[4]is to allowcapacitiesto be defined on places. This is discussed underextensionsbelow.

Formulation in terms of vectors and matrices[edit]

The markings of a Petri netcan be regarded asvectorsof non-negative integers of length.

(b) Petri net example

Its transition relation can be described as a pair ofbymatrices:

  • ,defined by
  • ,defined by

Then their difference

can be used to describe the reachable markings in terms of matrix multiplication, as follows. For any sequence of transitionsw,writefor the vector that maps every transition to its number of occurrences inw.Then, we have

  • .

It must be required thatwis a firing sequence; allowing arbitrary sequences of transitions will generally produce a larger set.

Category-theoretic formulation[edit]

Meseguerand Montanari considered a kind ofsymmetric monoidal categoriesknown asPetri categories.[5]

Mathematical properties of Petri nets[edit]

One thing that makes Petri nets interesting is that they provide a balance between modeling power and analyzability: many things one would like to know about concurrent systems can be automatically determined for Petri nets, although some of those things are very expensive to determine in the general case. Several subclasses of Petri nets have been studied that can still model interesting classes of concurrent systems, while these determinations become easier.

An overview of suchdecision problems,with decidability andcomplexityresults for Petri nets and some subclasses, can be found in Esparza and Nielsen (1995).[6]

Reachability[edit]

Thereachability problemfor Petri nets is to decide, given a Petri netNand a markingM,whether.

It is a matter of walking the reachability-graph defined above, until either the requested-marking is reached or it can no longer be found. This is harder than it may seem at first: the reachability graph is generally infinite, and it isn't easy to determine when it is safe to stop.

In fact, this problem was shown to beEXPSPACE-hard[7]years before it was shown to be decidable at all (Mayr, 1981). Papers continue to be published on how to do it efficiently.[8]In 2018, Czerwiński et al. improved the lower bound and showed that the problem is notELEMENTARY.[9]In 2021, this problem was shown to be non-primitive recursive,independently by Jerome Leroux[10] and by Wojciech Czerwiński and Łukasz Orlikowski.[11]These results thus close the long-standing complexity gap.

While reachability seems to be a good tool to find erroneous states, for practical problems the constructed graph usually has far too many states to calculate. To alleviate this problem,linear temporal logicis usually used in conjunction with thetableau methodto prove that such states cannot be reached. Linear temporal logic uses thesemi-decision techniqueto find if indeed a state can be reached, by finding a set of necessary conditions for the state to be reached then proving that those conditions cannot be satisfied.

Liveness[edit]

A Petri net in which transitionis dead, while for allis-live

Petri nets can be described as having different degrees of liveness.A Petri netis called-liveif and only ifall of its transitions are-live, where a transition is

  • dead,if it can never fire, i.e. it is not in any firing sequence in
  • -live (potentially fireable), if and only if it may fire, i.e. it is in some firing sequence in
  • -live if it can fire arbitrarily often, i.e. if for every positive integerk,it occurs at leastktimes in some firing sequence in
  • -live if it can fire infinitely often, i.e. if there is some fixed (necessarily infinite) firing sequence in which for every positive integerk,the transitionoccurs at leastktimes,
  • -live (live) if it may always fire, i.e. it is-live in every reachable marking in

Note that these are increasingly stringent requirements:-liveness implies-liveness, for.

These definitions are in accordance with Murata's overview,[12]which additionally uses-liveas a term fordead.

Boundedness[edit]

The reachability graph ofN2.

A place in a Petri net is calledk-boundif it does not contain more thanktokens in all reachable markings, including the initial marking; it is said to besafeif it is 1-bounded; it isboundedif it isk-boundedfor somek.

A (marked) Petri net is calledk-bounded,safe,orboundedwhen all of its places are. A Petri net (graph) is called(structurally) boundedif it is bounded for every possible initial marking.

A Petri net is bounded if and only if its reachability graph is finite.

Boundedness is decidable by looking atcovering,by constructing theKarp–Miller Tree.

It can be useful to explicitly impose a bound on places in a given net. This can be used to model limited system resources.

Some definitions of Petri nets explicitly allow this as a syntactic feature.[13] Formally,Petri nets with place capacitiescan be defined as tuples,whereis a Petri net,an assignment of capacities to (some or all) places, and the transition relation is the usual one restricted to the markings in which each place with a capacity has at most that many tokens.

An unbounded Petri net,N.

For example, if in the netN,both places are assigned capacity 2, we obtain a Petri net with place capacities, sayN2;its reachability graph is displayed on the right.

A two-bounded Petri net, obtained by extendingNwith "counter-places".

Alternatively, places can be made bounded by extending the net. To be exact, a place can be madek-bounded by adding a "counter-place" with flow opposite to that of the place, and adding tokens to make the total in both placesk.

Discrete, continuous, and hybrid Petri nets[edit]

As well as for discrete events, there are Petri nets for continuous and hybrid discrete-continuous processes[14]that are useful in discrete, continuous and hybridcontrol theory,[15]and related to discrete, continuous and hybridautomata.

Extensions[edit]

There are many extensions to Petri nets. Some of them are completely backwards-compatible (e.g.coloured Petri nets) with the original Petri net, some add properties that cannot be modelled in the original Petri net formalism (e.g. timed Petri nets). Although backwards-compatible models do not extend the computational power of Petri nets, they may have more succinct representations and may be more convenient for modeling.[16]Extensions that cannot be transformed into Petri nets are sometimes very powerful, but usually lack the full range of mathematical tools available to analyse ordinary Petri nets.

The termhigh-level Petri netis used for many Petri net formalisms that extend the basic P/T net formalism; this includes coloured Petri nets, hierarchical Petri nets such asNets within Nets,and all other extensions sketched in this section. The term is also used specifically for the type of coloured nets supported byCPN Tools.

A short list of possible extensions follows:

  • Additional types of arcs; two common types are
    • areset arcdoes not impose a precondition on firing, and empties the place when the transition fires; this makes reachability undecidable,[17]while some other properties, such as termination, remain decidable;[18]
    • aninhibitor arcimposes the precondition that the transition may only fire when the place is empty; this allows arbitrary computations on numbers of tokens to be expressed, which makes the formalismTuring completeand implies existence of a universal net.[19]
  • In a standard Petri net, tokens are indistinguishable. In acoloured Petri net,every token has a value.[20]In popular tools for coloured Petri nets such asCPN Tools,the values of tokens are typed, and can be tested (usingguardexpressions) and manipulated with afunctional programming language.A subsidiary of coloured Petri nets are thewell-formed Petri nets,where the arc and guard expressions are restricted to make it easier to analyse the net.
  • Another popular extension of Petri nets is hierarchy; this in the form of different views supporting levels of refinement and abstraction was studied by Fehling. Another form of hierarchy is found in so-called object Petri nets or object systems where a Petri net can contain Petri nets as its tokens inducing a hierarchy of nested Petri nets that communicate by synchronisation of transitions on different levels. See[21]for an informal introduction to object Petri nets.
  • Avector addition system with states (VASS)is an equivalent formalism to Petri nets. However, it can be superficially viewed as a generalisation of Petri nets. Consider afinite state automatonwhere each transition is labelled by a transition from the Petri net. The Petri net is then synchronised with the finite state automaton, i.e., a transition in the automaton is taken at the same time as the corresponding transition in the Petri net. It is only possible to take a transition in the automaton if the corresponding transition in the Petri net is enabled, and it is only possible to fire a transition in the Petri net if there is a transition from the current state in the automaton labelled by it. (The definition of VASS is usually formulated slightly differently.)
  • Prioritised Petri netsadd priorities to transitions, whereby a transition cannot fire, if a higher-priority transition is enabled (i.e. can fire). Thus, transitions are in priority groups, and e.g. priority group 3 can only fire if all transitions are disabled in groups 1 and 2. Within a priority group, firing isstillnon-deterministic.
  • The non-deterministic property has been a very valuable one, as it lets the user abstract a large number of properties (depending on what the net is used for). In certain cases, however, the need arises to also model the timing, not only the structure of a model. For these cases,timed Petri netshave evolved, where there are transitions that are timed, and possibly transitions which are not timed (if there are, transitions that are not timed have a higher priority than timed ones). A subsidiary of timed Petri nets are thestochastic Petri netsthat addnondeterministic timethrough adjustable randomness of the transitions. Theexponential random distributionis usually used to 'time' these nets. In this case, the nets' reachability graph can be used as a continuous timeMarkov chain(CTMC).
  • Dualistic Petri Nets(dP-Nets) is a Petri Net extension developed by E. Dawis, et al.[22]to better represent real-world process. dP-Nets balance the duality of change/no-change, action/passivity, (transformation) time/space, etc., between the bipartite Petri Net constructs of transformation and place resulting in the unique characteristic oftransformation marking,i.e., when the transformation is "working" it is marked. This allows for the transformation to fire (or be marked) multiple times representing the real-world behavior of process throughput. Marking of the transformation assumes that transformation time must be greater than zero. A zero transformation time used in many typical Petri Nets may be mathematically appealing but impractical in representing real-world processes. dP-Nets also exploit the power of Petri Nets' hierarchical abstraction to depictprocess architecture.Complex process systems are modeled as a series of simpler nets interconnected through various levels of hierarchical abstraction. The process architecture of a packet switch is demonstrated in,[23]where development requirements are organized around the structure of the designed system.

There are many more extensions to Petri nets, however, it is important to keep in mind, that as the complexity of the net increases in terms of extended properties, the harder it is to use standard tools to evaluate certain properties of the net. For this reason, it is a good idea to use the most simple net type possible for a given modelling task.

Restrictions[edit]

Petri net types graphically

Instead of extending the Petri net formalism, we can also look at restricting it, and look at particular types of Petri nets, obtained by restricting the syntax in a particular way. Ordinary Petri nets are the nets where all arc weights are 1. Restricting further, the following types of ordinary Petri nets are commonly used and studied:

  1. In astate machine(SM), every transition has one incoming arc, and one outgoing arc, and all markings have exactly one token. As a consequence, there cannotbeconcurrency,but there can beconflict(i.e.nondeterminism): mathematically,
  2. In amarked graph(MG), every place has one incoming arc, and one outgoing arc. This means, that there cannotbeconflict,but there can beconcurrency:mathematically,
  3. In afree choicenet (FC), every arc from a place to a transition is either the only arc from that place or the only arc to that transition, i.e. there can beboth concurrency and conflict, but not at the same time:mathematically,
  4. Extended free choice (EFC) – a Petri net that can betransformed into an FC.
  5. In anasymmetric choicenet (AC), concurrency and conflict (in sum,confusion) may occur, butnot symmetrically: mathematically,

Workflow nets[edit]

Workflow nets(WF-nets) are a subclass of Petri nets intending to model theworkflowof process activities.[24] The WF-net transitions are assigned to tasks or activities, and places are assigned to the pre/post conditions. The WF-nets have additional structural and operational requirements, mainly the addition of a single input (source) place with no previous transitions, and output place (sink) with no following transitions. Accordingly, start and termination markings can be defined that represent the process status.

WF-nets have thesoundnessproperty,[24]indicating that a process with a start marking ofktokens in its source place, can reach the termination state marking withktokens in its sink place (defined ask-sound WF-net). Additionally, all the transitions in the process could fire (i.e., for each transition there is a reachable state in which the transition is enabled). A general sound (G-sound) WF-net is defined as beingk-sound for everyk> 0.[25]

A directedpathin the Petri net is defined as the sequence of nodes (places and transitions) linked by the directed arcs. Anelementary pathincludes every node in the sequence only once.

Awell-handledPetri net is a net in which there are no fully distinct elementary paths between a place and a transition (or transition and a place), i.e., if there are two paths between the pair of nodes then these paths share a node. An acyclic well-handled WF-net is sound (G-sound).[26]

Extended WF-net is a Petri net that is composed of a WF-net with additional transition t (feedback transition). The sink place is connected as the input place of transition t and the source place as its output place. Firing of the transition causes iteration of the process (Note, the extended WF-net is not a WF-net).[24]

WRI (Well-handled with Regular Iteration) WF-net, is an extended acyclic well-handled WF-net. WRI-WF-net can be built as composition of nets, i.e., replacing a transition within a WRI-WF-net with a subnet which is a WRI-WF-net. The result is also WRI-WF-net. WRI-WF-nets are G-sound,[26]therefore by using only WRI-WF-net building blocks, one can get WF-nets that are G-sound by construction.

Thedesign structure matrix(DSM) can model process relations, and be utilized for process planning. TheDSM-netsare realization of DSM-based plans into workflow processes by Petri nets, and are equivalent to WRI-WF-nets. The DSM-net construction process ensures the soundness property of the resulting net.

Other models of concurrency[edit]

Other ways of modelling concurrent computation have been proposed, includingvector addition systems,communicating finite-state machines,Kahn process networks,process algebra,theactor model,andtrace theory.[27]Different models provide tradeoffs of concepts such ascompositionality,modularity,and locality.

An approach to relating some of these models of concurrency is proposed in the chapter by Winskel and Nielsen.[28]

Application areas[edit]

See also[edit]

References[edit]

  1. ^Petri, Carl Adam; Reisig, Wolfgang (2008)."Petri net".Scholarpedia.3(4): 6477.Bibcode:2008SchpJ...3.6477P.doi:10.4249/scholarpedia.6477.
  2. ^Rozenburg, G.; Engelfriet, J. (1998). "Elementary Net Systems". In Reisig, W.; Rozenberg, G. (eds.).Lectures on Petri Nets I: Basic Models – Advances in Petri Nets.Lecture Notes in Computer Science. Vol. 1491. Springer. pp. 12–121.doi:10.1007/3-540-65306-6_14.ISBN3-540-65306-6.
  3. ^Reisig, Wolfgang (1991). "Petri Nets and Algebraic Specifications".Theoretical Computer Science.80(1): 1–34.doi:10.1016/0304-3975(91)90203-e.
  4. ^Desel, Jörg; Juhás, Gabriel (2001). "What Is a Petri Net? Informal Answers for the Informed Reader". InEhrig, Hartmut;et al. (eds.).Unifying Petri Nets.LNCS. Vol. 2128. Springer. pp. 1–25.doi:10.1007/3-540-45541-8_1.ISBN9783540430674.
  5. ^Meseguer, Jose; Montanari, Ugo (October 1990). "Petri nets are monoids".Information and Computation.88(2): 105–155.doi:10.1016/0890-5401(90)90013-8.
  6. ^Esparza, Javier; Nielsen, Mogens (1995) [1994]."Decidability issues for Petri nets – a survey".Bulletin of theEATCS(Revised ed.).Retrieved2014-05-14.
  7. ^Lipton, R.(1976)."The Reachability Problem Requires Exponential Space".Technical Report 62.Yale University: 305–329.
  8. ^Küngas, P. (July 26–29, 2005).Petri Net Reachability Checking Is Polynomial with Optimal Abstraction Hierarchies.Proceedings of the 6th International Symposium on Abstraction, Reformulation and Approximation—SARA 2005. Lecture notes in computer science. Vol. 3607. Airth Castle, Scotland, UK: Springer. pp. 149–164.doi:10.1007/11527862_11.ISBN3-540-31882-8.Archived fromthe originalon 2012-02-09.Retrieved2008-07-10.
  9. ^Czerwiński, Wojciech; Lasota, Sławomir; Lazic, Ranko; Leroux, Jerome; Mazowiecki, Filip (2018). "The Reachability Problem for Petri Nets is Not Elementary (Extended Abstract)".arXiv:1809.07115[cs.FL].
  10. ^Leroux, Jérôme (2021). "The Reachability Problem for Petri Nets is Not Primitive Recursive".arXiv:2104.12695[cs.LO].
  11. ^Czerwiński, Wojciech; Orlikowski, Łukasz (2021). "Reachability in vector addition systems is Ackermann-complete".arXiv:2104.13866[cs.FL].
  12. ^Murata, Tadao (April 1989)."Petri Nets: Properties, Analysis and Applications"(PDF).Proceedings of the IEEE.77(4): 541–558.doi:10.1109/5.24143.Retrieved2024-05-26.
  13. ^"Petri Nets".www.techfak.uni-bielefeld.de.Archived fromthe originalon 2011-09-27.Retrieved2011-04-13.
  14. ^abKučera, Erik; Haffner, Oto; Drahoš, Peter; Cigánek, Ján; Leskovský, Roman; Štefanovič, Juraj (January 2020)."New Software Tool for Modeling and Control of Discrete-Event and Hybrid Systems Using Timed Interpreted Petri Nets".Applied Sciences.10(15): 5027.doi:10.3390/app10155027.
  15. ^abDavid, René; Alla, Hassane (2005).Discrete, continuous, and hybrid Petri Nets.Springer.ISBN978-3-540-22480-8.
  16. ^Jensen, Kurt(1997)."A brief introduction to coloured Petri Nets"(PDF).A brief introduction to colored Petri nets.Lecture Notes in Computer Science. Vol. 1217. pp. 203–208.doi:10.1007/BFb0035389.ISBN978-3-540-62790-6.
  17. ^Araki, T.; Kasami, T. (1977). "Some Decision Problems Related to the Reachability Problem for Petri Nets".Theoretical Computer Science.3(1): 85–104.doi:10.1016/0304-3975(76)90067-0.
  18. ^Dufourd, C.; Finkel, A.; Schnoebelen, Ph. (1998). "Reset Nets Between Decidability and Undecidability".Proceedings of the 25th International Colloquium on Automata, Languages and Programming.Lecture Notes in Computer Science. Vol. 1443. pp. 103–115.doi:10.1007/11527862_11.ISBN3-540-68681-9.
  19. ^Zaitsev, D. A. (2013). "Toward the Minimal Universal Petri Net".IEEE Transactions on Systems, Man, and Cybernetics: Systems.44:47–58.doi:10.1109/TSMC.2012.2237549.S2CID6561556.
  20. ^"Very Brief Introduction to CP-nets".Department of Computer Science, University of Aarhus, Denmark. Archived fromthe originalon 2010-10-28.Retrieved2007-08-22.
  21. ^"LLPN - Linear Logic Petri Nets".Archived fromthe originalon 2005-11-03.Retrieved2006-01-06.
  22. ^Dawis, E. P.; Dawis, J. F.; Koo, Wei-Pin (2001).Architecture of Computer-based Systems using Dualistic Petri Nets.2001 IEEE International Conference on Systems, Man, and Cybernetics. Vol. 3. pp. 1554–8.doi:10.1109/ICSMC.2001.973505.ISBN0-7803-7087-2.
  23. ^Dawis, E. P. (2001).Architecture of an SS7 Protocol Stack on a Broadband Switch Platform using Dualistic Petri Nets.2001 IEEE Pacific Rim Conference on Communications, Computers and signal Processing. Vol. 1. pp. 323–6.doi:10.1109/PACRIM.2001.953588.ISBN0-7803-7080-5.
  24. ^abcvan der Aalst, W. M. P. (1998)."The application of Petri nets to workflow management"(PDF).Journal of Circuits, Systems and Computers.8(1): 21–66.CiteSeerX10.1.1.30.3125.doi:10.1142/s0218126698000043.S2CID248401501.Archived fromthe original(PDF)on 2016-11-19.Retrieved2015-04-02.
  25. ^van Hee, K.; Sidorova, N.; Voorhoeve, M. (2003)."Soundness and separability of workflow nets in the stepwise refinement approach"(PDF).In van der Aalst, W. M. P.; Best, E. (eds.).Application and Theory of Petri Nets 2003.Lecture Notes in Computer Science. Vol. 2678. Springer. pp. 337–356.doi:10.1007/3-540-44919-1_22.ISBN3-540-44919-1.
  26. ^abPing, L.; Hao, H.; Jian, L. (2004). Moldt, Daniel (ed.).On 1-soundness and soundness of workflow nets.Proc of the 3rd Workshop on Modelling of Objects, Components, and Agents. Vol. 571. Aarhus, Denmark: DAIMI PB. pp. 21–36.ISSN0105-8517.OCLC872760679.
  27. ^Mazurkiewicz, Antoni (1995). "Introduction to Trace Theory". In Diekert, V.; Rozenberg, G. (eds.).The Book of Traces.World Scientific. pp. 3–67.
  28. ^Winskel, G.; Nielsen, M."Models for Concurrency"(PDF).Handbook of Logic and the Foundations of Computer Science.Vol. 4. OUP. pp. 1–148. Archived fromthe original(PDF)on 2020-05-04.
  29. ^Scheuring, Rainer; Wehlan, Herbert "Hans" (1991-12-01) [July 1991]. Bretthauer, Georg (ed.)."Der Boolesche Differentialkalkül – eine Methode zur Analyse und Synthese von Petri-Netzen"[The Boolean differential calculus – A method for analysis and synthesis of Petri nets].At – Automatisierungstechnik – Methoden und Anwendungen der Steuerungs-, Regelungs- und Informationstechnik(in German).39(7). Stuttgart, Germany:R. Oldenbourg Verlag[de]:226–233.doi:10.1524/auto.1991.39.112.226.ISSN0178-2312.S2CID56766796.Archivedfrom the original on 2017-10-16.Retrieved2017-10-16.(8 pages)
  30. ^abvan der Aalst, W.M.P.; Stahl, C. (2011-05-27).Modeling Business Processes - A Petri Net-Oriented Approach.MIT Press. pp. 1–400.ISBN9780262015387.
  31. ^van der Aalst, W.M.P. (2018)."Business Process Management".Encyclopedia of Database Systems.Springer. pp. 370–374.doi:10.1007/978-1-4614-8265-9_1179.ISBN978-1-4614-8266-6.
  32. ^Favrin, Bean (2014-09-02)."esyN: Network Building, Sharing and Publishing".PLOS ONE.9(9): e106035.Bibcode:2014PLoSO...9j6035B.doi:10.1371/journal.pone.0106035.PMC4152123.PMID25181461.
  33. ^Koch, Ina;Reisig, Wolfgang; Schreiber, Falk (2011).Modeling in Systems Biology - The Petri Net Approach.Computational Biology. Vol. 16. Springer.doi:10.1007/978-1-84996-474-6.ISBN978-1-84996-473-9.
  34. ^Kristensen, L. M.; Westergaard, M. (2010)."Automatic Structure-Based Code Generation from Coloured Petri Nets: A Proof of Concept".Formal Methods for Industrial Critical Systems.Formal Methods for Industrial Critical Systems - 15th International Workshop, FMICS 2010. Lecture Notes in Computer Science. Vol. 6371. pp. 215–230.doi:10.1007/978-3-642-15898-8_14.ISBN978-3-642-15897-1.
  35. ^Gao, X.; Hu, Xinyan (2020)."A Petri Net Neural Network Robust Control for New Paste Backfill Process Model".IEEE Access.8:18420–18425.Bibcode:2020IEEEA...818420G.doi:10.1109/ACCESS.2020.2968510.S2CID210994447.
  36. ^Kučera, Erik; Haffner, Oto; Drahoš, Peter; Leskovský, Roman; Cigánek, Ján (January 2020)."PetriNet Editor + PetriNet Engine: New Software Tool For Modelling and Control of Discrete Event Systems Using Petri Nets and Code Generation".Applied Sciences.10(21): 7662.doi:10.3390/app10217662.
  37. ^van der Aalst, W.M.P. (2016).Process Mining - Data Science in Action, Second Edition.Springer.doi:10.1007/978-3-662-49851-4.ISBN978-3-662-49850-7.S2CID12806779.
  38. ^Carmona, J.; van Dongen, B.F.; Solti, A.; Weidlich, M. (2018).Conformance Checking - Relating Processes and Models.Springer.doi:10.1007/978-3-319-99414-7.ISBN978-3-319-99413-0.S2CID53250018.
  39. ^Fernandez, J. L.; Sanz, R.; Paz, E.; Alonso, C. (19–23 May 2008). "Using hierarchical binary Petri nets to build robust mobile robot applications: RoboGraph".IEEE International Conference on Robotics and Automation, 2008.Pasadena, CA, USA. pp. 1372–7.doi:10.1109/ROBOT.2008.4543394.ISBN978-1-4244-1646-2.
  40. ^Mendes, J. Marco; Leitão, Paulo; Colombo, Armando W.; Restivo, Francisco (2012)."High-level Petri nets for the process description and control in service-oriented manufacturing systems".International Journal of Production Research.50(6). Taylor & Francis: 1650–1665.doi:10.1080/00207543.2011.575892.S2CID39688855.
  41. ^Fahland, D.; Gierds, C. (2013). "Analyzing and Completing Middleware Designs for Enterprise Integration Using Coloured Petri Nets".Active Flow and Combustion Control 2018.Advanced Information Systems Engineering - 25th International Conference, CAiSE 2013. Lecture Notes in Computer Science. Vol. 7908. pp. 400–416.doi:10.1007/978-3-642-38709-8_26.ISBN978-3-319-98176-5.
  42. ^Clempner, Julio (2006)."Modeling shortest path games with Petri nets: a Lyapunov based theory".International Journal of Applied Mathematics and Computer Science.16(3): 387–397.ISSN1641-876X.
  43. ^Yakovlev, Alex; Gomes, Luis; Lavagno, Luciano, eds. (2000).Hardware Design and Petri Nets.doi:10.1007/978-1-4757-3143-9.ISBN978-1-4419-4969-1.
  44. ^Cortadella, J.;Kishinevsky, M.; Kondratyev, A.; Lavagno, L.; Yakovlev, A. (2002).Logic Synthesis for Asynchronous Controllers and Interfaces.Springer Series in Advanced Microelectronics. Vol. 8.doi:10.1007/978-3-642-55989-1.ISBN978-3-642-62776-7.ISSN1437-0387.
  45. ^Cortadella, Jordi;Yakovlev, Alex; Rozenberg, Grzegorz, eds. (2002).Concurrency and Hardware Design.Lecture Notes in Computer Science. Vol. 2549.doi:10.1007/3-540-36190-1.ISBN978-3-540-00199-7.ISSN0302-9743.S2CID42026227.
  46. ^Bernardeschi, C.; De Francesco, N.; Vaglini, G. (1995)."A Petri nets semantics for data flow networks".Acta Informatica.32(4): 347–374.doi:10.1007/BF01178383.S2CID7285573.
  47. ^van der Aalst, Wil M. P.; Stahl, Christian; Westergaard, Michael (2013)."Strategies for Modeling Complex Processes Using Colored Petri Nets".Transactions on Petri Nets and Other Models of Concurrency VII.Lecture Notes in Computer Science. Vol. 7. pp. 6–55.doi:10.1007/978-3-642-38143-0_2.ISBN978-3-642-38142-3.{{cite book}}:|journal=ignored (help)
  48. ^abvan der Aalst, W.M.P. (2018)."Workflow Patterns".Encyclopedia of Database Systems.Springer. pp. 4717–4718.doi:10.1007/978-1-4614-8265-9_826.ISBN978-1-4614-8266-6.
  49. ^abvan der Aalst, W.M.P. (2018)."Workflow Model Analysis".Encyclopedia of Database Systems.Springer. pp. 4716–4717.doi:10.1007/978-1-4614-8265-9_1476.ISBN978-1-4614-8266-6.
  50. ^O'Connor, Patrick D. T. (2012).Practical reliability engineering.Andre Kleyner (5th ed.). Wiley.ISBN978-1-119-96126-0.OCLC862121371.
  51. ^Juan, Marion; Mailland, David; Fifis, Nicolas; Gregoris, Guy (December 2021)."Modélisation des pannes d'une antenne active et modifications d'architecture".Techniques de l'Ingénieur.Sécurité des Systèmes Industriels.doi:10.51257/a-v1-se1221.S2CID245057775.
  52. ^ter Hofstede, Arthur H. M.; van der Aalst, Wil M. P.; Adams, Michael; Russell, Nick (2010). Hofstede, Arthur H. M; Aalst, Wil M. P; Adams, Michael; Russell, Nick (eds.).Modern Business Process Automation - YAWL and its Support Environment.doi:10.1007/978-3-642-03121-2.ISBN978-3-642-03122-9.

Further reading[edit]