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

P. 1

High Level PetriRatings:

(0)|Views: 10|Likes: 0

Published by Subhashini Umapathi

See more

See less

https://www.scribd.com/doc/40594899/High-Level-Petri

11/05/2011

text

original

- Introduction
- 1.1 Purpose
- 1.2 Field of Application
- 1.3 Audience
- 3 Terms, Deﬁnitions, Abbreviations and Symbols
- 3.1 Glossary
- 3.2 Abbreviations
- 5 Semantic Model for High-level Petri Nets
- 5.1 Deﬁnition
- 5.2 Marking of HLPN
- 5.3 Enabling of Transition Modes
- 5.3.1 Enabling of a Single Transition Mode
- 5.3.2 Concurrent Enabling of Transition Modes
- 5.4 Transition Rule
- 6 Concepts Required for High-level Petri Net Graphs
- 6.1 Introduction
- 6.2 High-level Petri Net Graph Components
- 6.3 Net Execution
- 6.3.1 Enabling
- 6.3.2 Transition Rule for a Single Transition Mode
- 6.3.3 Step of Concurrently Enabled Transition Modes
- 6.4 Graphical Concepts and Notation
- 6.5 Conditionals in Arc Expressions, and Parameters
- 7 Deﬁnition of High-level Petri Net Graphs
- 7.1 Introduction
- 7.2 Deﬁnition
- 7.3 Marking
- 7.4 Enabling
- 7.5 Transition Rule
- 8.1 General
- 8.2 Places
- 8.3 Transitions
- 8.4 Arcs
- 8.5 Markings and Tokens
- 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
- 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
- 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
- B.1 Place/Transition nets
- C.1 Introduction
- C.2 Deﬁnition
- 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
- Bibliography

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

¯Ï Æ is the weight function. ¯ Å È Æ is the initial marking assigning a natural number of tokens to each place. These are represented by dots (¯). 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. and hence doesn’t need to be considered. assigning a positive integer to each arc. and given by a single value ¯. the type of each place is the same. and the number of dots (¯) associated with each arc (Weight function). 31 . the number of dots (¯) associated with each place (marking) are in one to one correspondence with the Naturals.

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

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

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

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

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

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

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

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

Z is the set of integers n.SendCrate sc>0 Cr CratesInTransit Cr Crates ReceiveCrate Cr StoreRoom Cr Crates ProcessCrate sc sc-1 sc+new new sc n n n>0 SendLetter 0 n n+1 N N N SendingCredits ReceiveLetter LettersInTransit UnreservedSlots Crates Cr N 0. sc : N MAX : N · Z ¢ Z Z is arithmetic addition Z ¢ Z Z is arithmetic substraction Å¼ (CratesInTransit) Å¼ (LettersInTransit) Å¼ (SendingCredits) ½ ¼ Å¼ (UnreservedSlots) ½ MAX Figure D. Å¼ (StoreRoom) 40 . . . 1. . 2.11: Example G. new.

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

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

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

- Read and print without ads
- Download to keep your version
- Edit, email or read offline

Are you sure?

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

CANCEL

OK

You've been reading!

NO, THANKS

OK

scribd