Algebraic Petri Net
   HOME

TheInfoList



OR:

An algebraic Petri net (APN) is an evolution of the well known
Petri net A Petri net, also known as a place/transition net (PT net), is one of several mathematical modeling languages for the description of distributed systems. It is a class of discrete event dynamic system. A Petri net is a directed bipartite graph t ...
in which elements of user defined data types (called algebraic abstract data types (AADT)) replace black tokens. This formalism can be compared to coloured Petri nets (CPN) in many aspects. However, in the APN case, the semantics of the data types is given by an
axiomatization In mathematics and logic, an axiomatic system is a set of formal statements (i.e. axioms) used to logically derive other statements such as lemmas or theorems. A proof within an axiom system is a sequence of deductive steps that establishes ...
enabling proofs and computations on it. Algebraic Petri nets were invented by Jacques Vautherin in 1985 in his PhD thesis and later improved by Wolfang Reisig. The formalism has two aspects : * The control part which is handled by a Petri net. * The data part which is handled by one or many AADTs. AADT can be themselves split in two parts: * The ''signature'' (Sort and Ops in the example below) which gives the valid constants and operations of the
term algebra Term may refer to: Language *Terminology, context-specific nouns or compound words **Technical term (or ''term of art''), used by specialists in a field ***Scientific terminology, used by scientists *Term (argumentation), part of an argument in d ...
. * The ''axiomatization'' (Axioms in the example below) which gives the semantics of the operations described in the signature part. The following picture describes an algebraic Petri net model of the "
dining philosophers problem In computer science, the dining philosophers problem is an example problem often used in concurrent algorithm design to illustrate synchronization issues and techniques for resolving them. It was originally formulated in 1965 by Edsger Dijkstra ...
". There are two AADT in this model, one for the forks algebra, one for the philosophers algebra. Please note that the philosophers AADT uses the fork AADT. Since all philosophers can take their left fork without taking their right fork, executing this model can result in a ''deadlock''. The control part is composed of : *''Places'' contain
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 ...
(bags) of tokens. Those tokens are elements of a
term algebra Term may refer to: Language *Terminology, context-specific nouns or compound words **Technical term (or ''term of art''), used by specialists in a field ***Scientific terminology, used by scientists *Term (argumentation), part of an argument in d ...
built upon the signature of the AADT (in the example, terms that represent either a philosopher or a fork). Each place contains one and only one multiset of terms, the place is typed by its multiset. *''Arcs'' can be labeled with multisets of either closed or free terms. Again terms are built from the AADT signature. *''Transitions'' are events that can be fired whenever there are enough resources (namely enough tokens in the input places to satisfy all the input arcs) and the guard (firing conditions) of the transition holds. Then the produced tokens are put in the target places of the output arcs. Usually term
rewriting In mathematics, computer science, and logic, rewriting covers a wide range of methods of replacing subterms of a formula with other terms. Such methods may be achieved by rewriting systems (also known as rewrite systems, rewrite engines, or reduc ...
Dick, A. J. and Watson, P. 1991. Order-sorted term rewriting. Comput. J. 34, 1 (Feb. 1991), 16-19. is used for the operational semantics in order to check if conditions hold and to compute output terms. In the example below only transition goEat is firable at the beginning. One goEat has been fired, takeL and takeR are also enabled and thus can also be fired.
Algebraic Petri nets are the basic formalism of more advanced ones such as CO-OPN.


References


Further reading

* *


External links


An Introduction to the Algebraic Specification of Abstract Data Types
{{DEFAULTSORT:Algebraic Petri Nets Specification languages Petri nets