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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Readers are also referred to the bibliography. The Petri net community has publish a 2 volume set in Lecture Notes in Computer Science (volumes 1491 and 1492) as a handbook on Petri nets in 1998. structural analysis and invariants analysis that may be used to investigate properties of systems modelled by nets. 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.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). 41 .

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

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

- reference system
- macec
- Final Exam
- Chapter2 New
- Intro
- 9. ERROR CONTROL.pdf
- 310 035 Object Oriented Concepts
- sem2
- SECCION - IBM Cognos Framework Manager User Guide
- Syntactic Analysis Kannada
- Viva Speech
- Flowchart - Wikipedia_ the ..
- ooplai
- Crib Sheet - Final Exam
- Soft Constraints for SystemVerilog
- pdaCfgEquivalence
- The Hamming Code
- R-intro
- Software Testing, Software Quality Assurance
- Gretl Guide
- Query Languages for Graph Databases
- M.tech Computer
- Prefix to Postfix
- Article
- Dsp Report
- Model Transformations in Model Driven Architecture
- Best Practice Modeling Fm
- R-intro
- es_201108v010102p.pdf
- Introduction to the Objective Caml Programming Language [Hickey Sep 2004]

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 listening from where you left off, or restart the preview.

scribd