This action might not be possible to undo. Are you sure you want to continue?

# High-level Petri Nets - Concepts, Deﬁnitions 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, Deﬁnitions, 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 Deﬁnition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 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 Deﬁnition of High-level Petri Net Graphs 7.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

7.2 7.3 7.4

Deﬁnition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 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 Speciﬁcation . . . . . . . . . . . . . . . . . . . . . . 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 Deﬁnition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 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

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

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

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

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

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

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

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

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

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

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

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

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

Enter x A Wait (x.m) ¯· m e ´L ½µ¯ Leave Set of Agents:A = a½ aÆ Set of Access Modes: M = s.e Control: C = ¯ Positive integer constants: N. 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. 17 . L Variables x: A.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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