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

15909 Version 4.7.1 October 28, 2000

Contents

Introduction 1 Scope 1.1 1.2 1.3 Purpose . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Field of Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Audience . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 6 6 6 7 7 7 7 10 10 11 11 12 12 12 12 12 13 13 13 14 14 14 15 15 16 18 18

2 Normative References 3 Terms, Deﬁnitions, Abbreviations and Symbols 3.1 3.2 Glossary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Abbreviations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

4 Conventions and Notation 5 Semantic Model for High-level Petri Nets 5.1 5.2 5.3 Deﬁnition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Marking of HLPN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Enabling of Transition Modes . . . . . . . . . . . . . . . . . . . . . . . . . . 5.3.1 5.3.2 5.4 Enabling of a Single Transition Mode . . . . . . . . . . . . . . . . . . Concurrent Enabling of Transition Modes . . . . . . . . . . . . . . . .

Transition Rule . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

6 Concepts Required for High-level Petri Net Graphs 6.1 6.2 6.3 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . High-level Petri Net Graph Components . . . . . . . . . . . . . . . . . . . . . Net Execution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.3.1 6.3.2 6.3.3 6.4 6.5 Enabling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Transition Rule for a Single Transition Mode . . . . . . . . . . . . . . Step of Concurrently Enabled Transition Modes . . . . . . . . . . . . .

Graphical Concepts and Notation . . . . . . . . . . . . . . . . . . . . . . . . . Conditionals in Arc Expressions, and Parameters . . . . . . . . . . . . . . . .

7 Deﬁnition of High-level Petri Net Graphs 7.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

7.2 7.3 7.4

Deﬁnition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Marking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Enabling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.4.1 7.4.2 Enabling of a Single Transition Mode . . . . . . . . . . . . . . . . . . Concurrent Enabling of Transition Modes . . . . . . . . . . . . . . . .

18 19 20 20 20 20 21 21 21 21 22 22 22 23 23 23 24 24 24 24 25 25 25 25 25 26 26 26 26 26 26

7.5

Transition Rule . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

8 Notation for High-level Petri Net Graphs 8.1 8.2 8.3 8.4 8.5 General . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Places . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Transitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Arcs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Markings and Tokens . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

9 Semantics of High-level Petri Net Graphs 10 Conformance 10.1 PN Conformance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10.1.1 Level 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10.1.2 Level 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10.2 HLPN Conformance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10.2.1 Level 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10.2.2 Level 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Annex A: Mathematical Conventions (normative) A.1 Sets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A.2 Multisets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A.2.1 Sum Representation . . . . . . . . . . . . . . . . . . . . . . . . . . . A.2.2 Membership . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A.2.3 Empty Multiset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A.2.4 Cardinality and Finite Multiset . . . . . . . . . . . . . . . . . . . . . . A.2.5 Multiset Equality and Comparison . . . . . . . . . . . . . . . . . . . . A.2.6 Multiset Operations . . . . . . . . . . . . . . . . . . . . . . . . . . . . A.3 Concepts from Algebraic Speciﬁcation . . . . . . . . . . . . . . . . . . . . . . A.3.1 Signatures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

3

A.3.2 Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A.3.3 Boolean Signatures . . . . . . . . . . . . . . . . . . . . . . . . . . . . A.3.4 Terms built from a Signature and Variables . . . . . . . . . . . . . . . A.3.5 Many-sorted Algebras . . . . . . . . . . . . . . . . . . . . . . . . . . A.3.6 Assignment and Evaluation . . . . . . . . . . . . . . . . . . . . . . . Annex B: Net Classes (normative) B.1 Place/Transition nets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Annex C: High-level Petri Net Schema (informative) C.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C.2 Deﬁnition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Annex D: Tutorial (informative) D.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . D.2 Net Graphs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . D.2.1 Places and Tokens . . . . . . . . . . . . . . . . . . . . . . . . . . . . D.2.2 Transitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . D.2.3 Arcs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . D.2.4 The Net Graph . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . D.3 Transition Conditions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . D.4 Net Dynamics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . D.5 Flow Control Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Annex E: Analysis Techniques (informative) Bibliography

27 27 27 28 28 30 30 32 32 32 33 33 33 33 34 35 35 35 37 38 41 42

4

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

the second volume of Kurt Jensen’s book on Coloured Petri Nets. Readers are also referred to the bibliography. The Petri net community has publish a 2 volume set in Lecture Notes in Computer Science (volumes 1491 and 1492) as a handbook on Petri nets in 1998. including reachability analysis (with several state space reduction techniques and using model checking). This annex is just to alert readers of this standard to these possibilities.Annex E (informative) Analysis Techniques There are a large number of analysis techniques for Petri nets. 41 . for example. structural analysis and invariants analysis that may be used to investigate properties of systems modelled by nets.

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

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

Are you sure?

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

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

Get the full title to continue

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

scribd