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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

- Lecture1_5038
- Greedoid_3 (1)
- Greedoid
- Greedoid_3
- Barr, Category Theory
- 12_Matdis_Eng.pdf
- Automata - chap1+introduction
- mc0082
- ADS Fundamentals V2-0 Discrete Math
- Sperner Family
- Sperner Family - Wikipedia, The Free Encyclopedia
- probabilities lecture notes
- 556
- Bercea
- Hyper-graph Decomposition Methodology
- CategoryTheoryforCS
- Final Question
- Cs2303 Toc 2 Marks
- Logic and Language Models for Computer Science
- Lecture Notes Re Formatted)
- Deadlocks
- Deadlocks(jntumaterials.com)
- MOebius Function Dense Subgraphs
- Kok&Otros() Multi RobotDecisionMakingUsingCoordinationGraphs
- MTH202 Short Questions Answers
- Zsuzsanna Dancso- On a universal finite type invariant of knotted trivalent graphs
- 10.1.1.187
- Database & query Analysisi tools for MySQL - Exploiting Hypertree & Hypergraph decompositions
- Job Shop SchedulingGA Modifi
- Advanced Data Structure IT-411

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