High-level Petri Nets - Concepts, Definitions and Graphical Notation Final Draft International Standard ISO/IEC

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, Definitions, 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 Definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 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 Definition of High-level Petri Net Graphs 7.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

7.2 7.3 7.4

Definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 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 Specification . . . . . . . . . . . . . . . . . . . . . . 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 Definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Annex D: Tutorial (informative) D.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . D.2 Net Graphs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . D.2.1 Places and Tokens . . . . . . . . . . . . . . . . . . . . . . . . . . . . D.2.2 Transitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . D.2.3 Arcs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . D.2.4 The Net Graph . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . D.3 Transition Conditions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . D.4 Net Dynamics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . D.5 Flow Control Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Annex E: Analysis Techniques (informative) Bibliography

27 27 27 28 28 30 30 32 32 32 33 33 33 33 34 35 35 35 37 38 41 42

4

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

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

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

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

1.1.1. 3. 3.20. normally represented by an ellipse in the net graph. 3.23.1.) 3.1.2 Term evaluation: The result obtained after the binding of variables in the term.2 Input sort: The same as an argument sort. 3.22 Signature/Many-sorted signature: A mathematical structure comprising a set of sorts and a set of operators. A place is typed. It is instantiated as a constant. one called places and the other called transitions.16. 3.1.1.4 Range sort: The same as an output sort. where the nodes correspond to reachable markings.1.3 Output sort: The sort of an output of an operator.2 Output Place (of a transition): A place connected to the transition by an output arc.1.1. 3.1.1.23 Sort: A symbol representing the name of a set. (This set can describe an arbitrarily complex data structure.21 Reachability Graph: A directed graph of nodes and edges.17 Operator: A symbol representing the name of a function.1.3 Petri Net: An algebraic structure with two sets. 3. 9 .1.1.18 Parameter: A symbol that can take a range of values defined by a set. taken from the place kind.20. variables and operators built from a signature and a set of sorted variables. 3.23.4 Place/Transition Net: A Petri net comprising a net graph with positive integers associated with arcs and an initial marking function which associates a natural number of simple tokens (‘black dots’) with places. 3. 3. 3.1. together with their associated relations and functions.3. Carl Adam Petri.25 Token: A data item associated with a place and chosen from the place’s type.24. 3.22.1.1 Boolean signature: A signature where one of the sorts is ÓÓÐ.23.24.16. 3. 3.19 Parameterized High-level Net Graph: A high-level net graph that contains parameters in its definition. the computation of the results of the associated functions.1.3 Place Type: A non-empty set of data items associated with a place.1 Argument sort: The sort of an argument of an operator. and named after their inventor.20 Place: A node of a net. 3.20.1.1. and any simplifications performed (such as gathering like terms to obtain the symbolic sum representation of a multiset). and the edges correspond to transition occurrences. 3.1. 3.1 Input Place (of a transition): A place connected to the transition by an input arc.25.23. 3. 3.1.1 Enabling Tokens: The multiset of values obtained when an input arc annotation is evaluated for a particular binding to variables. corresponding to the carrier Boolean in any associated algebra.1 Closed term: A term comprising constants and operators but no variables. 3. and one of the constants is ØÖÙ ÓÓÐ corresponding to the value true in the algebra.24 Term: An expression comprising constants.

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

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

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

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

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

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

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

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

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

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

. according to the following rule: Ô¾È Å ¼ ´Ôµ Å ´Ôµ   Î Ð«Ø ´Ô ص · Î Ð«Ø ´Ø Ôµ 20 . Å . by ×× ÒØ . for a particular assignment. 7. If comprises a single transition mode. known as a mode of Ø.7. if is enabled. ¯ Ù Ú ´Ù Úµ. 7. Å . for ´Ù Úµ ¾ ¯ Ù Ú ¨. Define the set of all transition modes to be ÌÅ A step ´Ø «Øµ Ø ¾ Ì «Ø ¾ ×× ÒØ and a step to be a finite non-empty multiset over Ì Å . then the sum is reduced to a single term so that the enabling condition is the same as that of the previous subclause. denoted Å Ø «Ø Å ¼ .4. so that .2 Concurrent Enabling of Transition Modes Let «Ø be an assignment for the variables of transition Ø ¾ Ì which satisfies its transition condition and denote the set of all assignments (which satisfy its transition condition) for transition Ø. to its variables.4. of transition modes is enabled in a marking. the marking of the net is transformed to a new marking Å ¼ .5 Transition Rule If Ø ¾ Ì is enabled in mode «Ø .1 Enabling of a Single Transition Mode A transition Ø ¾ Ì is enabled in a marking. iff Ô¾È where for ´Ù Î Ð«Ø ´Ô ص Å ´Ôµ Ú µ ¾ ´È ¢ Ì µ ´Ì ¢ È µ. for ´Ù Úµ ¾ where ΠЫ ´¨µ ¨ is a symbol that represents the empty multiset at the level of the signature. Ø may occur in mode «Ø . that satisfies the transition condition. When Ø occurs in mode «Ø . iff Ô¾È ´ Ø «Ø µ¾ Î Ð«Ø ´Ô ص Å ´Ôµ Thus all of the transition modes in are concurrently enabled. for marking Å . « Ø . Î Ð ÓÓÐ ´Ì ´Øµµ ØÖÙ .4 Enabling 7.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

. . new. ż (StoreRoom) 40 .SendCrate sc>0 Cr CratesInTransit Cr Crates ReceiveCrate Cr StoreRoom Cr Crates ProcessCrate sc sc-1 sc+new new sc n n n>0 SendLetter 0 n n+1 N N N SendingCredits ReceiveLetter LettersInTransit UnreservedSlots Crates Cr N 0. . sc : N MAX : N · Z ¢ Z Z is arithmetic addition   Z ¢ Z Z is arithmetic substraction ż (CratesInTransit) ż (LettersInTransit) ż (SendingCredits) ½ ¼ ż (UnreservedSlots) ½ MAX Figure D.11: Example G. 1. 2. Z is the set of integers n.

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

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

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

Sign up to vote on this title
UsefulNot useful