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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

. i. as these are trivial. 10. there is no need for place typing. nor a declaration. 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 HLPN Conformance 10.2. 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.1 and the relevant notational conventions of clause 8.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.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. 24 .2.1.10. section B.e.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Sign up to vote on this title

UsefulNot useful- Modelling With GSPN.2side
- Left-to-right maxima in words and multiset permutations
- Identity Fundamental
- Glossary
- tpdoc3_batch14
- Symbols
- LR_Analysis User Guide
- Draft
- Chapter 1
- Probability Theory (Lecture Notes)
- 9
- Pipe Network Analysis
- maaatom5
- Klir Clair Yuan 1997 Klir Clair Yuan 1997
- Jonathan L. Gross- Genus distribution of graph amalgamations
- SMU MCA Assignments
- Set Theory
- 02-Khoukhi
- Exam En
- Liris-2383
- dynamic trees
- Combi
- Social Network Analysis for Homeland Security
- Kier Stead
- arxiv.org_pdf_1407.5138v1
- An Alternative for the Implementation of Kruskal's Minimal Spanning Tree Algorithm
- 5
- Quantitative Aptitude Questions Set
- i is Artikel
- MIT6_042JF10_assn05.pdf
- High-Level Petri Nets - Concepts, Definitions and Graphical

Are you sure?

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

We've moved you to where you read on your other device.

Get the full title to continue

Get the full title to continue reading from where you left off, or restart the preview.