FACTOID # 166: Most households in Europe and North America contain fewer than three people.
 
 Home   Encyclopedia   Statistics   Countries A-Z   Flags   Maps   Education   Forum   FAQ   About 
 
WHAT'S NEW
RELATED ARTICLES
People who viewed "Petri net" also viewed:
RECENT ARTICLES
More Recent Articles »
 

FACTS & STATISTICS    Simple view

  1. Select countries to view: (hold down Control key and click to select several)

     

     

    Compare:

     

     

  1. Select fact or statistic: (* = graphable)

     

     

     

  2. (OPTIONAL) Compare to statistic: (both need to be graphable)

     

     

     

  3. View result as:

     

       
(OR) SEARCH ALL encyclopedia, stats & forums:   

Encyclopedia > Petri net

A Petri net (also known as a place/transition net or P/T net) is one of several mathematical representations of discrete distributed systems. As a modeling language, it graphically depicts the structure of a distributed system as a directed bipartite graph with annotations. As such, a Petri net has place nodes, transition nodes, and directed arcs connecting places with transitions. Petri nets were invented in 1962 by Carl Adam Petri in his Ph.D thesis. Mathematics is commonly defined as the study of patterns of structure, change, and space; more informally, one might say it is the study of figures and numbers. Mathematical knowledge is constantly growing, through research and application, but mathematics itself is not usually considered a natural science. ... Knowledge representation is an issue that arises in both cognitive science and artificial intelligence. ... This article or section should include material from Distributed programming This article or section should include material from Distributed system Distributed computing is the process of aggregating the power of several computing entities to collaboratively run a single computational task in a transparent and coherent way, so that they appear... It has been suggested that Modeling perspectives be merged into this article or section. ... In the mathematical field of graph theory, a bipartite graph is a special graph where the set of vertices can be divided into two disjoint sets and such that no edge has both end-points in the same set. ... Look up Place in Wiktionary, the free dictionary. ... In telecommunication, a transition is the change from one signal state to another signal state. ... 1962 (MCMLXII) was a common year starting on Monday (the link is to a full 1962 calendar). ... Carl Adam Petri is a honorary professor at the University of Hamburg. ... Doctor of Philosophy (Ph. ...

(a) Petri net trajectory example
(a) Petri net trajectory example

Contents

Image File history File links Animated_Petri_net_commons. ... Image File history File links Animated_Petri_net_commons. ...

Basic Petri nets

A Petri net consists of places, transitions, and directed arcs. Arcs run between places and transitions - not between places and places or transitions and 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. A pictorial representation of a graph In mathematics and computer science, graph theory is the study of graphs, mathematical structures used to model pairwise relations between objects from a certain collection. ...


Places may contain any number of tokens. A distribution of tokens over the places of a net is called a marking. Transitions act on input tokens by a process known as firing. A transition is enabled if it can fire, i.e., there are tokens in every input place. When a transition fires, it consumes the tokens from its input places, performs some processing task, and places a specified number of tokens into each of its output places. It does this atomically, i.e. in one single non-preemptible step.


Execution of Petri nets is nondeterministic. This means two things: In the theory of computation, a nondeterministic algorithm is a hypothetical algorithm where computation can branch, choosing among different execution paths in a way that does not depend only on the input and current execution state. ...

  1. multiple transitions can be enabled at the same time, any one of which can fire
  2. none are required to fire — they fire at will, between time 0 and infinity, or not at all (i.e. it is totally possible that nothing fires at all).

Since firing is nondeterministic, Petri nets are well suited for modeling the concurrent behavior of distributed systems. Wikiquote has a collection of quotations related to: Edsger Dijkstra The Dining Philosophers, a classic problem involving concurrency and shared resources In computer science, concurrency is a property of systems which consist of computations that execute overlapped in time, and which may permit the sharing of common resources between those...


A formal definition

A Petri net is a 5-tuple (S,T,F,M_0,W)!, where (see Desel and Juhás[1]) In mathematics, a tuple is a finite sequence (also known as an ordered list) of objects, each of a specified type. ...

  • S is a set of places.
  • T is a set of transitions.
  • F is a set of arcs known as a flow relation. The set F is subject to the constraint that no arc may connect two places or two transitions, or more formally: F subseteq (S times T) cup (T times S).
  • M_0 : S to mathbb{N} is an initial marking, where for each place s in S, there are n_s in mathbb{N} tokens.
  • W : F to mathbb{N^+} is a set of arc weights, which assigns to each arc f in F some n in mathbb{N^+} denoting how many tokens are consumed from a place by a transition, or alternatively, how many tokens are produced by a transition and put into each place.

A variety of other formal definitions exist. Some definitions do not have arc weights, but they allow multiple arcs between the same place and transition, which is conceptually equal to one arc with a weight of more than one.


Basic mathematical properties

The state of a Petri net can be represented as an M vector, where the 1st value of the vector is the amount of tokens in the 1st place of the net, the 2nd is amount of tokens in the 2nd place, and so on. Such a representation fully describes the state of a Petri net.


A state-transition list, vec sigma = langle M_{i_0} t_{i_1} M_{i_1} ldots t_{i_n} M_{i_n} rangle, which can be shortened to simply vec sigma = langle t_{i_1} ldots t_{i_n} rangle is called a firing sequence if each and every transition satisfies the firing criteria (i.e. there are enough tokens in the input for every transition). In this case, the state-transition list of langle M_{i_0} M_{i_1} ldots M_{i_n} rangle is called a trajectory, and M_{i_n} is called reachable from M_{i_0} through the firing sequence of vec sigma. Mathematically written: M_{i_0} [ vec sigma > M_{i_n}. The set of all firing sequences that can be reached from a net N and an initial marking M0 are noted as L(N,M0).


The state-transition matrix W is | T | by | S | large, and represents the amount of tokens taken by each transition from each place. Similarly, W + represents the amount of tokens given by each transition to each place. The sum of the two, W = W +W can be used for calculating the above mentioned equation of M_{i_0} [ vec sigma > M_{i_n} which can now be simply written as M_0 - M_n = W^T cdot sigma, where σ is a vector of how many times each transition fired in the sequence. Note that just because the equation can be satisfied, does not mean that it can actually be carried out - for that there should be enough tokens for each transition to fire, i.e. the satisfiability of the equation is required but not sufficient to say that state Mn can be reached from state M0.

(b) Petri net Example
(b) Petri net Example

W^{+}=begin{bmatrix} * & t1 & t2  p1 & 0 & 1  p2 & 1 & 0  p3 & 1& 0  p4 & 0 & 1 end{bmatrix} Image File history File links Detailed_petri_net. ...


W^{-}=begin{bmatrix} * & t1 & t2  p1 & 1 & 0  p2 & 0 & 1  p3 & 0 & 1  p4 & 0 & 0 end{bmatrix}


W=begin{bmatrix} * & t1 & t2  p1 & -1 & 1  p2 & 1 & -1  p3 & 1 & -1  p4 & 0 & 1 end{bmatrix}


M_{0}=begin{bmatrix} 1 & 0 & 2 & 1 end{bmatrix}


Reachability

All states that can be reached from a net N with an initial marking M0 are denoted as R(N,M0). The reachability problem is then the following: is it true that M_{w} in R(N,M_{0})? Where Mw is, e.g. a wrong state such as an elevator moving while the door is open.


The reachability of the states can be represented with a reachability graph which is a directed graph whose points represent states (i.e. M), and arcs represent transitions between two such states. The graph is constructed as follows: the starting state (M0) is taken, and all possible transitions are explored from this state, then the transitions from these states, and so on. The way the graph should be constructed is through breadth-first search, as the graph may be infinitely large, and so depth-first search would not find all possible states even if given infinite time. In graph theory, breadth-first search (BFS) is a graph search algorithm that begins at the root node and explores all the neighboring nodes. ... Depth-first search (DFS) is an algorithm for traversing or searching a tree, tree structure, or graph. ...


While reachability seems to a be a good tool to find erroneous states, such as an elevator moving while the door is open, for practical problems the constructed graph usually has far too many states to calculate. To alleviate this problem, the LTL logic is usually used in conjunction with the tableau method to prove that such states cannot be reached. LTL uses the semi-decision technique to 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. Linear temporal logic (LTL) is a modal temporal logic with modalities referring to time. ... Analytic tableaux, or, more briefly, just tableaux, are a fundamental concept in automated theorem proving. ...


Reachability is known to be decidable, in at least exponential time. All known general algorithms so far, however, employ non-primitive recursive space [2]. In computability theory, primitive recursive functions are a class of functions which form an important building block on the way to a full formalization of computability. ...


Liveness

Petri nets can be described as having different levels of liveness L0L4. While the levels of liveness are defined on transitions within the Petri net, the Petri net itself is considered Lk live if and only if every transition within it is Lk live.


A Petri net (N,M0)'s transition t is

  • L0 live, or dead, if and only if it can not be fired, i.e. it is not in any firing sequence vec sigma where vec sigma in L(N,M_0)
  • L1 live if and only if it can possibly be fired, i.e. it is in a firing sequence vec sigma where vec sigma in L(N,M_0)
  • L2 live if and only if for any k positive whole number, t can be fired at least k times in a firing sequence vec sigma where vec sigma in L(N,M_0)
  • L3 live if and only if there exists a firing sequence vec sigma in L(N,M_0) where t is fired infinitely
  • L4 live or simply live if and only if in any reachable state M (i.e. forall M in R(N,M_0)), t is L1 live

Note that these are increasingly stringent requirements such that if a transition is L3 live for example, it is automatically L1 and L2 live as well. As an example, (b) Example Petri net is live with the given initial state, but with a different (e.g. totally empty) initial state, all of its transitions are dead. It has been suggested that this article or section be merged with Logical biconditional. ...


In computer programming and other applications, the property of liveness of a Petri net is used to model that the system can never lock up.


Boundedness

Reachability graph of (a) Petri net Example if the net is 2-bounded. In this case, it can only have a maximum of 9(32) states.
Reachability graph of (a) Petri net Example if the net is 2-bounded. In this case, it can only have a maximum of 9(32) states.

A Petri net is inherently k-bounded if in no reachable state can at any place contain more than k tokens. A Petri net is safe if it is 1-bounded. Naturally, the initial M0 marking is also restricted by the boundedness. Note that a Petri net is inherently bounded if and only if all its reachability graphs (i.e reachability graphs with all possible starting states) all have a finite number of states. Image File history File links Reachability_graph_for_petri_net. ...


Formally, K : S to mathbb{N^+} is a set of capacity restrictions, which assigns to each place s in S some positive number n in mathbb{N^+} denoting the maximum number of tokens that can occupy that place. A net in which each of its places has some capacity k, is known as an 'inherently k-bounded' Petri net.


Boundedness is decidable by looking at covering, by constructing the Karp-Miller Tree. In computer programming and other applications, the property of boundedness of a Petri net is used to model that system resources such as CPUs are bounded. In combinatorics and computer science, the covering problem is a type of general question: if a certain structure covers another, or how many structures are required to cover another? For Petri nets, for example, the covering problem is defined as the question if for a given marking, there exists a... Richard M. Karp (born 1935) is a computer scientist, notable for research in the theory of algorithms, for which he received a Turing Award in 1985. ... The term bounded appears in different parts of mathematics where a notion of size can be given. ...

Example place-transformation. The grey place that was originally inherently 2-bounded has been transformed into two places: a grey original, and a counter place
Example place-transformation. The grey place that was originally inherently 2-bounded has been transformed into two places: a grey original, and a counter place

Boundedness of a certain place in an inherently bounded net can be mimicked in a non-inherently bounded net by doing a place-transformation, where a new place (called counter-place) is created, and all transitions that put x tokens to the original place take x tokens from the counter-place, and all transitions that take away x tokens from the original place put x tokens to the counter-place. The number of tokens in M0 must now satisfy the equation place+counter-place=boundedness. Thus, doing a place-transformation for all places in a bounded net, and restricting the starting state M0 to conform to the above noted equality, a bounded net can easily be transformed to a non-bounded net. Therefore any analysis that is used on inherently non-bounded nets can be used on bounded nets (but not the other way around). Image File history File links Place_transformation_petri_net. ... Image File history File links Place_transformation_petri_net. ...


Extensions

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 (e.g. timed Petri nets). If they can be modelled in the original Petri net, they are not real extensions, instead, they are convenient ways of showing the same thing, and can be transformed with mathematical formulas back to the original Petri net, without losing any meaning. Extensions that cannot be transformed are sometimes very powerful, but usually lack the amount of mathematical tools available to analyse normal Petri nets.


The term high-level Petri net is used for many Petri net formalisms that extend the basic P/T net formalism. This includes coloured Petri nets, hierarchical Petri nets, and all other extensions sketched in this section.


A short list of possible extensions:

  • In a standard Petri net, tokens are indistinguishable. In a coloured Petri net, every token has a value. In popular tools for coloured Petri nets such as CPN Tools, the values of tokens are typed, and can be tested and manipulated with a functional programming language. A subsidiary of coloured Petri nets are the well-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: Hierarchy in the form of different views supporting levels of refinement and abstraction were 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 [3] for an informal introduction to object Petri nets.
  • A Vector Addition System with States (VASS) can be seen as a generalisation of a Petri net. Consider a finite state automaton where 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 nets add 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 is still non-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 nets have 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 the stochastic Petri nets that add non-deterministic time through adjustable randomness of the transitions. The exponential random distribution is usually used to 'time' these nets. In this case, the nets' reachability graph can be used as a markov chain.

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. A Petri net (also known as a place/transition net or P/T net) is one of several mathematical representations of discrete distributed systems. ... CPN Tools can be found at [1] ... Functional programming is a programming paradigm that treats computation as the evaluation of mathematical functions. ... Well-formed Petri nets are a Petri net class jointly elaborated between the University of Paris 6 (Université P. & M. Curie) and the University of Torino in the early 1990s. ... A hierarchy (in Greek: , it is derived from -hieros, sacred, and -arkho, rule) is a system of ranking and organizing things or people, where each element of the system (except for the top element) is subordinate to a single other element. ... In the theory of computation, a finite state machine (FSM) or finite state automaton (FSA) is an abstract machine that has only a finite, constant amount of memory. ... In probability theory and statistics, the exponential distributions are a class of continuous probability distribution. ... In mathematics, a Markov chain, named after Andrey Markov, is a discrete-time stochastic process with the Markov property. ...


Main Petri net types

Petri net types graphically

There are six main types of petri net: Image File history File links Petri_net_types. ... Image File history File links Petri_net_types. ...

  1. State Machine (SM) - here, every transition has one incoming arc, and one outgoing arc. This means, that there can not be concurrency, but there can be conflict (i.e. Where should the token from the place go? To one transition or the other?). Mathematically: forall tin T: |tbullet|=|bullet t|=1
  2. Marked Graph (MG) - here, every place has one incoming arc, and one outgoing arc. This means, that there can not be conflict, but there can be concurrency. Mathematically: forall pin P: |pbullet|=|bullet p|=1
  3. Free choice (FC) - here, an arc is either the only arc going from the place, or it is the only arc going to a transition. I.e. there can be both concurrency and conflict, but not at the same time. Mathematically: forall pin P: (|pbullet|leq 1) vee (bullet (pbullet)={p})
  4. Extended free choice (EFC) - a Petri net that can be transformed into an FC.
  5. Asymmetric choice (AC) - concurrency and conflict (in sum, confusion), but not asymmetrically. Mathematically: forall p_1,p_2in P: (p_1bullet cap p_2bulletneq 0) to [(p_1bulletsubseteq p_2bullet) vee (p_2bulletsubseteq p_1bullet)]
  6. Petri Net (PN) - confusion is allowed (i.e. everything is allowed)

In the theory of computation, a finite state machine (FSM) or finite state automaton (FSA) is an abstract machine that has only a finite, constant amount of memory. ... Marked Graphs are petri nets where every place has one incoming arc, and one outgoing arc. ...

Subsequent models of concurrency

Subsequent to the invention of Petri nets other models of concurrency, which are based on message passing and feature compositionality (e.g. the Actor model and the various process calculi), have been introduced. Robin Milner and Carl Hewitt have argued that the lack of compositionality is a serious limitation of Petri nets because the deficiency limits modularity. In computer science, message passing is a form of communication used in concurrent programming, parallel programming, object-oriented programming, and interprocess communication. ... The Principle of Compositionality in semantics 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. ... In computer science, the Actor model is a mathematical model of concurrent computation that treats actors as the universal primitives of concurrent digital computation: in response to a message that it receives, an actor can make local decisions, create more actors, send more messages, and determine how to respond to... The process calculi (or process algebras) are a diverse family of related approaches to formally modelling concurrent systems. ... Robin Milner is a prominent British computer scientist. ... Carl E. Hewitt is an Associate Professor (Emeritus) in the Electrical Engineering and Computer Science department at the Massachusetts Institute of Technology (MIT). ... Modularity is a concept that has applications in the contexts of computer science, particularly programming, as well as cognitive science in investigating the structure of mind. ...


In addition, Hewitt has argued that Petri nets lack locality because input tokens of a transition disappear simultaneously, which limits the realism of the model. He acknowledged the counterargument that the proper use of Petri nets is to obey the single event restriction which is that every transition should model a single event. An example of such a transition would be one with two input places, one representing the month being September 2005, and the other representing the date being September 30, 2005. If the event being modeled were the passing of midnight on that day, obviously both tokens would disappear at the same time. However obeying the single event restriction drastically limits the applications of Petri nets. // Philosophy of mathematics is the branch of philosophy that studies the philosophical assumptions, foundations, and implications of mathematics. ...


Another proposed alternative to Petri nets is the theory of traces. Traces were introduced in order to allow the application of formal language theory, which is well-developed, to the analysis of concurrent systems[2]. The idea is that formal languages will provide a more mathematically convenient and tractable way of reasoning about about concurrent systems than Petri nets do. In mathematics, logic and computer science, a formal language is a set of finite-length words (i. ...


Application areas

Software design is the process that starts from a problem for which there is currently no acceptable (software) solution, and ends when such a solution has been created. ... Workflow is the operational aspect of a work procedure: how tasks are structured, who performs them, what their relative order is, how they are synchronized, how information flows to support the tasks and how tasks are being tracked. ... Data analysis is the act of transforming data with the aim of extracting useful information and facilitating conclusions. ... Parallel programming (also concurrent programming), is a computer programming technique that provides for the execution of operations concurrently, either within a single computer, or across a number of systems. ... Reliability engineering is the discipline of ensuring that a system will be reliable when operated in a specified manner. ... 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. ...

Programming tools

See the list of Petri net tools.


See also

Fig. ... Process architecture is the structural design of general process systems and applies to fields such as computers (software, hardware, networks, etc. ...

References

  • Cardoso, Janette; Heloisa Camargo. Fuzziness in Petri Nets. Physica-Verlag. ISBN 3-7908-1158-0. 
  • Jensen, Kurt. Coloured Petri Nets. Springer Verlag. ISBN 3-540-62867-3. 
  • Котов, Вадим (1984). Сети Петри (Petri Nets, in Russian). Наука, Москва. 
  • Pataricza, András (2004). Formális moódszerek az informatikában (Formal methods in informatics). TYPOTEX Kiadó. ISBN 963-9548-08-1. 
  • Peterson, James L. (1977). "Petri Nets". ACM Computing Surveys 9 (3): 223–252. 
  • Peterson, James Lyle. Petri Net Theory and the Modeling of Systems. Prentice Hall. ISBN 0-13-661983-5. 
  • Petri, Carl A. (1962). "Kommunikation mit Automaten". Ph. D. Thesis. University of Bonn.
  • Reisig, Wolfgang. A Primer in Petri Net Design. Springer-Verlag. ISBN 3-540-52044-9. 
  • Riemann, Robert-Christoph. Modelling of Concurrent Systems: Structural and Semantical Methods in the High Level Petri Net Calculus. Herbert Utz Verlag. ISBN 3-89675-629-X. 
  • Störrle, Harald. Models of Software Architecture - Design and Analysis with UML and Petri-Nets. Books on Demand. ISBN 3-8311-1330-0. 
  • Zhou, Mengchu; Frank Dicesare. Petri Net Synthesis for Discrete Event Control of Manufacturing Systems. Kluwer Academic Publishers. ISBN 0-7923-9289-2. 
  • Zhou, Mengchu; Kurapati Venkatesh. Modeling, Simulation, & Control of Flexible Manufacturing Systems: A Petri Net Approach. World Scientific Publishing. ISBN 981-02-3029-X. 

Footnotes

  1. ^ Desel, Jörg and Juhás, Gabriel "What Is a Petri Net? -- Informal Answers for the Informed Reader", Hartmut Ehrig et al. (Eds.): Unifying Petri Nets, LNCS 2128, pp. 1-25, 2001. [1]
  2. ^ Antoni Mazurkiewicz, "Introduction to Trace Theory", in The Book of Traces V. Diekert, G. Rozenberg, eds. World Scientific, Singapore (1995) pp 3-67.

External links


  Results from FactBites:
 
NationMaster - Encyclopedia: Petri net (414 words)
A Petri net (also known as a place/transition net or P/T net) is one of several mathematical representations of discrete distributed systems.
Petri nets were invented in 1962 by Carl Adam Petri in his Ph.D thesis.
Carl Adam Petri is a honorary professor at the University of Hamburg.
Petri Nets (971 words)
Petri nets are mathematical stuff to define, model, simulate and to some extend reason on event driven networks of agents, which is the stronger of a few of such mathematical models because it supports multiple (parallel) firing of nodes.
Petri nets are very powerful, but still easily comprehensible mathematical models, which have been augmented, e.g.
Petri nets are configurable in a large number of aspects.
  More results at FactBites »


 

COMMENTARY     


Share your thoughts, questions and commentary here
Your name
Your comments
Please enter the 5-letter protection code

Want to know more?
Search encyclopedia, statistics and forums:

 


Lesson Plans | Student Area | Student FAQ | Reviews | Press Releases |  Feeds | Contact
The Wikipedia article included on this page is licensed under the GFDL.
Images may be subject to relevant owners' copyright.
All other elements are (c) copyright NationMaster.com 2003-5. All Rights Reserved.
Usage implies agreement with terms.