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

BooksAudiobooksComicsSheet Music### Categories

### Categories

### Categories

Editors' Picks Books

Hand-picked favorites from

our editors

our editors

Editors' Picks Audiobooks

Hand-picked favorites from

our editors

our editors

Editors' Picks Comics

Hand-picked favorites from

our editors

our editors

Editors' Picks Sheet Music

Hand-picked favorites from

our editors

our editors

Top Books

What's trending, bestsellers,

award-winners & more

award-winners & more

Top Audiobooks

What's trending, bestsellers,

award-winners & more

award-winners & more

Top Comics

What's trending, bestsellers,

award-winners & more

award-winners & more

Top Sheet Music

What's trending, bestsellers,

award-winners & more

award-winners & more

Welcome to Scribd! Start your free trial and access books, documents and more.Find out more

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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. as these are trivial.1 and the relevant notational conventions of clause 8. i.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. there is no need for place typing. 10. 24 .1.10.2 Level 2 To claim HLPN Level 2 conformance to this International Standard an implementation shall have satisﬁed the requirements of HLPN Level 1 conformance and in addition shall include the syntax of the HLPNG deﬁned in clause 7 and the notational conventions of clause 8.e.. section B. by providing a mapping from the implementation’s syntax to the semantic model in a similar way to that deﬁned in clause 9.2.2 HLPN Conformance 10. nor a declaration.2.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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 listening from where you left off, or restart the preview.

scribd