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

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

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

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

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

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

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

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

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

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

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

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

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

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

m: M Function ÓÓÐ ¼ ½ where ØÖÙ ½ and Ð× ¼ Å¼ ´Waitµ A Å¼ ´Controlµ L¯ Å¼ ´Accessµ Figure 2: HLPNG of Resource Management.Enter x A Wait (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. 17 . L Variables x: A.m) A¢M ¯· m e ´L ½µ¯ C Control Access x (x.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

new. . Z is the set of integers n. 1.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. 2.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.

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

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

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

Sign up to vote on this title

UsefulNot useful- TOC
- Dominator Coloring Number of Some Graphs
- mathematical logic
- Disjoint Sets
- Sigma Algebra
- C240Lec3
- 9781441971265-t1
- Erhan Çinlar - Probability and Stochastics (Graduate Texts in Mathematics)
- Abstract Mathematics
- 981450856 x
- Family of Sets
- IRS_30100_RC_2
- Ex1 - Sets and Algebraic Expressions
- Infimum and Supremum
- Review Sets
- SPARQL
- Set theory f g
- Final Copy
- relations
- Chapter 1
- Ming-Hsuan Kang- Toroidal Fullerenes with the Cayley Graph Structure
- Green Shot
- g Graph Editor 2
- IntroTT Improved
- Advanced Calc Problem
- 7th topic b.pptx
- viegas-cscw04
- Martin Bojowald- Spherically Symmetric Quantum Geometry
- IMPLEMENTATION OF LINE GRAPH IN MAINFRAMES FOR BUSINESS ANALYSIS
- 10-Dynamic Programming-I.pdf
- High-Level Petri Nets - Concepts, Definitions and Graphical