## Are you sure?

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

41 .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). This annex is just to alert readers of this standard to these possibilities. for example. 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.

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

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

- 8 Permutation & Combination Part 1 of 4
- College Algebra 6th Edition Dugopolski Test Bank
- A fast backtracking algorithm to test directed graphs for isomorphism using distance matrices de Douglas C. Schmidt, Larry E. Druffel Acceseaza Top carti si articole in IT Software/Hardware: 1. Curs depanare PC 5164 5164 accesari 2. Retele de calculatoare (editia a IV-a) 4551 4551 accesari 3. Cracking & Hacking 3088 3088 accesari 4. Calcul tabelar - Microsoft Excel 3028 3028 accesari 5. Autocad (curs) 2964 2964 accesari 6. Arhitectura calculatoarelor 2558 2558 accesari 7. Administrarea sistemelor Linux 2524 2524 accesari 8. Configurarea optima a BIOS-ului 2472 2472 accesari 9. 3D Modelling in AutoCAD - tutorial exercise 2390 2390 accesari 10. Excel 2353 2353 accesari 11. Curs practic de Java 2352 2352 accesari 12. Curs de utilizarea calculatoarelor
- jigsaw activity transformations quadratics
- Byte Mite '08 the Shortest Code Contest
- digraphs2
- Hello World
- txfa
- MC0063(B)-unit13-fi
- A Brief History of Sets
- 13s
- Dsp
- Further results on Antimagic Digraphs
- topic statement
- Garcia Workshop01
- SE_Unit4
- Determining Project Requirements - 2013
- Shaw Icse2003
- Latih Tubi JPN 2008 Paper 1 Set 2A
- math
- CRPITV67Hartmann
- Dovek,_Levy_-_Introduction_to_the_Theory_of_Programming_Languages.pdf
- 8a_a0124541r_Douglas Tan (1)
- SUMIFS Function
- 4 Direct Images and Inverse Images Under Functions
- Quick Research on Net
- Main Documentation
- Lecture 3
- Lecture02
- Database Design of College Network System

Skip carousel

- UT Dallas Syllabus for math2312.002.11f taught by Manjula Foley (mxf091000)
- tmp664
- Comparative Analysis of Power System Stabilizer using Artificial Intelligence Techniques
- UT Dallas Syllabus for phys5302.001.09s taught by Paul Macalevey (paulmac)
- UT Dallas Syllabus for math2312.002.09s taught by (mxf091000)
- frbrich_wp01-8.pdf
- tmp9817.tmp
- High School Mathematics Grade 10-12
- Discrete Mathematics
- UT Dallas Syllabus for phys5301.501.11f taught by Paul Mac Alevey (paulmac)
- UT Dallas Syllabus for math2v90.001.08s taught by Noureen Khan (nak033000)
- tmpF8BB
- UT Dallas Syllabus for math2413.003.11s taught by Wieslaw Krawcewicz (wzk091000)
- tmp28B2.tmp
- UT Dallas Syllabus for math2312.521.07u taught by William Scott (wms016100)
- tmp30B5.tmp
- UT Dallas Syllabus for phys5401.501.08f taught by Paul Macalevey (paulmac)
- tmp5D76.tmp
- tmpD53B.tmp
- frbrich_wp90-11.pdf
- tmp3183.tmp
- Space Shuttle Trajectory Guide
- tmpAE76.tmp
- tmp82D3.tmp
- UT Dallas Syllabus for math1314.002 06f taught by Paul Stanford (phs031000)
- Tmp 7550
- UT Dallas Syllabus for math2312.701.11f taught by Manjula Foley (mxf091000)
- tmp2B1C.tmp
- UT Dallas Syllabus for math2312.001.09f taught by William Scott (wms016100)
- tmp5DD5.tmp

- Mechatronics an Integrated Approach 0203502787
- UFES - Eletrônica de Potência - Semicondutores de Potência
- Dms Textbook
- Planos de Construccion
- Vb a Course Work
- A Technique for the Determination of Center of Gravity and Rolling
- Popourri Ejercicios Resueltos Electrotecnia1
- Força_de_Coriolis
- Curso de Eletrônica - Circuitos elétricos
- mecanismos
- Petri Nets and Production Systems
- XYZs of Oscilloscopes
- 02 03 Modelo en Variables de Estado
- MODELAMIENTO DE UNA CELDA DE MANUFACTURA FLEXIBLE UTILIZANDO REDES DE PETRI COLORIDAS
- Using IDEF0-Petri Net for Ontology-Based Task Knowledge Analysis
- 34EB1d01
- Mi Ope Tri Net
- Metal 23 Portadas
- Static caracteristicas sensor
- Intro to Scopes Lab

Sign up to vote on this title

UsefulNot usefulClose Dialog## Are you sure?

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

Close Dialog## This title now requires a credit

Use one of your book credits to continue reading from where you left off, or restart the preview.

Loading