High Level Petri | Function (Mathematics) | Conceptual Model

High-level Petri Nets - Concepts, Definitions and Graphical Notation Final Draft International Standard ISO/IEC

15909 Version 4.7.1 October 28, 2000

Contents
Introduction 1 Scope 1.1 1.2 1.3 Purpose . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Field of Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Audience . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 6 6 6 7 7 7 7 10 10 11 11 12 12 12 12 12 13 13 13 14 14 14 15 15 16 18 18

2 Normative References 3 Terms, Definitions, Abbreviations and Symbols 3.1 3.2 Glossary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Abbreviations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

4 Conventions and Notation 5 Semantic Model for High-level Petri Nets 5.1 5.2 5.3 Definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Marking of HLPN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Enabling of Transition Modes . . . . . . . . . . . . . . . . . . . . . . . . . . 5.3.1 5.3.2 5.4 Enabling of a Single Transition Mode . . . . . . . . . . . . . . . . . . Concurrent Enabling of Transition Modes . . . . . . . . . . . . . . . .

Transition Rule . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

6 Concepts Required for High-level Petri Net Graphs 6.1 6.2 6.3 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . High-level Petri Net Graph Components . . . . . . . . . . . . . . . . . . . . . Net Execution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.3.1 6.3.2 6.3.3 6.4 6.5 Enabling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Transition Rule for a Single Transition Mode . . . . . . . . . . . . . . Step of Concurrently Enabled Transition Modes . . . . . . . . . . . . .

Graphical Concepts and Notation . . . . . . . . . . . . . . . . . . . . . . . . . Conditionals in Arc Expressions, and Parameters . . . . . . . . . . . . . . . .

7 Definition of High-level Petri Net Graphs 7.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

7.2 7.3 7.4

Definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Marking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Enabling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.4.1 7.4.2 Enabling of a Single Transition Mode . . . . . . . . . . . . . . . . . . Concurrent Enabling of Transition Modes . . . . . . . . . . . . . . . .

18 19 20 20 20 20 21 21 21 21 22 22 22 23 23 23 24 24 24 24 25 25 25 25 25 26 26 26 26 26 26

7.5

Transition Rule . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

8 Notation for High-level Petri Net Graphs 8.1 8.2 8.3 8.4 8.5 General . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Places . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Transitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Arcs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Markings and Tokens . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

9 Semantics of High-level Petri Net Graphs 10 Conformance 10.1 PN Conformance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10.1.1 Level 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10.1.2 Level 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10.2 HLPN Conformance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10.2.1 Level 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10.2.2 Level 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Annex A: Mathematical Conventions (normative) A.1 Sets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A.2 Multisets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A.2.1 Sum Representation . . . . . . . . . . . . . . . . . . . . . . . . . . . A.2.2 Membership . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A.2.3 Empty Multiset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A.2.4 Cardinality and Finite Multiset . . . . . . . . . . . . . . . . . . . . . . A.2.5 Multiset Equality and Comparison . . . . . . . . . . . . . . . . . . . . A.2.6 Multiset Operations . . . . . . . . . . . . . . . . . . . . . . . . . . . . A.3 Concepts from Algebraic Specification . . . . . . . . . . . . . . . . . . . . . . A.3.1 Signatures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

3

A.3.2 Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A.3.3 Boolean Signatures . . . . . . . . . . . . . . . . . . . . . . . . . . . . A.3.4 Terms built from a Signature and Variables . . . . . . . . . . . . . . . A.3.5 Many-sorted Algebras . . . . . . . . . . . . . . . . . . . . . . . . . . A.3.6 Assignment and Evaluation . . . . . . . . . . . . . . . . . . . . . . . Annex B: Net Classes (normative) B.1 Place/Transition nets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Annex C: High-level Petri Net Schema (informative) C.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C.2 Definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Annex D: Tutorial (informative) D.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . D.2 Net Graphs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . D.2.1 Places and Tokens . . . . . . . . . . . . . . . . . . . . . . . . . . . . D.2.2 Transitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . D.2.3 Arcs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . D.2.4 The Net Graph . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . D.3 Transition Conditions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . D.4 Net Dynamics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . D.5 Flow Control Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Annex E: Analysis Techniques (informative) Bibliography

27 27 27 28 28 30 30 32 32 32 33 33 33 33 34 35 35 35 37 38 41 42

4

The technique is particularly suited to parallel and distributed systems development as it supports concurrency. The main mathematical apparatus required for defining the standard is developed in normative Annex A. which allows classes of systems to be described at a syntactic level. while the main concepts behind the graphical form are informally introduced in clause 6. or used by application developers or Petri net tool vendors or users. thus saving on testing and maintenance time. Two of the early forms of high-level nets that this standard builds on are Predicate-Transition Nets and Coloured Petri Nets. The technique promises to have multiple uses. design and analysis of systems. and referred to in clause 4. It may also serve to integrate techniques currently used independently such as state transition diagrams and data flow diagrams. Petri nets have been used to describe a wide range of systems since their invention in 1962. The basic semantic model for High-level Petri Nets is given in clause 5. first introduced in the mid 1980s. such as the use of complex structured data as tokens. Clause 1 describes the scope. Clause 2 provides normative references (none at present). Clause 8 further describes syntactical conventions. Annex D is a tutorial on the High-level Petri Net Graph. Clause 7 defines the Highlevel Petri Net Graph. The use of high-level to describe these Petri nets is analogous to the use of high-level in high-level programming languages (as opposed to assembly languages). High-level Petri Nets.Introduction This International Standard provides a well-defined semi-graphical technique for the specification. Clause 9 relates the graphical form to the basic semantic model. and using algebraic expressions to annotate net elements. and also the degree to which the syntax is supported. Specifications written in the technique may be subjected to analysis methods to prove properties about the specifications. first introduced in 1979 and developed during the 1980s. Normative Annex B defines Petri nets (without capacities) as a restriction of the definition of Clause 7. The basic level of conformance is to the semantic model. The conformance clause is given in clause 10. This International Standard may be cited in contracts for the development of software (particularly critical software). For example. It is believed that this standard captures the spirit of these earlier developments (see bibliography). It is also an executable technique. It also uses some of the notions developed for Algebraic Petri nets. areas of application and the intended audience of this International Standard. The inscriptions are defined at a meta level allowing many different concrete syntaxes to be used. and may thus be used to provide unambiguous specifications and descriptions of applications. The level of conformance depends on the class of high-level net supported. while clause 3 provides a glossary of terms and defines abbreviations. is mathematically defined. it may be used directly to specify systems or to define the semantics of other less formal languages. 5 . The technique. Three informative annexes are included: Annex C defines a High-level Petri Net Schema. allowing specification prototypes to be developed to test ideas at the earliest and cheapest opportunity. A problem with Petri nets is the explosion of the number of elements of their graphical form when they are used to describe complex systems. This International Standard provides an abstract mathematical syntax and a formal semantics for the technique. Conformance to the standard is possible at several levels. and is the usual term used in the Petri net community. High-level Petri Nets were developed to overcome this problem by introducing higher-level concepts. the form of the standard intended for industrial use. before implementation commences.

space. This International Standard will also facilitate the development and interoperability of Petri net computer support tools. computer hardware architectures. descriptions of existing systems prior to re-engineering. This International Standard may be applied to a broad range of systems. defence command and control. information systems. augmentation of High-level Petri Nets with time. 6 . 1. electronic commerce. control systems. telecommunications and workflow. 1 Scope 1. defines a mathematical semantic model. manufacturing systems. to ensure a common understanding of the technique and of the specifications written using the technique. internet protocols and applications. an abstract mathematical syntax for inscriptions and a graphical notation for High-level Petri Nets. A bibliography concludes this International Standard. transport systems (including railway control). legal processes. including its syntax and semantics. operating systems. formal analysis of the behaviour of critical systems. and development of Petri net support tools. Generic fields of application include: ¯ ¯ ¯ ¯ ¯ ¯ ¯ ¯ requirements analysis. communication protocols.2 Field of Application This International Standard is applicable to a wide variety of concurrent discrete event systems and in particular distributed systems. fault-tolerant systems. designs and test suites. hospital procedures. databases. It provides a reference definition that can be used both within and between organisations. avionics. nuclear power systems. modelling business and software processes.1 Purpose This International Standard defines a Petri net technique. banking systems. music. simulation of systems to increase confidence. metabolic processes. This International Standard. business processes. providing the semantics for concurrent languages. development of specifications. security systems. and methods for analysis which may become the subject of future standardisation efforts. including air traffic control. chemical processes. This International Standard does not provide a concrete syntax nor a transfer syntax and it does not address techniques for modularity (such as hierarchies).and Annex E provides pointers to analysis techniques for High-level Petri Nets. called High-level Petri Nets.

3 Terms. 3. 3. 3.1.1.6 Carrier: A set of a many-sorted algebra.1. Normally represented by an arrow.1 Input Arc (of a transition): An arc directed from a place to the transition. 3.3 Arc annotation: An expression that may involve constants.1 Arc: A directed edge of a net which may connect a place to a transition or a transition to a place. the following definitions. 3.3 Audience This International Standard is written as a reference for systems analysts. and hence are not ordered (see also Step and Concurrent Enabling). 3. parameter values. maintainers and procurers.1.1.1. 2 Normative References None.1 Glossary 3. typed variables and functions required for defining the inscriptions on a High-level Petri Net Graph.2 Arity: The input sorts and output sort for an operator. abbreviations and symbols apply.1. constants.1.1. the association of a value (of correct type) to each variable.2 Output Arc (of a transition): An arc directed from the transition to a place.9 Enabling (a transition): A transition is enabled in a particular mode and net marking. Any ambiguity in the definitions is resolved by the mathematically precise definitions in the body of this International Standard.1. Abbreviations and Symbols For the purpose of this International Standard. 3. developers.1.7 Concurrency: The property of a system in which events may occur independently of each other. The expression must evaluate to a multiset over the type of the arc’s associated place.3 Assignment: For a set of variables. Definitions. when the following conditions are met: 7 .1. designers.1.1. 3. 3. 3. and for Petri net tool designers and standards developers. 3.8 Declaration: A set of statements which define the sets. variables and operators used to annotate an arc of a net.4 Basis set: The set of objects used to create a multiset.1. 3.5 Binding: See Assignment.1.

The marking of each input place of the transition satisfies the demand imposed on it by its arc annotation evaluated for the particular transition mode.e.1 Initial Marking (of the net): The set of initial place markings given with the highlevel net definition. and their interconnection by directed edges. defined with the high-level net. Arc Annotations. such that only places can be connected to transitions. non-negative integer) which describes the number of repetitions of an item in a multiset. 3.1.1 Multiplicity: A natural number (i.14. but never transitions to transitions. nor places to places. 8 ..15. 3. 3. 3.13 Many-sorted Algebra: A mathematical structure comprising a set of sets and a set of functions taking these sets as domains and co-domains.1.14 Marking (of a net): The set of the place markings for all places of the net. a place or a transition).14. including the initial marking. a set of transitions.14.1. 3. and their corresponding definitions in a set of Declarations.5 Reachability Set: The set of reachable markings of the net. called places and transitions.1. and transitions to places.2 Multiset cardinality (cardinality of a multiset): The sum of the multiplicities of each of the members of the multiset.1. 3.14. and an initial marking. NOTE: The determination of transition modes guarantees that the Transition Condition is satisfied (see Transition Mode). 3.11 High-level Net (High-level Petri Net): An algebraic structure comprising: a set of places.1. Post function determining output tokens (multisets of tokens) for places for each transition mode.1.1. a set of types.12 High-level Petri Net Graph: A net graph and its associated annotations comprising Place Types. 3.2 Node (of a net): A vertex of a net graph (i.1.1. 3. a function associating a type to each place. 3.14.4 Reachable Marking: Any marking of the net that can be reached from the initial marking by the occurrence of transitions. 3.2 Initial Marking of a place: A special marking of a place. 3..15 Multiset: A collection of items where repetition of items is allowed.16. and a set of modes (a type) to each transition. Pre function imposing token demands (multisets of tokens) on places for each transition mode.1. Transition Conditions.16. 3.16 Net: A general term used to describe all classes of Petri nets. and an Initial Marking of the net.1. 3.1. The demand is satisfied when the place’s marking contains (at least) the multiset of tokens indicated by the evaluated arc annotation.1.1.1 Net graph: A directed graph comprising a set of nodes of two different kinds. 3.1.3 Marking of a place: A multiset of tokens associated with (‘residing in’) the place. called arcs.e. 3.15.10 Concurrent Enabling (of transition modes): A multiset of transition modes is concurrently enabled if all the involved input places contain enough tokens to satisfy the sum of all of the demands imposed on them by each input arc annotation evaluated for each transition mode in the multiset.

1. 3. one called places and the other called transitions.) 3. 3.1.1.16. and any simplifications performed (such as gathering like terms to obtain the symbolic sum representation of a multiset).23. 3. 3. 3. (This set can describe an arbitrarily complex data structure.24.1.22 Signature/Many-sorted signature: A mathematical structure comprising a set of sorts and a set of operators.20 Place: A node of a net.23.19 Parameterized High-level Net Graph: A high-level net graph that contains parameters in its definition. and named after their inventor.1. and one of the constants is ØÖÙ ÓÓÐ corresponding to the value true in the algebra.23 Sort: A symbol representing the name of a set.1.1.1. 3. 3.1. 3.22. 9 .1 Argument sort: The sort of an argument of an operator.25 Token: A data item associated with a place and chosen from the place’s type.2 Input sort: The same as an argument sort.1 Closed term: A term comprising constants and operators but no variables.4 Place/Transition Net: A Petri net comprising a net graph with positive integers associated with arcs and an initial marking function which associates a natural number of simple tokens (‘black dots’) with places. normally represented by an ellipse in the net graph. It is instantiated as a constant. 3.1.1. where the nodes correspond to reachable markings.20.16. variables and operators built from a signature and a set of sorted variables.2 Output Place (of a transition): A place connected to the transition by an output arc. 3. A place is typed.1.3. Carl Adam Petri.1.4 Range sort: The same as an output sort. 3.1 Boolean signature: A signature where one of the sorts is ÓÓÐ.1.23.3 Petri Net: An algebraic structure with two sets.1.21 Reachability Graph: A directed graph of nodes and edges.1. 3.23.1 Enabling Tokens: The multiset of values obtained when an input arc annotation is evaluated for a particular binding to variables. 3.1. taken from the place kind.1.18 Parameter: A symbol that can take a range of values defined by a set.3 Output sort: The sort of an output of an operator.1. and the edges correspond to transition occurrences.20.25. 3. the computation of the results of the associated functions.2 Term evaluation: The result obtained after the binding of variables in the term.17 Operator: A symbol representing the name of a function. 3. 3. 3. 3.3 Place Type: A non-empty set of data items associated with a place.24. 3.1. 3.1 Input Place (of a transition): A place connected to the transition by an input arc.20. corresponding to the carrier Boolean in any associated algebra.24 Term: An expression comprising constants. together with their associated relations and functions.1.1.

On the occurrence of the transition. and the annotations of arcs surrounding the transition. 3.1.1. multisets and universal algebra defined in Annex A. 3.1 Transition condition: A boolean expression (one that evaluates to true or false) associated with a transition. and represented by a rectangle in the net graph. NOTE: A place may be both an input place and an output place of the same transition.1. and used in Place/Transition nets (as opposed to high-level nets).26. and 2.4 PN: Petri Net.2. For each input place of the transition: the enabling tokens of the input arc with respect to that mode are subtracted from the input place’s marking.2 Simple Token: A valueless token. taken from the transition kind.26 Transition: A node of a net.2.2 Abbreviations 3.2.1. 3.5 PNG: Petri Net Graph.26.26.1.27 Type: A set. 3. The notion of multisets is required for clauses 10 .1.2. (using the ‘·’ symbol).3 HLPNS: High-level Petri Net Schema.1 HLPN: High-level Petri Net. 4 Conventions and Notation This International Standard uses the notation for sets. These are the transition condition.26.3 Transition occurrence (Transition rule): If a transition is enabled in a mode. Annex A also defines the concept of multiset addition. the following actions occur indivisibly: 1. normally represented by a black dot. 3.2.25.2 HLPNG: High-level Petri Net Graph. a mode may be derived from an assignment of values to the transition’s variables that satisfies the transition condition.1. 3. For each output place of the transition: the multiset of tokens of the evaluated output arc expression is added to the marking of the output place. which should not be confused with arithmetic addition. 3.5 Transition Variables: All the variables that occur in the expressions associated with the transition.2.26. 3. 3. it may occur in that mode. 3.1.4 Step: The simultaneous occurrence of a multiset of transition modes that are concurrently enabled in a marking.1. When considering a High-level Petri Net Graph.2 Transition mode: A pair comprising the transition and a mode. 3.3. 3.1 Mode: a value taken from the transition’s type.26. 3.

5. with corresponding multiplicities of zero and one. This notation is defined in clause 5.   is a function used to assign types to places and to determine ¯ È Ö È Ó×Ø Ì Ê ÆË   ÈÄ ÈÄ are the pre and post mappings with Ì Ê ÆË ´Ø ѵ Ø ¾ Ì Ñ ¾ Ì ÝÔ ´Øµ ´Ô µ Ô ¾ È ¾ Ì ÝÔ ´Ôµ ¯ Å ¾ ÈÄ ¼ is a multiset called the initial marking of the net.5. In high-level nets. Ì .1 Definition A HLPN is a structure ÀÄÈ Æ ´È Ì Ì ÝÔ È Ö È Ó×Ø Å¼ µ where ¯ È is a finite set of elements called Places. sorted variables and many-sorted algebras provided in Annex A is required for clauses 7 and 9 and Annexes B and C. 6. An understanding of many-sorted signatures. this is interpreted as the corresponding singleton multiset over the place’s type. 7. Wherever possible standard mathematical notation has been used. which may be a subset of the associated place’s type. is the set of multisets over the set. and similar notation is used in clause 7. The graphical notation used in clause 6 is that defined in clause 8. This is interpreted as a multiset over the place’s type. A similar convention applies when an arc expression evaluates to a set. 8 and 9. Å Ì Å ¼ is used to denote that a new marking. when in the marking Å . 5 Semantic Model for High-level Petri Nets This clause provides the basic semantic model for High-level Petri Nets (HLPN). This is necessary as an arc annotation when evaluated must be a multiset over the associated place’s type.2). if an arc expression evaluates to an element of the place’s type. Å ¼ . An instance of notation specific to Petri nets is when a marking of the net is transformed to a new marking. is called a ¯ Ì ÝÔ È Ì transition modes. È Ä 11 (see Annex A. section A. is created on the occurrence of a multiset of transition modes. The evaluation of the arc expression is thus an element of the place’s type. ¯ Ì is a finite set of elements called Transitions disjoint from È (È Ì ). ¯ is a non-empty finite set of non-empty domains where each element of type. NOTE: ÈÄ . By convention. an arc may be annotated by a variable or constant (or combination) of the same type as the arc’s place.

there are enough tokens on the input places to satisfy the linear combination of the pre maps for each transition mode in Ì . ØÖ ¾ Ì Ê ÆË .e. is enabled at a marking Å iff È Ö ´Ì µ Å where the linear extension of È Ö is given by È Ö ´Ì µ ØÖ¾Ì Ê ÆË Ì ´ØÖµÈ Ö ´ØÖµ All transition modes in Ì are said to be concurrently enabled if Ì is enabled.3 Enabling of Transition Modes 5. then a step may occur resulting in a new marking Å ¼ given by ż A step is denoted by Å Å   È Ö ´Ì µ · È Ó×Ø´Ì µ Ì where the linear extension of È Ó×Ø is used. Ì ½. 12 . is enabled at a marking Å . Also if then this reduces to the definition in the previous subclause. 5. 5. This definition allows a transition mode to be concurrently enabled with itself. Å ¾ ÈÄ . NOTE: A step may comprise the occurrence of: a single transition mode. Ì Å ¼ or Å   Å ¼ .4 Transition Rule Given that a finite multiset of transition modes.5. is enabled at a marking Å iff È Ö ´ØÖµ Å 5. or any number of concurrently enabled transition modes.2 Concurrent Enabling of Transition Modes A finite multiset of transition modes.1 Enabling of a Single Transition Mode A transition mode. i. Ì ¾ Ì Ê ÆË .2 Marking of HLPN A Marking of the HLPN is a multiset.3.3. Ì .

13 .g.g.g.. typing of variables. ´Üµ). These are non-empty sets. When an arc’s expression is evaluated. Readers interested in a tutorial exposition on High-level Petri Net Graphs are referred to Annex D. The basic semantic model is not what is used by practitioners. variables (e. NOTE: A collection of items which allows repetitions is known in mathematics as a multiset. called places and transitions.2 High-level Petri Net Graph Components A High-level Petri Net Graph (HLPNG) comprises: ¯ ¯ ¯ ¯ A Net Graph. This approach is taken. Ü ¯ ¯ Ý ) inscribing a transition. 6. Transition Condition: A boolean expression (e. Declarations: comprising definitions of place types. High-level Petri Nets are normally represented using a graphical form which allows visualisation of system dynamics (flows of data and control). The concepts of enabling and transition rule are also introduced for the graphical form to demonstrate how the net may be executed to show system dynamics.6 Concepts Required for High-level Petri Net Graphs 6. and arcs connecting places to transitions. A collection of elements (data items) chosen from the place’s type and associated with the place.. Arc Annotations: Arcs are inscribed with expressions which may comprise constants. Place Marking. and function definitions. Place Types. It provides a graphical notation for places and transitions and their relationships.. The variables are typed. and determines the inscriptions of the graphical elements. This clause introduces the concepts that are needed in the definition of the High-level Petri Net Graph. Clause 5 provides the definition of the basic mathematical semantic model. consisting of sets of nodes of two different kinds.1 Introduction High-level Petri Nets can be defined in a number of ways. The expressions are evaluated by assigning values to each of the variables. as it is the graphical form of HLPNs that is most appropriate for industrial use. One type is associated with each place. it must result in a collection of items taken from the type of the arc’s place. The graphical form is referred to as a High-level Petri Net Graph (HLPNG). The collection may have repetitions. Repetition of items is allowed. and transitions to places. Ü Ý ) and function images (e. The items associated with places are called tokens.

This can illustrate flow of control and flow of data within the same model.4.3. For each input place of the transition: the enabling tokens of the input arc with respect to that mode are subtracted from the input place’s marking. and 14 . An arc that leads from a transition to a place (an output place of the transition) is called an output arc of the transition. If a transition is enabled in a mode. An arc that leads from an input place to a transition is called an input arc of the transition. A transition is also enabled in a particular transition mode. with respect to that mode. 6. 6. and tokens are added to its output places. The transition’s variables are all those variables that occur in the expressions associated with the transition. When a transition occurs. Enabling a transition involves the marking of its input places.2 Transition Rule for a Single Transition Mode Enabled transitions can occur. Two transition modes are concurrently enabled for a particular marking. that satisfies the transition condition (i. An example is given in subclause 6.3 Net Execution HLPNGs are executable. The input arc’s multiset of tokens resulting from the evaluation of the input arc’s expression in a specific mode is called the input arc’s enabling tokens. Each input arc expression is evaluated for the transition mode. A transition is enabled in a specific mode. then the transition is enabled in that mode. each input place’s marking contains at least the sum of the enabling tokens (with respect to both modes) of each input arc associated with that input place. On the occurrence of the transition in a specific mode.6. An output place of a transition is a place which is connected to the transition by an arc directed from the transition to the place. tokens are removed from its input places.e.. for a particular net marking. resulting in a multiset of tokens of the same type as that of the input place. if for the associated transitions. An input place of a transition is a place which is connected to the transition by an arc leading from that place to the transition. Key concepts governing this execution are enabling of transitions and the occurrence of transitions defined by the Transition Rule. it may occur in that mode. the transition condition is true). A transition mode is an assignment of values to the transition’s variables.1 Enabling A transition is enabled with respect to a net marking.3. If each input place’s marking contains at least its input arc’s multiset of tokens (resulting from the evaluation of the input arc’s expression in the specific mode). the following actions occur atomically: 1. allowing the flow of tokens around the net to be visualised. and the annotations of arcs involving the transition. A net marking comprises the set of all place markings of the net. These are the transition condition.

5. 2. The transition is inscribed with the boolean expression x y. An example is given in subclause 6. The declarations define two types. one transition. Place p2 is typed by . that is in one atomic action.4.p2) is annotated with y. where the less than operator is defined in the declarations.4. 6. and variable y is of type . and arcs from p1 to t1. The places are represented by ellipses (in this case. Arc (p1. y: B ¢ ÓÓÐ Ò arithmetic ‘less than’ Figure 1: HLPNG with a Transition Condition. and t1 to p2. Variable x is of type . this is interpreted as the corresponding singleton multiset over the place’s type. This example comprises two places. using the sum representation of multisets of clause A. that are different subsets of the positive integers. and is empty representing the empty multiset.4 Graphical Concepts and Notation The graphical representation of the net graph is introduced by the simple example of a HLPNG given in figure 1. the value associated with 15 . The change to the marking of the net when a step occurs is given by the sum of all the changes that occur for each transition mode. For each output place of the transition: the multiset of tokens. resulting from the evaluation of the output arc expression for the mode.1.A B x x<y t1 y p2 ½ ½·¾ ¿ p1 A = 1. is that arcs may be annotated by variables or constants of the same type as the arc’s place.2. while arc (t1. and . Place p1 is typed by and has an initial marking Å ¼ (p1) ½ ½ · ¾ ¿.3. is added to the marking of the output place. For example. named p1 and p2. a square). circles). By convention. and y bound to ¿. for x bound to ½. NOTE: A place may be both an input place and an output place of the same transition. The evaluation of the arc expression is thus an element of the place’s type.3 Step of Concurrently Enabled Transition Modes Several concurrently enabled transition modes may occur in one step.4 B = 3. t1.7 x: A. and the arcs by arrows. the transition by a rectangle (in this example.2. ż (p2) . 6. as described above.t1) is annotated with the variable x.3. A convention adopted in high-level nets. This states that associated with the place p1 are the value ½ and two instances of the value ¿.

Where there is any possibility of ambiguity. more formally. The marking of place Wait is given by the set .g. writing). is concurrently enabled.arc (p1. (That is the separator ‘ ’ is dropped where there is no ambiguity. then a single token is removed from Control (as m=e is false..p2) is ¿. which could then be executed. For example. and similarly the value associated with arc (t1. where each of the multiplicities of the agents is one. interpreted as ½ ¯) when Enter occurs in a single mode. rather than x. reading). Another example of the concurrent enabling of modes is the multiset ½ ´½ µ · ½ ´¿ µ and yet another is ½ ´½ µ · ½ ´¿ µ · ½ ´¿ µ. the annotation on the arc (p1. then the resultant marking would be: Alternatively.) An agent can obtain access in one of two modes: if shared (m=s). In this example. t1 can be enabled in the following modes ´½ ¿µ ´½ µ ´½ µ ´½ µ ´¿ µ ´¿ µ ´¿ µ where the first element of each pair represents a binding for x. if the multiset of modes marking would be ½ ´½ ¿µ · ¾ ´¿ µ occurred concurrently. which is interpreted to be a multiset over .t1) is ½. the initial markings are given in the declaration. Place Wait is marked with all agents. In a similar convention.g. the multiset conversion operator ‘ ’ should be used. if exclusive (m=e). both of which are positive integers. L and N. a binding for y which satisfies x y. µ. ½ ´½ ¿µ · ¾ ´¿ µ. and thus the arc expression evaluates to ¯. It has been assumed that the initial state is when all the agents are waiting to gain access to the shared resource (with no queueing discipline assumed).5 Conditionals in Arc Expressions. the Control place contains L simple tokens (represented by a black dot ¯) and Access is empty. and Parameters The HLPNG of figure 2 uses a variant of the readers/writers problem to illustrate many of the features of a HLPNG including the use of parameters and conditionals in arc expressions. the resultant Å (p1) Å (p2) ½ ¿ · ¾ . which is interpreted to mean the multiset ½ ½. which represents infinitely many readers/writers systems. where up to L agents may have access at the same time (e. which is interpreted as the multiset L ¯. and m e ¼.. A HLPNG model of figure 2 illustrates the use of two parameters. Access can be in one of two modes: shared (s). Shared 16 . It can be seen that the multiset of modes. In the initial marking. the marking of Control is given by L¯. where only one agent may have access (e. then all L tokens are removed preventing further access until the resource is released (transition Leave). If transition t1 occurred in mode ½ ´¿ Å (p1) ½ ½ · ½ ¿ Å (p2) ½ . and exclusive (e). This is therefore a parameterized HLPNG. 6. and the second. which is interpreted to mean the multiset ½ ¿. A number (N) of agents (processes) wish to access a shared resource (such as a file). Each instantiation of N and L would produce a HLPNG.t1) would be ½ x. No assumptions are made regarding scheduling.

17 .e Control: C = ¯ Positive integer constants: N. L Variables x: A. m: M Function ÓÓÐ ¼ ½ where ØÖÙ ½ and Ð× ¼ ż ´Waitµ A ż ´Controlµ L¯ ż ´Accessµ Figure 2: HLPNG of Resource Management.m) A¢M ¯· m e ´L ½µ¯ C Control Access x (x.Enter x A Wait (x.m) ¯· m e ´L ½µ¯ Leave Set of Agents:A = a½ aÆ Set of Access Modes: M = s.

Ì ÊÅ ´Ç Î µ « and ΠЫ are 18 . 7 Definition of High-level Petri Net Graphs 7. with È a finite set of nodes. known as the flow – relation. ´ËÀ ÇÀ µ is a many-sorted algebra for the signature Ë È ËÀ is a function which assigns types to places. defined in Annex A. integer subtraction. is a function that annotates each arc with a term that when evaluated (for any binding) results in a multiset over the associated place’s type. It is assumed that multiset addition. Ì ÊÅ ´Ç Î µ such that for all ´Ô ص ´Ø¼ Ôµ ¾ . ). disjoint from Ç. ´ Ì µ is a pair of net annotations. ¯ ¯ ¯ ¯ ¯ Ë À Ì ÝÔ Æ – ´Ë ǵ is a Boolean signature defined in Annex A. the equality predicate and a tupling operator are primitive and do not need to be defined in the declaration. for all bindings « ΠЫ ´ ´Ô صµ ΠЫ ´ ´Ø¼ Ôµµ ¾ Ì ÝÔ ´Ôµ. 7. enabling and transition rule are also formally defined for the graphical form. and – Ì a finite set of nodes.2 Definition A HLPNG is a structure ÀÄÈÆ where ´Æ Ë Î À Ì ÝÔ Æ Å¼ µ ¯Æ – ´È Ì µ is called a net graph. called Places. defined in Annex A. called Transitions. It provides an abstract mathematical syntax for inscribing the graphical elements. Outfix notation has been used for the function ÓÓÐ ¼ ½ . Î is an Ë -indexed set of variables.access is limited to a maximum of L agents as transition Enter is disabled when Control is empty. The concepts of marking.1 Introduction This clause provides a formal definition for the graphical form of high-level nets. disjoint from È (È Ì ´È ¢ Ì µ ´Ì ¢ È µ a set of directed edges called arcs. . This is the notation for conditionals in arc expressions.

so that Ü ). markings become (appropriately sorted) ground terms of the signature. allows terms which evaluate to multisets over subtypes of the place’s type to be used in the annotations. the places become Ë -sorted. Transitions are annotated by Boolean terms. this allows there to be multiterms and conditionals in arc expressions. a sort (rather than a type) is associated with each place. À . The annotations are derived from a many sorted signature. or a powerset. i. NOTE 3: The carriers (sets) of the algebra may be arbitrarily complex. defined in the algebra (e. is removed. À . Å ´Ôµ ¾ Ì ÝÔ ´Ôµ. À×¾ À×½ . 19 . a set of sorted variables. Terms are built from the signature and variables. Arcs are annotated by terms. A place can only hold tokens of the same type as the place and hence the initial marking is a multiset over the place’s type.g. A typing function associates a set of the many-sorted algebra with each place. This leads us to the notion of a HLPN schema which is included in informative Annex C and may be considered for future standardisation. may be typed by a set of multisets. Ì ÝÔ ´Ôµ such that Ô ¾ È . Also. for example. of the HLPNG is defined in the same way as the initial marking. The schemas are also useful for analysis (see bibliography).. There is also a need for a more abstract or syntactic form that allows classes of systems to be specified. and others will need a multiset addition operator (and its counterpart in the algebra). and may be related. where is the basis set. Many applications will require the definition of an operator which will convert (in the algebra) an element of a set to a singleton multiset. NOTE 2: The evaluation of an arc term may result in an empty multiset.e. 7. which must evaluate to a multiset over the associated place’s type. known as its type.– Ì Ì Ì ÊÅ ´Ç Î µ Ô¾È expressions. This type is a carrier (set) of the many-sorted algebra. a type has been intentionally associated with each place. by defining the appropriate signature (operators and sorts) and sorted variables.. For example. ÓÓÐ is a function that annotates transitions with Boolean ¯Å È ¼ Ë function which associates a multiset of tokens (of the correct type) which each place.3 Marking A marking. ż ´Ôµ ¾ Ì ÝÔ ´Ôµ. NOTE 5: In defining HLPNGs. This allows us to specify concrete systems where the sets and functions have already been determined. NOTE 4: The restriction on the arc annotations (evaluating to a multiset over the place’s type). The approach provides a great deal of flexibility in defining the syntax required for arc inscriptions. Ü× . and the many-sorted algebra. Å È Ë Ô¾È Ì ÝÔ ´Ôµ such that for all Ô ¾ È . In this case. is the initial marking A HLPNG comprises an annotated net graph. NOTE 1: Arbitrarily complex terms can be generated for the arc inscriptions. the terms for arc annotations are of the same sort as that associated with the arc’s place. and an associated many sorted algebra. Å . a variable. À× .

1 Enabling of a Single Transition Mode A transition Ø ¾ Ì is enabled in a marking. so that . of transition modes is enabled in a marking. for ´Ù Úµ ¾ where ΠЫ ´¨µ ¨ is a symbol that represents the empty multiset at the level of the signature. Å . Define the set of all transition modes to be ÌÅ A step ´Ø «Øµ Ø ¾ Ì «Ø ¾ ×× ÒØ and a step to be a finite non-empty multiset over Ì Å . to its variables. Ø may occur in mode «Ø . if is enabled. according to the following rule: Ô¾È Å ¼ ´Ôµ Å ´Ôµ   Î Ð«Ø ´Ô ص · Î Ð«Ø ´Ø Ôµ 20 . iff Ô¾È ´ Ø «Ø µ¾ Î Ð«Ø ´Ô ص Å ´Ôµ Thus all of the transition modes in are concurrently enabled. that satisfies the transition condition.4 Enabling 7. by ×× ÒØ . for ´Ù Úµ ¾ ¯ Ù Ú ¨. When Ø occurs in mode «Ø . denoted Å Ø «Ø Å ¼ .5 Transition Rule If Ø ¾ Ì is enabled in mode «Ø .4.4. Å . 7. iff Ô¾È where for ´Ù Î Ð«Ø ´Ô ص Å ´Ôµ Ú µ ¾ ´È ¢ Ì µ ´Ì ¢ È µ. known as a mode of Ø. the marking of the net is transformed to a new marking Å ¼ . Î Ð ÓÓÐ ´Ì ´Øµµ ØÖÙ .7. for a particular assignment. then the sum is reduced to a single term so that the enabling condition is the same as that of the previous subclause. « Ø .2 Concurrent Enabling of Transition Modes Let «Ø be an assignment for the variables of transition Ø ¾ Ì which satisfies its transition condition and denote the set of all assignments (which satisfy its transition condition) for transition Ø. If comprises a single transition mode. ¯ Ù Ú ´Ù Úµ. for marking Å . 7. .

and a Declaration. the Transition Condition. ż ´Ôµ. The declaration may also include the initial marking and the typing function if these cannot be inscribed on the graph part due to lack of space. where Å ¼ is given by denoted Å Ô¾È Å ¼ ´Ôµ Å ´Ôµ   ´ Ø «Ø µ¾ Î Ð«Ø ´Ô ص · ´ Ø «Ø µ¾ Î Ð«Ø ´Ø Ôµ 8 Notation for High-level Petri Net Graphs 8. then it may be omitted. it may be omitted. Three annotations are associated with a place Ô: ­ ¯ ¯ ¯ the place name.3 Transitions A transition is represented by a rectangle and is annotated by a name and a boolean expression. 8.If a step is enabled in marking Å . then the step can occur resulting in a new marking.2 Places Places are represented by ellipses (often circles).1 General The graphical form comprises two parts: a Graph which represents the net elements graphically and carries textual inscriptions. defining all the types. If the Transition Condition is true (Ì ´Øµ ØÖÙ ). 8. the name of the type (Ì ÝÔ the initial marking. ´Ôµ) associated with the place. Å ¼ . For example. colour and patterns of the lines used to draw the graph are not mandated by this standard. The width. For example. constants and functions that are used to annotate the Graph part. and A mechanism must be provided to remove any ambiguity regarding the association of these annotations with the correct place. The position of the annotations with respect to places is not mandated. and the type and initial marking outside. 21 . There needs to be a visual association between an inscription and the net element to which it belongs. or the name of the place could be included inside the ellipse. If the initial marking is empty. and its name and type outside. the initial marking could be shown inside the ellipse. variables. Å ¼ .

The notation for terms is not mandated by this International Standard.3. and the operator less than. Let ÎØ Î be the set of variables associated with transition Ø. Set of Types: The set of modes for a transition is determined by the types of the variables occurring in the surrounding arc annotations restricted by its transition condition. A Marking of the net may be shown graphically by annotating a place with its multiset of tokens Å ´Ôµ using the symbolic sum representation (see clause A. If ´Ô ص and ´Ø Ôµ have the same annotations (Ô is a side place of Ø). then Ì ÝÔ ´Øµ «Ø Î Ð ÓÓÐ «Ø ´Ì ´Øµµ ØÖÙ The types of places are obtained directly from the HLPN graph definition. ´Ô ص ´Ø Ôµ. where both the types of the variables. and the transition condition outside. Define « Ø as an assignment for À and ÎØ (cf A. x and y. and a transition condition. A mechanism must be provided to remove any ambiguity regarding the association of these annotations with the correct transition. the transition condition could be shown inside the rectangle (as in the example).1). 2. but usual mathematical conventions should be adopted where possible. are defined in the declarations.4 Arcs For ´Ô ص ¾ .x y t1 represents a transition with a name t1. 8. An arc is represented by an arrow:   8. 3. or the name of the transition could be included inside the rectangle. Places: È is the set of places in the HLPN.6).2. x y. Thus the set Ì ÝÔ ´Üµ Ü ¾ È Ì . and its name outside.5 Markings and Tokens A token is a member of Ô¾È Ì ÝÔ ´Ôµ. an arrow is drawn from place Ô to transition Ø and vice versa for ´Ø Ôµ ¾ . For example. then this may be shown by a single arc with an arrowhead at both ends and annotated by a single inscription. Ë 9 Semantics of High-level Petri Net Graphs The HLPNG may be given an interpretation as a HLPN (see clause 5) in the following way. 1. of domains is given by 22 . The position of the annotations with respect to transitions is not mandated. . Arcs are annotated with terms. Transitions: Ì is the set of transitions in the HLPN.

This has the following consequences. The initial marking determines the number of black dots allocated to each place initially. The Typing Function: The typing function restricted to places is defined in the HLPNG and Ì ÝÔ ´Øµ is given above. È Ó×Ø´Ô Øµ ´Ñµ . ¾ and Ñ ¾ Î Ð«Ø Ñ´ ´Ô صµ and È Ó×Ø Ô Ø ´Ñµ Î Ð«Ø Ñ ´ ´Ø Ôµµ ´ µ For all Ô ¾ È . by providing a mapping from the implementation’s syntax to the semantic model in a similar way to that defined in clause 9. there is only one token represented by a black dot).4. Initial Marking.1 PN Conformance 10. the lowest conformance level is to the semantics. for all mappings: ´Ô ص ´Ø Ôµ ¾ . The lowest level is for the Place/Transition net class and the highest at the level of the HLPNG.. 23 . ÆË and Ì . then the next level is with respect to syntax. 10. Thus for all Ø ¾ Ì and for all Ñ ¾ Ì ÝÔ ´Øµ È Ö ´Ø ѵ ´Ô µ Ô ¾ È ¾ È Ö ´Ô ص ´Ñµ È Ó×Ø´Ø Ñµ ´Ô µ Ô ¾ È ¾ È Ó×Ø´Ô Øµ ´Ñµ where È Ö ´Ô ص ´Ñµ 6. Each place is typed by and È . Within a class. The definition of the semantic model (clause 5). by the following family of È Ö ´Ô ص Ì ÝÔ ´Øµ   Ì ÝÔ ´Ôµ È Ó×Ø´Ô Øµ Ì ÝÔ ´Øµ   Ì ÝÔ ´Ôµ For ´Ô ص ¾ and Ñ ¾ Ì ÝÔ ´Øµ.1 Level 1 To claim PN Level 1 conformance to this International Standard an implementation shall demonstrate that it has the semantics defined in clause 5. such as ¯ . ¯ (i. 10 Conformance Conformance to this International Standard is according to net class. È Ö ´Ô ص ´Ñµ and for ´Ø Ôµ Ì ÝÔ ´Øµ. Pre and Post Maps. The pre and post maps are given.e. ¯ ¯ ¯ ¯ ¯ There is a one to one mapping between È Ä There is a one to one mapping between Ì Ê Each transition has a single mode. ż ´Ôµ is as defined in the HLPNG. will be specialised by the restriction that consists of one set with one element. 5. If the semantics are adhered to.1.

section B. 10. as these are trivial.e.1.10.2.2 Level 2 To claim HLPN Level 2 conformance to this International Standard an implementation shall have satisfied the requirements of HLPN Level 1 conformance and in addition shall include the syntax of the HLPNG defined in clause 7 and the notational conventions of clause 8. i.1 Level 1 To claim HLPN Level 1 conformance to this International Standard an implementation shall demonstrate that it has the semantics defined in clause 5.2.1 and the relevant notational conventions of clause 8. there is no need for place typing..2 Level 2 To claim PN Level 2 conformance to this International Standard an implementation shall have satisfied the requirements of PN Level 1 conformance and in addition shall include the syntax of the PNG defined in Annex B.2 HLPN Conformance 10. by providing a mapping from the implementation’s syntax to the semantic model in a similar way to that defined in clause 9. nor a declaration. 24 . 10.

. ¼.2 Membership Given a multiset. ´µ ¾ A. with each of the basis elements. The set of multisets over is denoted by . and 25 .  ½ ¼ ½ ÓÓÐ Ò A. is given by ´ µ.1 Sets Æ Æ· ¼½ the natural numbers. A. ØÖÙ Ð× Multisets .2. functions and relations. the positive integers. possibly zero.   Æ which associates a multiplicity. is a function A multiset. A.2 the integers. see the book by Truss in the Bibliography. where the multiplicity of each of the basis elements is either zero or one. A set is a special case of a multiset. NOTE: For notions of basic set theory including sets.Annex A (normative) Mathematical Conventions This annex defines the mathematical conventions required for the definition of High-level Petri Nets.2. The multiplicity of ¾ in . . if ´µ ¼. Æ Ò ¼ . (also known as a bag) over a non-empty basis set. then ¾ ¾ is a member of . denoted ¾ . conversely if ´ µ ¾ .1 Sum Representation A multiset may be represented as a symbolic sum of basis elements scaled by their multiplicities (sometimes known as co-efficients).

5 Multiset Equality and Comparison . ½´ µ ¾´ µ. A. ´µ ¾ When is finite. concepts from algebraic specification are required. ½´ µ ¾´ µ. ¾. to the left and are defined as follows: ½ · ¾ iff ¾ ´ µ ½´ µ · ¾´ µ ¾ ( ½´ µ ¾´ µµ ´ ´ µ ½´ µ   ½   ¾ iff Scalar multiplication of a multiset. terms and many-sorted algebras that are required for the definition of the HLPNG.2. Signatures provide a convenient way to characterise many-sorted algebras at a syntactic level. iff ¾ . is the ¾ .2. is defined as A. ½ ¾¾ ¾´ µµ . of a multiset . associate where ¢ is arithmetic multiplication.A.1 Signatures A many-sorted (or S-sorted) signature.2. by a natural number. Ò ½ « ¾ ½¾ ´ µ Ò ¢ ½´ µ .4 Cardinality and Finite Multiset Multiset cardinality is defined in the following way. arcs are annotated by terms and transitions by Boolean expressions. The cardinality sum of the multiplicities of each of the members of the multiset. ½ Two multisets. the multiset is called a finite multiset. ½ ¾ ¾ ½ is less than or equal to (or contained in) A. Ë . . ´ µ ¼.6 Multiset Operations The addition operation and subtraction partial operation on multisets.3 Empty Multiset The empty multiset. variables.3. Many-sorted signatures provide an appropriate mathematical framework for this representation. has no members: A. A. ½ ¾. In the HLPNG.3 Concepts from Algebraic Specification In order to define the HLPNG.2. iff ¾ . This clause introduces the concepts of signatures. are equal. ¾. is a pair: Ë where ´Ë ǵ 26 . Ò ¾ Æ .

in the following way.e. Ó ´ ×µ ¾ Ì ÊÅ ´Ç Î µ×. Arity is a function from the set of operator names to Ë £ ¢ Ë .g. clause A. A Boolean signature will also include the constant ØÖÙ ÓÓÐ .) For example. then an integer variable would be Ú´ ÁÒص or ÚÁÒØ . Terms of sort × ¾ Ë may be built from a signature Ë Î .3. where Ë £ is the set of finite sequences. Denote the set of terms of sort × by Ì ÊÅ ´Ç Î µ × . ÁÒØ for the integers). the sort of a constant may be . then Ó´ÁÒØ ÁÒØ ÓÓе represents a binary predicate symbol. Thus every operator in Ç is indexed by a pair ´ ×µ.3. and × the output or range sort of operator Ó.. if ½ ¾ Ì ÊÅ ´Ç Î µ×½ 3. The sort of a variable may also be declared in the same way as that of constants. It is assumed that Ë and Ç are disjoint. called an Ë -sorted set of variables. For example an integer constant is denoted by Ó ´ ÁÒص or simply ÓÁÒØ .. corresponding to the carrier Boolean in any associated algebra. if ÁÒØ ¾ Ë . and generate them inductively as follows. Ú ¾ Î× iff ×). is an operator. Ì ÊÅ ´Ç Î µ×Ò are Ò µ ¾ Ì ÊÅ ´Ç Î µ× Î× ×Ò ¾ Ë (Ò ¼). then Ó´×½ ×Ò ×µ ´ ½ 27 Ì ÊÅ ´Ç Î µ× . For example. where Î× denotes the set of variables of sort × (i.f. declared by letting A. . including the empty string.3.2 Variables Let Î be a set of sorted variables. (In the algebra. e.3 Boolean Signatures The term Boolean Signature is used to mean a many-sorted signature where one of the sorts is Bool. ¾ Ç. For × ¾ Ë 1. and ¯ Ç is a set of operators (the names of functions) together with their arity in Ë which specifies the names of the domain and co-domain of each of the operators.4 Terms built from a Signature and Variables ´Ë ǵ and an S-sorted set of variables. ¾ Ë £ and × ¾ Ë denoted by Ó´ ×µ. A. ¾ Ë £ is called the input or argument sorts.3. A. from the set of variable names to ¢ Ë.5. for all Ó´ ×µ 2.¯ Ë is a set of sorts (the names of sets. Î may be partitioned according to sorts. A variable in Î of sort × ¾ Ë would be denoted by Ú ´ ×µ or more simply by Ú× . over Ë . for ×½ Ò ¾ sorted terms and Ó´×½ ×Ò ×µ ¾ Ç . Using a standard convention. if Ë ÁÒØ ÓÓÐ . and . such as equality ( ) or less than ( ). the sequence of input sorts will define a cartesian product as the domain of the function corresponding to the operator and the output sort will define its co-domain – c.

3. À¾ It could also be ÓÓÐ Ò ØÖÙ Ð× ××Ø Ò Æ ¢ Æ ÓÓÐ Ò. Ì ÊÅ ´Ç Î µ A. also called ground terms). known as a carrier and for every operator Ó´×½ ×Ò ×µ ¾ Ç. then there is a corresponding element ÓÀ be considered as a function of arity zero. 28 . which may À where ËÀ ´ËÀ ÇÀ µ À× × ¾ Ë is the set of carriers. À× . integer constants and variables. there is a corresponding function ÓÀ À×½ ¢ ¢ À×Ò À× In case an operator is a constant. Ë -sorted variables are typed by the carrier corresponding to the sort. is a pair ¾ À×. À . À and Ë -sorted variables in Î . with for all × ¾ Ë À× and £ ÇÀ ÓÀ Ó´ ×µ ¾ Ç ¾ Ë Ò × ¾ Ë the set of corresponding functions. ´Æ ÓÓÐ Ò Ð ××Ø Òµ where Æ is the set of non-negative integers: ¼ ½ À and Î is a «× Î× 1 À× The terms binding and valuation are also used in this context. and operators (with appropriate arguments) of output sort ÁÒØ are terms of sort ÁÒØ. For every sort. NOTE: In the algebra. Definition: A many-sorted Algebra. Thus Thus if ÁÒØ is a sort. there is a corresponding set. if Ë ´ ÁÒØ ÓÓÐ ´ÁÒØ ÁÒØ ÓÓе µ then a corresponding many-sorted algebra would be where and Ð is the set of integers: À½ ÓÓÐ Ò ØÖÙ ××Ø Ò ¢ Ð× ´ ÓÓÐ Ò Ð ××Ø Òµ  ½ ¼ ½ ÓÓÐ Ò is the usual integer comparison function. Ó× . (or Ë -Algebra). provides an interpretation (meaning) for the signature Ë . and Ð A.5 Many-sorted Algebras ×¾Ë Ì ÊÅ ´Ç Î µ× A many-sorted algebra. × ¾ Ë . À .3.Let Ì ÊÅ ´Ç Î µ denote the set of all terms and Ì ÊÅ ´Ç µ the set of all closed terms (those not containing variables.6 Assignment and Evaluation Given an Ë -sorted algebra. an assignment 1 for family of functions «. comprising an assignment function for each sort × ¾ Ë . For example.

×× ×Ò . Î Ð× « ´Ú× µ «× ´Ú× µ. ¾ Ì ÊÅ ´Ç Î µ.This function may be extended to terms by defining the family of functions Î for each sort × ¾ Ë : Ð « comprising. Î Ð× «´Ó×µ ÓÀ ¾ À×. Ó× 2. For a constant. Ú× ¾ Î× . Î Ð× « Ì ÊÅ ´Ç Î µ× À× The values are determined inductively as follows. with × ×Ò ¾ Ë . and ¾ Ì ÊÅ ´Ç Î µ× Ó ×´ Ò ¾ Ì ÊÅ ´Ç Î µ×Ò . For a variable. then Î Ð× « ´ µ ÓÀ ´Î Ð× « ´ µ Î Ð×Ò « ´ Ò µµ ¾ À×. ¾ Ç. if Ò µ. 3. ½ ¾ ½ ½ ½ ´ µ ½ ½ ½ 29 . For × ¾ Ë 1. and For ¾ Ë £ Ò .

it can be seen to be in one to one correspondence with a more usual definition given below. is a special HLPNG ÈÆ where ´Æ Ë Î À Ì ÝÔ Æ Å¼ µ ¯ ¯ ¯ ¯ Æ Ë Î ´È Ì µ is a net graph ´Ë ǵ with Ë ÓØ ÓÓÐ Æ Ø . Æ ØÀ Æ . PNG. ´¯ ÓØ µÀ ¯. 30 . (By convention this is omitted from the graphical representation. Other subclasses may include Elementary Net systems and other high-level nets. ¯ Æ ´ Ì µ is a pair of net annotations. Although this is a rather baroque definition of Place/Transition nets.) Ì ØÖÙ ÓÓÐ is a function that annotates every transition with the Boolean ¯Å È ¼ ÓØ. Ç ¯ ÓØ ØÖÙ ÓÓÐ ½Æ Ø ¾Æ Ø À ´ ÓØ ÓÓÐ Ò Æ ¯ ØÖÙ ½ ¾ µ a many-sorted algebra for the signature Ë .1 Place/Transition nets A Place/Transition net graph (without capacity).Annex B (normative) Net Classes The purpose of this Annex is to define various classes of nets as a subclass of the HLPNG. Currently it defines Place/Transition nets (without capacities) which is a common form of Petri nets where tokens are simply ‘black dots’. ´½Æ Ø µÀ ½ etc. – where ½Æ Ø ¯ ÓØ ¾Æ د ÓØ – Ì constant ØÖÙ . ÓÓÐÀ ÓÓÐ Ò.). where ÓØ ¯ and the obvious correspondences are made ( ÓØÀ ÓØ. ¯ Ì ÝÔ È ÓØ is a function which assigns the type ÓØ to all places. ÈÆ where ´Æ Ï Å µ ¼ ¯Æ ´È Ì µ is a net graph. B. ´ØÖÙ ÓÓÐ µÀ ØÖÙ .

assigning a positive integer to each arc. ¯ Å È Æ is the initial marking assigning a natural number of tokens to each place. and hence doesn’t need to be considered. and given by a single value ¯. 31 . are in one to one correspondence with the positive integers. the type of each place is the same. · ¼ This is because: ¯ ¯ ¯ the transition condition is true for each transition. and hence there is no need for typing places. the number of dots (¯) associated with each place (marking) are in one to one correspondence with the Naturals. and the number of dots (¯) associated with each arc (Weight function).¯Ï Æ is the weight function. These are represented by dots (¯).

– ´ Ì µ is a pair of net annotations. It provides an abstract mathematical syntax for inscribing the graphical elements. Ì ÊÅ ´Ç Î µ is defined in Annex A.1 Introduction This clause provides a formal definition for a high-level net schema. C. disjoint from È (È Ì ´È ¢ Ì µ ´Ì ¢ È µ a set of directed edges called arcs. Î is an Ë -indexed set of variables. ´Ô ص ´Ø¼ Ôµ ¾ Ì ÊÅ ´Ç Î µËÓÖØ Ô . ¯ ¯ ¯ ¯ Ë ´Ë ǵ is a Boolean signature defined in Annex A. Ѽ ´Ôµ ¾ Ì ÊÅ ´ÇµËÓÖØ´Ôµ . and allows classes of systems to be specified an an abstract level. Ì ÊÅ ´Ç Î µ such that for all ´Ô ص ´Ø¼ Ôµ ¾ . ÓÓÐ is a function that annotates transitions with Boolean ¯Ñ È Ì ÊÅ ´Çµ such that Ô ¾ È .2 Definition HLPNS is a structure given by ÀÄÈÆË ´Æ Ë Î ËÓÖØ Ò Ñ µ ¼ where ¯Æ – ´È Ì µ is a net graph. is the initial ¼ marking function which associates a ground term which each place. is a function that ´ µ Ì Ì Ì ÊÅ ´Ç Î µ terms. Ë is a function which assigns sorts to places. called Places. The ground term has the same sort as the place. 32 . and – Ì a finite set of nodes. known as the flow – relation. called Transitions.Annex C (informative) High-level Petri Net Schema C. with È a finite set of nodes. ). disjoint from Ç. ËÓÖØ È Ò – annotates each arc with a term of the same sort as that of the associated place.

e.1 Places and Tokens The objects of the system are modelled by (arbitrarily complex) data items called tokens. A discrete event system comprises ¯ ¯ collections of real or abstract objects and discrete actions which . an action is modelled by a transition. Arrows. the collection of coins in someone’s purse.1: Graphic conventions.. Arcs never connect a place with a place nor a transition with a transition. Tokens reside in places. irrespective of varying contents. The contents (i. It is assumed that the collections considered have some permanent identity. Generally. called arcs. The created objects may be related to objects that are consumed. Places and transitions are called the nodes of a net graph. which is graphically represented by a circle or an ellipse. which is graphically represented by a rectangle. show which places a transition operates on. place arc transition Figure D. D.modify or consume objects from some collections and .2 Net Graphs In HLPNGs.create objects in other collections. several instances of the same object can be contained in a collection. Each arc connects a place and a transition in one direction. The 33 .1. or a data base.2. for example.Annex D (informative) Tutorial D. D.1 Introduction High level Petri net graphs (HLPNGs) are used to model discrete event systems. Take. The graphical representations of components of a net graph are shown in figure D. A collection is modelled by a place. the tokens) of a place is called the marking of the place.

In this example. 50c 10c 1c 10c 50c 1c 10c Coins AlicesPurse Coins = 1c. As a place can be marked with a large number of tokens. several instances of the same token can reside in the place.2: Example A. This means that only coins (belonging to Coins) can reside in Alice’s purse. If there was no separator. The set of coins is defined in a textual part of the HLPNG called the Declarations. 2c. in some currencies there may be both a 5c and a 25c coin. A marking of a net consists of the markings of each place. is separated from the value of the coin by a backprime ( ). any number of times.tokens form a collection (known in mathematics as a multiset). D.e. three 10 cent and two 50 cent coins.2 consists of a single place. each place is defined with a special marking. The number of each of the coins in the purse. called the initial marking. because other markings will usually evolve. For example. 10c. AlicesPurse. 34 . the notation 25c would be ambiguous. Example A in figure D. the tokens correspond to coins. ż (AlicesPurse) = 2 1c + 3 10c + 2 50c and the net graph is then drawn (admittedly in a less illustrative way) without tokens. Coins. Thus.2 Transitions Example B in figure D. As no actions are modelled. i. to avoid any confusion (for example when the values are themselves integers). When a particular instance of a HLPNG is defined. It has neither transitions nor arcs. nothing ever happens and nothing ever changes in this system.2. The place. 5c. even though it has neither places nor arcs. which models that Alice’s purse contains two 1 cent.. Alice’s present coin collection can be written as the initial marking. Example A is a net graph. Transition Drip can always happen. We need to distinguish between two 5c coins and a 25c coin.3 models the dripping of a tap.3: Example B. Example B is also a net. Drip Figure D. 50c Figure D. 20c. the initial marking may be declared textually instead of pictorially. is typed by the set. AlicesPurse. once a net is executed.

a ten cent and a fifty cent coin.4 The Net Graph The size and position of the nodes. Example C. and F denotes the set of arcs. i. Formally this can be expressed as: P T F AlicesPurse Spend (AlicesPurse. Arc annotations determine the kinds and numbers of tokens that are produced or consumed.. 2c.D. In figure D. It only shows what happens to Bob’s purse as a consequence of an arbitrary number of occurrences of Receive. D. Informally. Each arc is thus described as the pair consisting of its origin node and its target node. Transition.2. 5c. Alice has a smaller coin collection comprising one ten cent and two fifty cent coins. Coins AlicesPurse x Spend Coins 1c. and all her coins in one transaction.3 Transition Conditions Example D in figure D. the annotation x indicates that any coin (from Alice’s purse) can be spent. 35 . and one arc from AlicesPurse to Spend. Flussrelation. as well as the size and shape of the arcs. She may spend any number of coins at a time. one might say. Spend) Traditionally. Spend.4. the net graph.4: Example C. T denotes the set of transitions. Here. Example D does not model where the coins may come from. that is by the occurrence of transition spend. but in this International Standard we use P (since it is written in English). are irrelevant to the mathematical description of a net. 10c. one transition. Alice could spend: a ten cent coin. D. two fifty cent coins. transitions. the net has one place.e. the places. An arc in the opposite direction indicates that this transition produces tokens on the place.5 models that Bob starts with an empty purse and collects 10 cent coins.3 Arcs An arc from a place to a transition indicates that this transition consumes objects from the place. a fifty cent coin. 20c. called AlicesPurse.2. and arcs of the net. However. it has to be declared in the textual part of Example C that x denotes a variable for coins. although often important for readability. 50c x : Coins ż (AlicesPurse) ½ 10c·¾ 50c Figure D. S denotes the set of places. These letters are the initials of the German words Stelle.

5c. 10c) tokens in AlicesPurse. 2c. Coins x AlicesPurse x=10c Donate 10c Coins BobsPurse Coins 1c. 5c. If there are no appropriate (i. Example F in figure D. 2c. then Donate cannot occur. Alice is ready to give Bob any of her coins.Coins BobsPurse 10c Receive Coins 1c.7: Example F. 10c.. 50c ż (BobsPurse) Figure D. 36 .e. Bob cannot put arbitrarily many coins into his purse.7 limits the number of 10 cent coins that Bob can receive to 200. The transition. however.6: Example E. In a more realistic variant of Example D. can occur only with such variable values as fulfill the condition. 50c x : Coins ż (AlicesPurse) ½ 10c·¾ 50c ż (BobsPurse) Figure D. 50c n :N N¢N ÓÓÐ usual ‘less than’ predicate · N¢N N arithmetic addition ż (BobsPurse) ż (NumberOfCoins) ½ ¼ Figure D. 5c. 10c. requiring that x 10c. accepts only 10c coins from Alice. 2c.5: Example D. Bob. In the next example. N n+1 n n<200 Receive 10c Coins NumberOfCoins BobsPurse N set of natural numbers Coins 1c. 10c. A transition condition has been added. Donate. depicted in figure D.6.

{(x. By the occurrence (Spend. From this diagram.8.½ ½¼c) ¼c) (Spend.10c)}) (AlicesPurse. as well as the transition occurrences performed to reach each one. (x.{(x.½ ½¼c·½ (Spend. In the net. i.e. (AlicesPurse.50c)}) (AlicesPurse. for example. Spend occurs.{(x. The new marking is called a reachable marking of Example C. 37 . with x having the value 10c.10c)}) ¼c) (Spend.{(x.50c)}) (AlicesPurse.10c) ). ) (Spend.50c)}) (AlicesPurse. as long as AlicesPurse is marked with a non-empty multiset of tokens. or if she does it in the reverse order.{(x.½ ½¼c·¾ ¼c) (Spend. and is bound to 10c. (x. the following facts about the dynamics of Example C: ¯ If Alice spends first 10 cents and then 50 cents.10c)}) Figure D. The dynamics of Example C. appearing in the arc annotations around the transition. she can spend any of them.{(x. Let her spend a 10 cent coin.4 Net Dynamics Example C can be used to illustrate the modelling of system dynamics in HLPNs. In her first action. and to which value each of the variables. are depicted in the reachability graph in figure D. Alice can spend any number of her coins.½ (Spend.D.{(x. Spend can occur with x bound to any one of the tokens in the marking of AlicesPurse. This occurrence of Spend is denoted by (Spend. Markings reachable from reachable markings are also called reachable.8: Reachability graph of Example C. ¯ ¯ the markings reachable in Example C. In this case only x appears.10c) ) a new marking of the net is created: Ž (AlicesPurse) ¾ 50c. one can read. then she will have 50 cents left. A different marking would be reached by Alice spending a fifty cent coin.. This indicates which transition occurs (Spend). is bound.50c)}) (AlicesPurse. As long as Alice’s purse contains coins. Then in the net.¾ ¼c) (Spend.

trivially. It just happens that in our very simple example these are one-element sets and the (.¾ ½¼c) (Receive. ) (Receive.¯ ¯ ¯ Alice can perform at most three actions. The store room of B Co can only hold a certain number. The occurrence (Receive.5 Flow Control Example Two companies. ) (BobsPurse.g. the empty sequence) will allow Alice to restore the contents of her purse.) wherever usually an entire set appears in this position. Generally there are sets of place markings and sets of variable bindings to be described..9.. Every sequence of 3 actions ends with an empty purse.. All of this holds. Figure D. of course.9: Reachability graph of Example D. In order to avoid being forced either to leave crates in the street or to rent another store room. distributed to retailers. are written around the pair parentheses (. In the reachability graph. 38 ..10. The reachability graph for Example D consists of a single infinite chain. MAX. (BobsPurse.. D. reside in different cities. This procedure is modelled in figure D. only within the range of actions considered in Example C. or opened and the contents consumed – it does not matter here). of these crates. ) does not mean that Bob receives no coins. set braces . as indicated in figure D. B Co agrees with A Co on a ‘flow control protocol’. Crates may be taken from the store room for processing (e. No sequence of actions (save. ) (BobsPurse. A Co packs and sends big crates of equal size to B Co. The people from B Co have a problem. B Co has a room where the crates are stored. A Co and B Co. one by one.½ ½¼c) (Receive. but that no variable is assigned a value. say.. ) etc..) looks unnecessarily complicated.

SendCrate Cr CratesInTransit Cr Crates ReceiveCrate Cr StoreRoom Cr Crates ProcessCrate Figure D. Whenever A Co receives such a letter. A Co keeps a record of SendingCredits. To implement the protocol. Each such value val. that may take any natural number as a value. Any time that there are empty slots. there is no sending credit. Sending a crate. 39 . and processing a crate raises the number of empty and hence unreserved slots by one. which is only possible if SendingCredits is 1 or more. B Co does this by sending a letter with this number to A Co and setting the number of unreserved slots to 0. and all slots are empty and unreserved. B Co may reserve them and give the number of reserved (and empty) slots as sending credits for crates to A Co. while B Co keeps a record of empty ‘slots’ available for placing crates in the store. It is a parameterized HLPNG with a parameter. This distributed system is modelled by figure D. Note that this net models infinitely many different systems.11. the store room is empty. the situation is as follows: no crate or letter is in transit. it increases SendingCredits by the number written in it. Initially.10: Crate procedure. lowers SendingCredits by 1. MAX. Example G(val). substituted for MAX instantiates Example G to an ‘ordinary’ HLPNG without parameters.

11: Example G.SendCrate sc>0 Cr CratesInTransit Cr Crates ReceiveCrate Cr StoreRoom Cr Crates ProcessCrate sc sc-1 sc+new new sc n n n>0 SendLetter 0 n n+1 N N N SendingCredits ReceiveLetter LettersInTransit UnreservedSlots Crates Cr N 0. . 2. . sc : N MAX : N · Z ¢ Z Z is arithmetic addition   Z ¢ Z Z is arithmetic substraction ż (CratesInTransit) ż (LettersInTransit) ż (SendingCredits) ½ ¼ ż (UnreservedSlots) ½ MAX Figure D. Z is the set of integers n. new. 1. ż (StoreRoom) 40 . .

structural analysis and invariants analysis that may be used to investigate properties of systems modelled by nets. including reachability analysis (with several state space reduction techniques and using model checking). The Petri net community has publish a 2 volume set in Lecture Notes in Computer Science (volumes 1491 and 1492) as a handbook on Petri nets in 1998. 41 .Annex E (informative) Analysis Techniques There are a large number of analysis techniques for Petri nets. Readers are also referred to the bibliography. the second volume of Kurt Jensen’s book on Coloured Petri Nets. This annex is just to alert readers of this standard to these possibilities. for example.

1991. Cambridge Tracts in Theoretical Computer Science 40. Petri Nets: Central Models and Their Properties Advances in Petri Nets. 1990. SpringerVerlag. “Predicate/Transition Nets”.J. Rozenberg (Eds. pp. Al’Jaar. 13. 5. Desel and J. 1991. G. 11-13 December. 11. Wissenschaftsverlag. Volume 254 (and 255 for Part II). Jensen.) High-Level Petri Nets: Theory and Application. Springer-Verlag. 1420. W. Grundlagen und Anwendungen. 1995. pp. G. 254. Proceedings of the Third International Workshop on Petri Nets and Performance Models. Jensen. Proceedings of an Advanced Course. 14. G. Volume 3: Practical Use. Springer-Verlag. Control and Performance Analysis. E. J. 166-179. also reprinted in K. V¨ lzer. Kyoto. Jensen. Vol. Second Edition. A. Billington. Lecture Notes in Computer Science. Japan. “Flexibility in Algebraic Nets”. E. Brauer. Mannheim. March 1987.Y. Kyoto. 1997. Desrochers and R. J. K. J. Bad Honnef. Coloured Petri Nets. “Extensions to Coloured Petri Nets and their Application to Protocols”. Best and C. Lecture Notes in Computer Science. Second Edition. Billington. Cambridge University Press. Jensen. Rozenberg (Eds. 7.) High-Level Petri Nets: Theory and Application. Volume 1: Basic Concepts. invited paper in Proceedings of the Third International Workshop on Petri Nets and Performance Models. 1989. 9. Part I. 42 . May 1991. Springer-Verlag. 10. SpringerVerlag. 222. J. 61-70. 1995. A. 2. K. B. 12. 15. Prentice Hall. Arbeitspapiere der GMD 195. 345-364. Jensen. Fernandez. “Many-sorted High-level Nets”. 1997. IEEE Press. Free Choice Petri Nets. Springer-Verlag. “Extensions to Coloured Petri Nets”. Japan. 1987. Volume 2: Analysis Methods. 1989. 8. Genrich.Bibliography 1. Baumgarten. pp 207-247. Vol. SpringerVerlag. Applications of Petri Nets in Manufacturing Systems: Modelling. Coloured Petri Nets. University of Cambridge Computer Laboratory Technical Report No. 1998. K. Kindler and H. Reisig. Springer-Verlag. pp. 1997. 1987. K. September1986. Lecture Notes in Computer o Science. 1992. 1986. 11-13 December. Rozenberg (eds). 3. Petri-Netze. 4. H. Esparza. David and H. R. Coloured Petri Nets. W. Petri Nets and Grafcet. Alla. 6. Notations and Terminology on Petri Net Theory. Billington.

L. W. K. Springer Verlag. 1991. 24. Lecture Notes in Computer Science. Reisig and G. W. pp.. J. Peterson. Springer-Verlag. 815. 1994. 1-34. 1989. Truss. 4. N. EATCS.J. Volumes 1491 and 1492. No. Volume 77. May. Vol. 20. Lecture Notes in Computer Science. Modeling and Analysis with Petri Nets. 22. Springer-Verlag. Murata. TCS. 23.Brauer. Lecture Notes in Computer Science. 1991. Monographs on Theoretical Computer Science. Volume 935. Prentice-Hall. C. 541-580. Lectures in Petri Nets. Rozenberg (eds). 18. 19. 17. Petri Nets. SpringerVerlag. Discrete Mathematics for Computer Scientists. Berlin. Christensen. W. Rozenberg.K. A. 1995. 392-411. 1985. 43 . J. 21. Petri Nets and Algebraic Specifications. pp. Schmidt. Reisig. Analysis and Applications”. An Introduction. “A General Systematic Approach to Arc Extensions for Coloured Petri Nets”. Salomaa (Eds. W. 338-357. 1998. Petri Net Theory and the Modeling of Systems. pp. Reisig. G. Lakos and S.). Vol. Springer-Verlag. “Petri Nets: Properties. Reisig. 1998. “Parameterized Reachability Trees for Algebraic Petri Nets”. Proc IEEE. Distributed Algorithms. W. pp. 80. 1981. T. Addison-Wesley.16.A.

Sign up to vote on this title
UsefulNot useful