## 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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

by providing a mapping from the implementation’s syntax to the semantic model in a similar way to that deﬁned in clause 9.2 Level 2 To claim 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. 10.2. 10.1.1 Level 1 To claim HLPN Level 1 conformance to this International Standard an implementation shall demonstrate that it has the semantics deﬁned in clause 5. section B..2. nor a declaration.1 and the relevant notational conventions of clause 8.2 HLPN Conformance 10. 24 .e. i.10. as these are trivial. there is no need for place typing.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.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

. Z is the set of integers n. 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. 1. . Å¼ (StoreRoom) 40 .SendCrate sc>0 Cr CratesInTransit Cr Crates ReceiveCrate Cr StoreRoom Cr Crates ProcessCrate sc sc-1 sc+new new sc n n n>0 SendLetter 0 n n+1 N N N SendingCredits ReceiveLetter LettersInTransit UnreservedSlots Crates Cr N 0. .11: Example G.

41 . Readers are also referred to the bibliography. structural analysis and invariants analysis that may be used to investigate properties of systems modelled by nets.Annex E (informative) Analysis Techniques There are a large number of analysis techniques for Petri nets. The Petri net community has publish a 2 volume set in Lecture Notes in Computer Science (volumes 1491 and 1492) as a handbook on Petri nets in 1998. including reachability analysis (with several state space reduction techniques and using model checking). 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.

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

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

- linear functions unit lesson plan preview
- Conceito Self English Spanish
- Petri nets for manufacturing modeling
- Algrebra I EOC EOC Practice Test Hillsborough County Florida
- 10.1.1.51
- The Use of Aspen Plus Process
- Gud Monds Sen
- goodlines
- Jonathan M. Bloom- Odd Khovanov Homology is Mutation Invariant
- 05693187
- IP and LL Review - Speed Dating
- MCS Notes v1.2
- wmsor97
- Spring 2001 Quiz2 Solutions
- Addmath Phase 3
- The Delft Systems Approach Kopie
- lec_01
- Mathcad - DynamAssist_ Rainflow Counting
- 1.4 Functions II
- Question Bank_2013_regulation.pdf
- unitplanoverviewfall16 1
- VMOD Flex WhitePaper Grid Types
- Random Response Analysis
- Algebra i m3 Teacher Materials
- R014_How Can I Work on TesysT Custom Logic
- lesson plan for eportfolio
- kumaranilIJA21-24-2011
- All is on Models Essay
- XCELL48v20
- 403-1953-1-PB

Skip carousel

- frbrich_wp01-8.pdf
- Comparative Analysis of Power System Stabilizer using Artificial Intelligence Techniques
- UT Dallas Syllabus for phys5302.001.09s taught by Paul Macalevey (paulmac)
- tmp3183.tmp
- tmp5D76.tmp
- UT Dallas Syllabus for math2312.002.11f taught by Manjula Foley (mxf091000)
- tmp664
- UT Dallas Syllabus for math2312.521.07u taught by William Scott (wms016100)
- UT Dallas Syllabus for math2413.003.11s taught by Wieslaw Krawcewicz (wzk091000)
- UT Dallas Syllabus for math2v90.001.08s taught by Noureen Khan (nak033000)
- UT Dallas Syllabus for phys5301.501.11f taught by Paul Mac Alevey (paulmac)
- High School Mathematics Grade 10-12
- Discrete Mathematics
- tmp9817.tmp
- Tmp 7550
- UT Dallas Syllabus for math1314.002 06f taught by Paul Stanford (phs031000)
- tmpAE76.tmp
- A New Method for Solving Deterministic Multi-Item Fuzzy Inventory Model with Three Constraints
- UT Dallas Syllabus for math2312.002.09s taught by (mxf091000)
- ON Fuzzy Linear Programming Technique Application
- tmpA6A6.tmp
- frbrich_wp90-11.pdf
- Space Shuttle Trajectory Guide
- tmpD53B.tmp
- tmp28B2.tmp
- tmp5DD5.tmp
- tmpF8BB
- tmp2B1C.tmp
- UT Dallas Syllabus for math2312.001.09f taught by William Scott (wms016100)
- UT Dallas Syllabus for math5320.081 05u taught by Thomas Butts (tbutts)

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

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