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

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

Find out more15909 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

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

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

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

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

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

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

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

2 Marking of HLPN A Marking of the HLPN is a multiset. This deﬁnition allows a transition mode to be concurrently enabled with itself.3 Enabling of Transition Modes 5. 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.3.1 Enabling of a Single Transition Mode A transition mode.5. Ì ½. Å ¾ ÈÄ . ØÖ ¾ Ì Ê ÆË . Ì Å ¼ or Å Å ¼ . 5.2 Concurrent Enabling of Transition Modes A ﬁnite multiset of transition modes. i. Ì ¾ Ì Ê ÆË .e. 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. is enabled at a marking Å iff È Ö ´ØÖµ Å 5.3. NOTE: A step may comprise the occurrence of: a single transition mode. Ì . is enabled at a marking Å . Also if then this reduces to the deﬁnition in the previous subclause. 12 . or any number of concurrently enabled transition modes.

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

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

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

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

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

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

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

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

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

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

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

.10. 10. as these are trivial. 10.2 Level 2 To claim HLPN Level 2 conformance to this International Standard an implementation shall have satisﬁed the requirements of HLPN Level 1 conformance and in addition shall include the syntax of the HLPNG deﬁned in clause 7 and the notational conventions of clause 8. 24 . section B.1.1 Level 1 To claim HLPN Level 1 conformance to this International Standard an implementation shall demonstrate that it has the semantics deﬁned in clause 5.2. there is no need for place typing.e. by providing a mapping from the implementation’s syntax to the semantic model in a similar way to that deﬁned in clause 9.2 HLPN Conformance 10.2. nor a declaration.1 and the relevant notational conventions of clause 8. i.2 Level 2 To claim PN Level 2 conformance to this International Standard an implementation shall have satisﬁed the requirements of PN Level 1 conformance and in addition shall include the syntax of the PNG deﬁned in Annex B.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

- Blackboard Notes 1
- N Sun Decomposition of Complete Complete Bipartite and Some Harary Graphs
- A Strategic Model of Social and Economic Networks
- Kishoe Euler
- אלגוריתמים- הרצאה 8 | All Pairs Shortest Paths Problem
- Graphsv2
- 2 Graphical Method LP
- Chapter 7
- Neo4j Manual Stable 1
- Graph Theory
- Graph Theory & Combinatorics Dec 2012 NEW
- Graph Algorithms
- Network Flow
- 11 05 Classen Networks
- Rome Paper
- Origin
- Asa 2011 Graphs
- Multi Label
- L19 Graphs
- Definations graph theory
- Depth
- Data Interpretation
- Data Interpretation[1]
- Contemporary College Maths Lecture 6 Graph Theory & Scheduling
- Fast Best-Effort Search on Graphs with Multiple Attributes.pdf
- Binomial
- Graph the 4
- SMU MCA Assignments
- IRS 30100.doc
- Dynamic Programming

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