HOME

TheInfoList



OR:

A Petri net, also known as a place/transition (PT) net, is one of several
mathematical Mathematics is an area of knowledge that includes the topics of numbers, formulas and related structures, shapes and the spaces in which they are contained, and quantities and their changes. These topics are represented in modern mathematics ...
modeling language A modeling language is any artificial language that can be used to express information or knowledge or systems in a structure that is defined by a consistent set of rules. The rules are used for interpretation of the meaning of components in the ...
s for the description of
distributed systems A distributed system is a system whose components are located on different networked computers, which communicate and coordinate their actions by passing messages to one another from any system. Distributed computing is a field of computer sci ...
. It is a class of
discrete event dynamic system In control engineering, a discrete-event dynamic system (DEDS) is a discrete-state, event-driven system of which the state evolution depends entirely on the occurrence of asynchronous discrete events over time. Although similar to continuous-variab ...
. A Petri net is a directed
bipartite graph In the mathematical field of graph theory, a bipartite graph (or bigraph) is a graph whose vertices can be divided into two disjoint and independent sets U and V, that is every edge connects a vertex in U to one in V. Vertex sets U and V ar ...
that 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 state that Petri nets were invented in August 1939 by
Carl Adam Petri Carl Adam Petri (12 July 1926 in Leipzig – 2 July 2010 in Siegburg) was a German mathematician and computer scientist. Life and work Petri created his major scientific contribution, the concept of the Petri net, in 1939 at the age of 13, for ...
—at the age of 13—for the purpose of describing chemical processes. Like industry standards such as
UML The Unified Modeling Language (UML) is a general-purpose, developmental modeling language in the field of software engineering that is intended to provide a standard way to visualize the design of a system. The creation of UML was originally ...
activity diagram Activity diagrams are graphical representations of workflows of stepwise activities and actions with support for choice, iteration and concurrency. In the Unified Modeling Language, activity diagrams are intended to model both computational and o ...
s,
Business Process Model and Notation Business Process Model and Notation (BPMN) is a graphical representation for specifying business processes in a business process model. Originally developed by the Business Process Management Initiative (BPMI), BPMN has been maintained by the ...
, and
event-driven process chain An event-driven process chain (EPC) is a type of flow chart for business process modeling. EPC can be used to configure enterprise resource planning execution, and for business process improvement. It can be used to control an autonomous workflow ...
s, Petri nets offer a graphical notation for stepwise processes that include choice,
iteration Iteration is the repetition of a process in order to generate a (possibly unbounded) sequence of outcomes. Each repetition of the process is a single iteration, and the outcome of each iteration is then the starting point of the next iteration. ...
, and concurrent execution. Unlike these standards, Petri nets have an exact mathematical definition of their execution semantics, with a well-developed mathematical theory for process analysis.


Historical background

The German computer scientist
Carl Adam Petri Carl Adam Petri (12 July 1926 in Leipzig – 2 July 2010 in Siegburg) was a German mathematician and computer scientist. Life and work Petri created his major scientific contribution, the concept of the Petri net, in 1939 at the age of 13, for ...
, for whom such structures are named, analyzed Petri nets extensively in his 1962 dissertation .


Petri net basics

A Petri net consists of ''places'', ''transitions'', and '' arcs''. 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 the ''input places'' of the transition; the places to which arcs run from a transition are called the ''output places'' of the transition. Graphically, places in a Petri net may contain a discrete number of marks called ''tokens''. Any distribution of tokens over the places will represent a configuration of the net called a ''marking''. In an abstract sense relating to a Petri net diagram, a transition of a Petri net may ''fire'' if it is ''enabled'', 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 an ''execution policy'' (e.g. a strict ordering of transitions, describing precedence) is defined, the execution of Petri nets is
nondeterministic Nondeterminism or nondeterministic may refer to: Computer science * Nondeterministic programming *Nondeterministic algorithm In computer programming, a nondeterministic algorithm is an algorithm that, even for the same input, can exhibit diffe ...
: 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 the
concurrent Concurrent means happening at the same time. Concurrency, concurrent, or concurrence may refer to: Law * Concurrence, in jurisprudence, the need to prove both ''actus reus'' and ''mens rea'' * Concurring opinion (also called a "concurrence"), a ...
behavior of distributed systems.


Formal definition and basic terminology

Petri nets are state-transition systems that extend a class of nets called elementary nets. Definition 1. A ''net'' is a
tuple In mathematics, a tuple is a finite ordered list (sequence) of elements. An -tuple is a sequence (or ordered list) of elements, where is a non-negative integer. There is only one 0-tuple, referred to as ''the empty tuple''. An -tuple is defi ...
N = (P, T, F) where # P and T are disjoint finite sets of ''places'' and ''transitions'', respectively. # F \subseteq (P \times T) \cup (T \times P) is a set of (directed) ''arcs'' (or flow relations). Definition 2. Given a net ''N'' = (''P'', ''T'', ''F''), a ''configuration'' is a set ''C'' so that ''C'' ''P''. Definition 3. An ''elementary net'' is a net of the form ''EN'' = (''N'', ''C'') where # ''N'' = (''P'', ''T'', ''F'') is a net. # ''C'' is such that ''C'' ''P'' is a ''configuration''. Definition 4. A ''Petri net'' is a net of the form ''PN'' = (''N'', ''M'', ''W''), which extends the elementary net so that # ''N'' = (''P'', ''T'', ''F'') is a net. # ''M'' : ''P'' ''Z'' is a place
multiset In mathematics, a multiset (or bag, or mset) is a modification of the concept of a set that, unlike a set, allows for multiple instances for each of its elements. The number of instances given for each element is called the multiplicity of that ...
, where ''Z'' is a
countable set In mathematics, a set is countable if either it is finite or it can be made in one to one correspondence with the set of natural numbers. Equivalently, a set is ''countable'' if there exists an injective function from it into the natural number ...
. ''M'' extends the concept of ''configuration'' and is commonly described with reference to Petri net diagrams as a ''marking''. # ''W'' : ''F'' ''Z'' is an arc
multiset In mathematics, a multiset (or bag, or mset) is a modification of the concept of a set that, unlike a set, allows for multiple instances for each of its elements. The number of instances given for each element is called the multiplicity of that ...
, so that the count (or weight) for each arc is a measure of the arc ''multiplicity''. If a Petri net is equivalent to an elementary net, then ''Z'' can be the countable set and those elements in ''P'' that map to 1 under ''M'' form a configuration. Similarly, if a Petri net is not an elementary net, then the
multiset In mathematics, a multiset (or bag, or mset) is a modification of the concept of a set that, unlike a set, allows for multiple instances for each of its elements. The number of instances given for each element is called the multiplicity of that ...
''M'' can be interpreted as representing a non-singleton set of configurations. In this respect, ''M'' extends 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 a ''token''. 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 a ''marking''. In the top figure (see right), the place ''p''1 is an input place of transition ''t''; whereas, the place ''p''2 is an output place to the same transition. Let ''PN''0 (top figure) be a Petri net with a marking configured ''M''0, and ''PN''1 (bottom figure) be a Petri net with a marking configured ''M''1. The configuration of ''PN''0 ''enables'' transition ''t'' through 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 to ''t''. Once and only once a transition is enabled will the transition fire. In this example, the ''firing'' of transition ''t'' generates a map that has the marking configured ''M''1 in the image of ''M''0 and results in Petri net ''PN''1, 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 on ''Z'' in the firing rule, where subtle variations on the algebraic properties can lead to other classes of Petri nets; for example, algebraic Petri nets. The following formal definition is loosely based on . Many alternative definitions exist.


Syntax

A Petri net graph (called ''Petri net'' by some, but see below) is a 3-
tuple In mathematics, a tuple is a finite ordered list (sequence) of elements. An -tuple is a sequence (or ordered list) of elements, where is a non-negative integer. There is only one 0-tuple, referred to as ''the empty tuple''. An -tuple is defi ...
(S,T,W), where * ''S'' is a
finite set In mathematics, particularly set theory, a finite set is a set that has a finite number of elements. Informally, a finite set is a set which one could in principle count and finish counting. For example, :\ is a finite set with five elements. ...
of ''places'' * ''T'' is a finite set of ''transitions'' * ''S'' and ''T'' are
disjoint Disjoint may refer to: *Disjoint sets, sets with no common elements *Mutual exclusivity, the impossibility of a pair of propositions both being true See also *Disjoint union *Disjoint-set data structure {{disambig


Workflow nets

Workflow net A workflow consists of an orchestrated and repeatable pattern of activity, enabled by the systematic organization of resources into processes that transform materials, provide services, or process information. It can be depicted as a sequence of ...
s (WF-nets) are a subclass of Petri nets intending to model the
workflow A workflow consists of an orchestrated and repeatable pattern of activity, enabled by the systematic organization of resources into processes that transform materials, provide services, or process information. It can be depicted as a sequence ...
of process activities. 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 the soundness property, indicating that a process with a start marking of ''k'' tokens in its source place, can reach the termination state marking with ''k'' tokens in its sink place (defined as ''k''-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 being ''k''-sound for every ''k'' > 0. A directed
path A path is a route for physical travel – see Trail. Path or PATH may also refer to: Physical paths of different types * Bicycle path * Bridle path, used by people on horseback * Course (navigation), the intended path of a vehicle * Desire ...
in the Petri net is defined as the sequence of nodes (places and transitions) linked by the directed arcs. An elementary path includes every node in the sequence only once. A well-handled Petri 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). 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). 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, therefore by using only WRI-WF-net building blocks, one can get WF-nets that are G-sound by construction. The Design structure matrix (DSM) can model process relations, and be utilized for process planning. The DSM-nets are 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

Other ways of modelling concurrent computation have been proposed, including
vector addition systems A vector addition system (VAS) is one of several mathematical modeling languages for the description of distributed systems. Vector addition systems were introduced by Richard M. Karp and Raymond E. Miller in 1969, and generalized to vector addit ...
,
communicating finite-state machines In computer science, a communicating finite-state machine is a finite state machine labeled with "receive" and "send" operations over some alphabet of channels. They were introduced by Brand and Zafiropulo,D. Brand and P. Zafiropulo. On communicati ...
,
Kahn process networks A Kahn process network (KPN, or process network) is a distributed ''model of computation'' in which a group of deterministic sequential processes communicate through unbounded first in, first out channels. The model requires that reading from a ch ...
,
process algebra In computer science, the process calculi (or process algebras) are a diverse family of related approaches for formally modelling concurrent systems. Process calculi provide a tool for the high-level description of interactions, communications, an ...
, the
actor model The actor model in computer science is a mathematical model of concurrent computation that treats ''actor'' as the universal primitive of concurrent computation. In response to a message it receives, an actor can: make local decisions, create mor ...
, and
trace theory In mathematics and computer science, trace theory aims to provide a concrete mathematical underpinning for the study of concurrent computation and process calculi. The underpinning is provided by an algebraic definition of the free partially co ...
. Different models provide tradeoffs of concepts such as
compositionality In semantics, mathematical logic and related disciplines, the principle of compositionality is the principle that the meaning of a complex expression is determined by the meanings of its constituent expressions and the rules used to combine them. ...
,
modularity Broadly speaking, modularity is the degree to which a system's components may be separated and recombined, often with the benefit of flexibility and variety in use. The concept of modularity is used primarily to reduce complexity by breaking a s ...
, and locality. An approach to relating some of these models of concurrency is proposed in the chapter by Winskel and Nielsen.


Application areas

*
Boolean differential calculus Boolean differential calculus (BDC) (German: (BDK)) is a subject field of Boolean algebra discussing changes of Boolean variables and Boolean functions. Boolean differential calculus concepts are analogous to those of classical differential ca ...
(8 pages) *
Business process modeling Business process modeling (BPM) in business process management and systems engineering is the activity of representing processes of an enterprise, so that the current business processes may be analyzed, improved, and automated. BPM is typicall ...
*
Computational biology Computational biology refers to the use of data analysis, mathematical modeling and computational simulations to understand biological systems and relationships. An intersection of computer science, biology, and big data, the field also has fo ...
*
Concurrent programming Concurrent means happening at the same time. Concurrency, concurrent, or concurrence may refer to: Law * Concurrence, in jurisprudence, the need to prove both ''actus reus'' and ''mens rea'' * Concurring opinion (also called a "concurrence"), a ...
*
Control engineering Control engineering or control systems engineering is an engineering discipline that deals with control systems, applying control theory to design equipment and systems with desired behaviors in control environments. The discipline of controls o ...
*
Data analysis Data analysis is a process of inspecting, cleansing, transforming, and modeling data with the goal of discovering useful information, informing conclusions, and supporting decision-making. Data analysis has multiple facets and approaches, en ...
*
Diagnosis (artificial intelligence) As a subfield in artificial intelligence, Diagnosis is concerned with the development of algorithms and techniques that are able to determine whether the behaviour of a system is correct. If the system is not functioning correctly, the algorithm s ...
* Discrete process control * Game theory *
Hardware design Processor design is a subfield of computer engineering and electronics engineering (fabrication) that deals with creating a processor, a key component of computer hardware. The design process involves choosing an instruction set and a certain ex ...
*
Kahn process networks A Kahn process network (KPN, or process network) is a distributed ''model of computation'' in which a group of deterministic sequential processes communicate through unbounded first in, first out channels. The model requires that reading from a ch ...
*
Process modeling The term process model is used in various contexts. For example, in business process modeling the enterprise process model is often referred to as the ''business process model''. Overview Process models are processes of the same nature that ar ...
*
Reliability engineering Reliability engineering is a sub-discipline of systems engineering that emphasizes the ability of equipment to function without failure. Reliability describes the ability of a system or component to function under stated conditions for a specifi ...
*
Simulation A simulation is the imitation of the operation of a real-world process or system over time. Simulations require the use of models; the model represents the key characteristics or behaviors of the selected system or process, whereas the ...
*
Software design Software design is the process by which an agent creates a specification of a software artifact intended to accomplish goals, using a set of primitive components and subject to constraints. Software design may refer to either "all the activity ...
*
Workflow management system A workflow management system (WfMS or WFMS) provides an infrastructure for the set-up, performance and monitoring of a defined sequence of tasks, arranged as a workflow application. International standards There are several international standards ...
s


See also

*
Finite-state machine A finite-state machine (FSM) or finite-state automaton (FSA, plural: ''automata''), finite automaton, or simply a state machine, is a mathematical model of computation. It is an abstract machine that can be in exactly one of a finite number ...
*
Petri Net Markup Language Petri Net Markup Language (PNML) is an interchange format aimed at enabling Petri net tools to exchange Petri net models. PNML is an XML-based syntax for high-level Petri nets, which is being designed as a standard interchange format for Petri ne ...
*
Petriscript PetriScript is a modeling language for Petri nets, designed by Alexandre Hamez and Xavier Renault. The CPN-AMI Platform (computing), platform provides many tools to work on Petri nets, such as verifying and model-checking tools. Originally, simple ...
*
Process architecture Process architecture is the structural design of general process systems. It applies to fields such as computers (software, hardware, networks, etc.), business processes ( enterprise architecture, policy and procedures, logistics, project manageme ...
*
Vector addition systems A vector addition system (VAS) is one of several mathematical modeling languages for the description of distributed systems. Vector addition systems were introduced by Richard M. Karp and Raymond E. Miller in 1969, and generalized to vector addit ...
*
Machine learning Machine learning (ML) is a field of inquiry devoted to understanding and building methods that 'learn', that is, methods that leverage data to improve performance on some set of tasks. It is seen as a part of artificial intelligence. Machine ...


References


Further reading

* * * * * * * * * * * * * * * {{DEFAULTSORT:Petri Net Formal specification languages Models of computation Concurrency (computer science) Diagrams Software modeling language Modeling languages