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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

i.10. 10. 24 .1 Level 1 To claim HLPN Level 1 conformance to this International Standard an implementation shall demonstrate that it has the semantics defined in clause 5.2 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. by providing a mapping from the implementation’s syntax to the semantic model in a similar way to that defined in clause 9. nor a declaration. there is no need for place typing.1.1 and the relevant notational conventions of clause 8. section B. 10.2 HLPN Conformance 10..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.e.2. as these are trivial.2.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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. 1. . new. 2.11: Example G. ż (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. .

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

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

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

Sign up to vote on this title
UsefulNot useful