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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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. 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 HLPN Level 1 conformance to this International Standard an implementation shall demonstrate that it has the semantics deﬁned in clause 5.10.. as these are trivial. 10.2.1 and the relevant notational conventions of clause 8. nor a declaration.1.2 HLPN Conformance 10.e. 10.2. 24 .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. there is no need for place typing. section B. i.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

for example. Readers are also referred to the bibliography. the second volume of Kurt Jensen’s book on Coloured Petri Nets. 41 . structural analysis and invariants analysis that may be used to investigate properties of systems modelled by nets. 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.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.

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

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

- Barr, Category Theory
- MTH 202
- Basic Mathematics Vol I for Online
- Prims Algorithms
- week01
- Discrete Maths12
- Summer
- A Categorical Manifesto
- Deadlocks
- Total Dominating Color Transversal Number of Graphs And Graph Operations
- Competitive Programming 2
- 04016094
- file27 paper
- Deadlocks
- Design of Gui
- Tmp 3078
- Toc Model 2 Mmark
- GE184-VC02-HowToLieWithGraphs
- lec5-2
- Planar Graphs.ppt
- Handbook Math Functions
- Lovasz Discrete and Continuous
- notesb
- Bachelor Thesis Eduard Bauer
- Final Paper
- INDEPENDENT DOMINATION NUMBER OF EULER TOTIENT CAYLEY GRAPHS AND ARITHMETIC GRAPHS
- Maximal Independent Set
- Miki Shimabara
- 100911
- IJMC-1-2008
- High-Level Petri Nets - Concepts, Definitions and Graphical

Are you sure?

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

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

Get the full title to continue

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

scribd