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

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

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

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

1. including the initial marking.1. 3.1. and their interconnection by directed edges.12 High-level Petri Net Graph: A net graph and its associated annotations comprising Place Types.. 3.14. 3.1. and their corresponding definitions in a set of Declarations.e.1 Initial Marking (of the net): The set of initial place markings given with the highlevel net definition.1. 3. called arcs.1 Net graph: A directed graph comprising a set of nodes of two different kinds.1.14. 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.14.1.3 Marking of a place: A multiset of tokens associated with (‘residing in’) the place.15.11 High-level Net (High-level Petri Net): An algebraic structure comprising: a set of places. called places and transitions.e.5 Reachability Set: The set of reachable markings of the net. Arc Annotations.2 Multiset cardinality (cardinality of a multiset): The sum of the multiplicities of each of the members of the multiset. a set of types.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.1.1. 3. and an Initial Marking of the net. 3. and transitions to places. non-negative integer) which describes the number of repetitions of an item in a multiset.1.1 Multiplicity: A natural number (i. and a set of modes (a type) to each transition. 3.. a set of transitions. 8 .2 Node (of a net): A vertex of a net graph (i. Pre function imposing token demands (multisets of tokens) on places for each transition mode. a place or a transition).1.2 Initial Marking of a place: A special marking of a place. 3.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.16 Net: A general term used to describe all classes of Petri nets. Post function determining output tokens (multisets of tokens) for places for each transition mode. 3. 3. 3.1. 3.1. 3.14 Marking (of a net): The set of the place markings for all places of the net. 3.1.15. Transition Conditions. but never transitions to transitions.1.14.14. and an initial marking. a function associating a type to each place. The demand is satisfied when the place’s marking contains (at least) the multiset of tokens indicated by the evaluated arc annotation.16. defined with the high-level net.4 Reachable Marking: Any marking of the net that can be reached from the initial marking by the occurrence of transitions. 3. such that only places can be connected to transitions. nor places to places. NOTE: The determination of transition modes guarantees that the Transition Condition is satisfied (see Transition Mode).15 Multiset: A collection of items where repetition of items is allowed.16.

1.23.3 Output sort: The sort of an output of an operator.1.24 Term: An expression comprising constants.23.1. 3.22.16.1. 3.4 Range sort: The same as an output sort. taken from the place kind. 3. where the nodes correspond to reachable markings. 3. 9 .22 Signature/Many-sorted signature: A mathematical structure comprising a set of sorts and a set of operators.1.1 Closed term: A term comprising constants and operators but no variables. 3.2 Output Place (of a transition): A place connected to the transition by an output arc. 3.20 Place: A node of a net.3 Place Type: A non-empty set of data items associated with a place.2 Input sort: The same as an argument sort. normally represented by an ellipse in the net graph.16. 3.20. and any simplifications performed (such as gathering like terms to obtain the symbolic sum representation of a multiset).18 Parameter: A symbol that can take a range of values defined by a set.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.1.24. together with their associated relations and functions.20.17 Operator: A symbol representing the name of a function. 3.20.25 Token: A data item associated with a place and chosen from the place’s type. 3.1. Carl Adam Petri.3.1.1.1 Enabling Tokens: The multiset of values obtained when an input arc annotation is evaluated for a particular binding to variables. and named after their inventor.1 Input Place (of a transition): A place connected to the transition by an input arc.1.1. variables and operators built from a signature and a set of sorted variables. 3.19 Parameterized High-level Net Graph: A high-level net graph that contains parameters in its definition. corresponding to the carrier Boolean in any associated algebra.1.24.2 Term evaluation: The result obtained after the binding of variables in the term. A place is typed.1. and one of the constants is ØÖÙ ÓÓÐ corresponding to the value true in the algebra.1.3 Petri Net: An algebraic structure with two sets.1. (This set can describe an arbitrarily complex data structure.23.1.23. the computation of the results of the associated functions.1 Boolean signature: A signature where one of the sorts is ÓÓÐ.1.1. 3. one called places and the other called transitions. 3.1. 3. 3. 3.23 Sort: A symbol representing the name of a set. 3.21 Reachability Graph: A directed graph of nodes and edges. It is instantiated as a constant. 3. 3. 3.1 Argument sort: The sort of an argument of an operator. and the edges correspond to transition occurrences.25. 3.1.1.1.) 3.

3. 3.26.1. NOTE: A place may be both an input place and an output place of the same transition. 3. 4 Conventions and Notation This International Standard uses the notation for sets.26.1. On the occurrence of the transition.1.26.3.2. 3.2.1. 3.2 Abbreviations 3.1. 3.1 Transition condition: A boolean expression (one that evaluates to true or false) associated with a transition.26 Transition: A node of a net. 3.27 Type: A set. and 2. 3.25.2 HLPNG: High-level Petri Net Graph.2. and used in Place/Transition nets (as opposed to high-level nets). 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.26.4 Step: The simultaneous occurrence of a multiset of transition modes that are concurrently enabled in a marking. 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. 3. 3.5 Transition Variables: All the variables that occur in the expressions associated with the transition. (using the ‘·’ symbol).1 Mode: a value taken from the transition’s type. the following actions occur indivisibly: 1.3 HLPNS: High-level Petri Net Schema.2.1. Annex A also defines the concept of multiset addition.5 PNG: Petri Net Graph.4 PN: Petri Net. and the annotations of arcs surrounding the transition.1. a mode may be derived from an assignment of values to the transition’s variables that satisfies the transition condition.2. When considering a High-level Petri Net Graph.1 HLPN: High-level Petri Net.3 Transition occurrence (Transition rule): If a transition is enabled in a mode. it may occur in that mode. and represented by a rectangle in the net graph. 3. 3. taken from the transition kind.26.2 Transition mode: A pair comprising the transition and a mode. These are the transition condition. multisets and universal algebra defined in Annex A.2 Simple Token: A valueless token. normally represented by a black dot. 3.1. which should not be confused with arithmetic addition. The notion of multisets is required for clauses 10 .2.1.26.

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

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

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

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

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

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

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

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

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

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

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

6). x and y. 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. then Ì ÝÔ ´Øµ «Ø Î Ð ÓÓÐ «Ø ´Ì ´Øµµ ØÖÙ The types of places are obtained directly from the HLPN graph definition.5 Markings and Tokens A token is a member of Ô¾È Ì ÝÔ ´Ôµ. 3. and its name outside. If ´Ô ص and ´Ø Ôµ have the same annotations (Ô is a side place of Ø). and the transition condition outside. but usual mathematical conventions should be adopted where possible.2. the transition condition could be shown inside the rectangle (as in the example). ´Ô ص ´Ø Ôµ. or the name of the transition could be included inside the rectangle. Let ÎØ Î be the set of variables associated with transition Ø. Transitions: Ì is the set of transitions in the HLPN. then this may be shown by a single arc with an arrowhead at both ends and annotated by a single inscription. .4 Arcs For ´Ô ص ¾ . and the operator less than. The notation for terms is not mandated by this International Standard. 8. Arcs are annotated with terms. 1. are defined in the declarations.x y t1 represents a transition with a name t1. Thus the set Ì ÝÔ ´Üµ Ü ¾ È Ì . an arrow is drawn from place Ô to transition Ø and vice versa for ´Ø Ôµ ¾ . An arc is represented by an arrow:   8. 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. For example. Places: È is the set of places in the HLPN. where both the types of the variables. and a transition condition. Define « Ø as an assignment for À and ÎØ (cf A.1). x y.3. 2. The position of the annotations with respect to transitions is not mandated. Ë 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. of domains is given by 22 . A mechanism must be provided to remove any ambiguity regarding the association of these annotations with the correct transition.

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

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. section B. 10..e. 24 . there is no need for place typing.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. as these are trivial.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. nor a declaration.1 and the relevant notational conventions of clause 8.2.1.2 HLPN Conformance 10.10. i.2. by providing a mapping from the implementation’s syntax to the semantic model in a similar way to that defined in clause 9. 10.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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. Z is the set of integers n. new. ż (StoreRoom) 40 . . 2. 1. .11: Example G. sc : N MAX : N · Z ¢ Z Z is arithmetic addition   Z ¢ Z Z is arithmetic substraction ż (CratesInTransit) ż (LettersInTransit) ż (SendingCredits) ½ ¼ ż (UnreservedSlots) ½ MAX Figure D. .

including reachability analysis (with several state space reduction techniques and using model checking).Annex E (informative) Analysis Techniques There are a large number of analysis techniques for Petri nets. structural analysis and invariants analysis that may be used to investigate properties of systems modelled by nets. Readers are also referred to the bibliography. This annex is just to alert readers of this standard to these possibilities. 41 . 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. for example. the second volume of Kurt Jensen’s book on Coloured Petri Nets.

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

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

Sign up to vote on this title
UsefulNot useful