Systems and software engineering — High-level Petri nets — Part 1: Concepts, definitions and graphical notation

ISO/IEC 15909-1:2004 defines a semi-graphical modelling language for the specification, design and analysis of discrete event systems, including software and in particular distributed and parallel systems where concurrency is an important characteristic. The technique, High-level Petri Nets, is mathematically defined and may thus be used to provide unambiguous specifications and descriptions of applications. The graphical nature of the technique allows information, or resource flow, and control flow to be visualised, providing a powerful aid to understanding system behaviour. It is also an executable technique, allowing specification prototypes to be developed to test ideas at the earliest and cheapest opportunity. Specifications written in the technique may be subjected to analysis methods to prove properties about the specifications, before implementation commences, thus saving on testing and maintenance time. The field of application encompasses a wide range of systems from technical systems such as manufacturing, business processes, computer software and hardware, telecommunication networks and signalling systems, defence systems, mechatronics, postal services and avionics to biological and sociotechnical systems.

Ingénierie des systèmes et du logiciel — Réseaux de Petri de haut niveau — Partie 1: Concepts, définitions et notation graphique

General Information

Status
Withdrawn
Publication Date
01-Dec-2004
Withdrawal Date
01-Dec-2004
Current Stage
9599 - Withdrawal of International Standard
Completion Date
27-Aug-2019
Ref Project

Relations

Buy Standard

Standard
ISO/IEC 15909-1:2004 - Systems and software engineering -- High-level Petri nets
English language
38 pages
sale 15% off
Preview
sale 15% off
Preview

Standards Content (Sample)

INTERNATIONAL ISO/IEC
STANDARD 15909-1
First edition
2004-12-01


Software and system engineering —
High-level Petri nets —
Part 1:
Concepts, definitions and graphical
notation
Ingénierie du logiciel et du système — Toiles de Petri de haut niveau —
Partie 1: Concepts, définitions et notation graphique




Reference number
ISO/IEC 15909-1:2004(E)
©
ISO/IEC 2004

---------------------- Page: 1 ----------------------
ISO/IEC 15909-1:2004(E)
PDF disclaimer
This PDF file may contain embedded typefaces. In accordance with Adobe's licensing policy, this file may be printed or viewed but
shall not be edited unless the typefaces which are embedded are licensed to and installed on the computer performing the editing. In
downloading this file, parties accept therein the responsibility of not infringing Adobe's licensing policy. The ISO Central Secretariat
accepts no liability in this area.
Adobe is a trademark of Adobe Systems Incorporated.
Details of the software products used to create this PDF file can be found in the General Info relative to the file; the PDF-creation
parameters were optimized for printing. Every care has been taken to ensure that the file is suitable for use by ISO member bodies. In
the unlikely event that a problem relating to it is found, please inform the Central Secretariat at the address given below.


©  ISO/IEC 2004
All rights reserved. Unless otherwise specified, no part of this publication may be reproduced or utilized in any form or by any means,
electronic or mechanical, including photocopying and microfilm, without permission in writing from either ISO at the address below or
ISO's member body in the country of the requester.
ISO copyright office
Case postale 56 • CH-1211 Geneva 20
Tel. + 41 22 749 01 11
Fax + 41 22 749 09 47
E-mail copyright@iso.org
Web www.iso.org
Published in Switzerland

ii © ISO/IEC 2004 – All rights reserved

---------------------- Page: 2 ----------------------
ISO/IEC 15909-1:2004(E)
Contents
Foreword                                                                  vi

Introduction                                                               vii

1 Scope 1
1.1 Purpose . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 Field of Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.3 Audience . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
2 Terms, Definitions, Abbreviations and Symbols 2
2.1 Glossary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
2.2 Abbreviations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
3 Conventions and Notation 5
4 Semantic Model for High-level Petri Nets 6
4.1 Definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
4.2 Marking of HLPN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
4.3 Enabling of Transition Modes . . . . . . . . . . . . . . . . . . . . . . . . . . 7
4.3.1 Enabling of a Single Transition Mode . . . . . . . . . . . . . . . . . . 7
4.3.2 Concurrent Enabling of Transition Modes . . . . . . . . . . . . . . . . 7
4.4 Transition Rule . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
5 Concepts Required for High-level Petri Net Graphs 8
5.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
5.2 High-level Petri Net Graph Components . . . . . . . . . . . . . . . . . . . . . 8
5.3 Net Execution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
5.3.1 Enabling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
5.3.2 Transition Rule for a Single Transition Mode . . . . . . . . . . . . . . 9
5.3.3 Step of Concurrently Enabled Transition Modes . . . . . . . . . . . . . 10
5.4 Graphical Concepts and Notation . . . . . . . . . . . . . . . . . . . . . . . . . 10
5.5 Conditionals in Arc Expressions, and Parameters . . . . . . . . . . . . . . . . 11
6 Definition of High-level Petri Net Graphs 13
6.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
© ISO/IEC 2004 – All rights reserved iii

---------------------- Page: 3 ----------------------
ISO/IEC 15909-1:2004(E)

6.2 Definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
6.3 Marking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
6.4 Enabling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
6.4.1 Enabling of a Single Transition Mode . . . . . . . . . . . . . . . . . . 14
6.4.2 Concurrent Enabling of Transition Modes . . . . . . . . . . . . . . . . 15
6.5 Transition Rule . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
7 Notation for High-level Petri Net Graphs 16
7.1 General . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
7.2 Places . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
7.3 Transitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
7.4 Arcs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
7.5 Markings and Tokens . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
8 Semantics of High-level Petri Net Graphs 17
9 Conformance 18
9.1 PN Conformance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
9.1.1 Level 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
9.1.2 Level 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
9.2 HLPN Conformance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
9.2.1 Level 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
9.2.2 Level 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
Annex A: Mathematical Conventions (normative) 20
A.1 Sets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
A.2 Multisets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
A.2.1 Sum Representation . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
A.2.2 Membership . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
A.2.3 Empty Multiset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
A.2.4 Cardinality and Finite Multiset . . . . . . . . . . . . . . . . . . . . . . 21
A.2.5 Multiset Equality and Comparison . . . . . . . . . . . . . . . . . . . . 21
A.2.6 Multiset Operations . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
A.3 Concepts from Algebraic Specification . . . . . . . . . . . . . . . . . . . . . . 21
A.3.1 Signatures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
iv © ISO/IEC 2004 – All rights reserved

---------------------- Page: 4 ----------------------
ISO/IEC 15909-1:2004(E)

A.3.2 Boolean Signature . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
A.3.3 Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
A.3.4 Terms built from a Signature and Variables . . . . . . . . . . . . . . . 22
A.3.5 Many-sorted Algebras . . . . . . . . . . . . . . . . . . . . . . . . . . 23
A.3.6 Assignment and Evaluation . . . . . . . . . . . . . . . . . . . . . . . 24
Annex B: Net Classes (normative) 25
B.1 Place/Transition Nets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
Annex C: High-level Petri Net Schema (informative) 27
C.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
C.2 Definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
Annex D: Tutorial (informative) 28
D.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
D.2 Net Graphs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
D.2.1 Places and Tokens . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
D.2.2 Transitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
D.2.3 Arcs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
D.2.4 The Net Graph . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
D.3 Transition Conditions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
D.4 Net Dynamics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
D.5 Flow Control Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
Annex E: Analysis Techniques (informative) 36
Bibliography 37
© ISO/IEC 2004 – All rights reserved v

---------------------- Page: 5 ----------------------
ISO/IEC 15909-1:2004(E)
Foreword
ISO (the International Organization for Standardization) and IEC (the International Electrotechnical
Commission) form the specialized system for worldwide standardization. National bodies that are members of
ISO or IEC participate in the development of International Standards through technical committees
established by the respective organization to deal with particular fields of technical activity. ISO and IEC
technical committees collaborate in fields of mutual interest. Other international organizations, governmental
and non-governmental, in liaison with ISO and IEC, also take part in the work. In the field of information
technology, ISO and IEC have established a joint technical committee, ISO/IEC JTC 1.
International Standards are drafted in accordance with the rules given in the ISO/IEC Directives, Part 2.
The main task of the joint technical committee is to prepare International Standards. Draft International
Standards adopted by the joint technical committee are circulated to national bodies for voting. Publication as
an International Standard requires approval by at least 75 % of the national bodies casting a vote.
Attention is drawn to the possibility that some of the elements of this document may be the subject of patent
rights. ISO and IEC shall not be held responsible for identifying any or all such patent rights.
ISO/IEC 15909-1 was prepared by Joint Technical Committee ISO/IEC JTC 1, Information technology,
Subcommittee SC 7, Software and system engineering.
ISO/IEC 15909 consists of the following parts, under the general title Software and system engineering —
High-level Petri nets:
 Part 1: Concepts, definitions and graphical notation

vi © ISO/IEC 2004 – All rights reserved

---------------------- Page: 6 ----------------------
ISO/IEC 15909-1:2004(E)
Introduction
This International standard is Part 1 of a multi-part standard concerned with defining a mod-

elling language and its transfer format, known as High-level Petri Nets. Part 1 defines a semi-
graphical technique for the specification, design and analysis of discrete event systems.

The technique is mathematically defined and may thus be used to provide unambiguous spec-
ifications and descriptions of applications. It is also an executable technique, allowing specifi-
cation prototypes to be developed to test ideas at the earliest and cheapest opportunity. Specifi-
cations written in the technique may be subjected to analysis methods to prove properties about
the specifications, before implementation commences, thus saving on testing and maintenance
time and providing a high level of quality assurance.
Petri nets have been used to describe a wide range of systems since their invention in 1962. 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. High-level Petri Nets were developed to overcome
this problem by introducing higher-level concepts, such as the use of complex structured data
as tokens, 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), and is the usual term used in the Petri net com-
munity. Two of the early forms of high-level nets that this standard builds on are Predicate-
Transition Nets and Coloured Petri Nets, first introduced in 1979 and developed during the
1980s. It also uses some of the notions developed for Algebraic Petri nets, first introduced in
the mid 1980s. It is believed that this standard captures the spirit of these earlier developments
(see bibliography).
The technique promises to have multiple uses. For example, it may be used directly to specify
systems or to define the semantics of other less formal languages. It may also serve to integrate
techniques currently used independently such as state transition diagrams and data flow dia-
grams. The technique is particularly suited to parallel and distributed systems development as
it supports concurrency. The technique is able to specify systems at a level that is independent
of the choice of implementation (i.e. by software, hardware (electronic and/or mechanical) or
humans or a combination). This International Standard may be cited in contracts for the devel-
opment of systems (particularly distributed systems), or used by application developers or Petri
net tool vendors or users.
Part 1 of this International Standard provides an abstract mathematical syntax and a formal
semantics for the technique. Conformance to the standard is possible at several levels. The
level of conformance depends on the class of high-level net chosen and the degree to which the
syntax is supported. The basic level of conformance is to the semantic model.
Clause 1 describes the scope, areas of application and the intended audience of Part 1 of this
International Standard. Clause 2 provides a glossary of terms and defines abbreviations. The main
mathematical apparatus required for defining the semantic model and its graphical form is developed in
normative Annex A and referred to in clause 3. The basic semantic model for High-level Petri Nets
is given in clause 4, while the main concepts behind the graphical form are in formally introduced
in clause 5. Clause 6 defines the High-level Petri Net Graph, the form of the standard intended
for industrial use. Components of the graph are annotated. The annotations are defined at a
© ISO/IEC 2004 – All rights reserved vii

---------------------- Page: 7 ----------------------
ISO/IEC 15909-1:2004(E)


meta-level allowing many different concrete syntaxes to be used. Clause 7 describes several
syntactical conventions. Clause 8 maps the graphical form to the basic semantic model. The
conformance statement is given in clause 9. Normative Annex B defines Place/Transition nets
(without capacities) as a restriction of the definition of Clause 6. Place/Transition nets is often
what is meant when the term Petri nets is used. Three informative annexes are included: Annex C
defines a High-level Petri Net Schema, which allows classes of systems to be described at
a syntactic level; Annex D is a tutorial on the High-level Petri Net Graph; and Annex E pro-
vides pointers to analysis techniques for High-level Petri Nets. A bibliography concludes this
International Standard.
viii © ISO/IEC 2004 – All rights reserved

---------------------- Page: 8 ----------------------
INTERNATIONAL STANDARD ISO/IEC 15909-1:2004(E)

Software and system engineering — High-level Petri nets —
Part 1:
Concepts, definitions and graphical notation
1 Scope

1.1 Purpose
This International Standard defines a Petri net technique, called High-level Petri Nets, includ-
ing its syntax and semantics. It provides a reference definition that can be used both within

and between organisations, to ensure a common understanding of the technique and of the
specifications written using the technique. This International Standard will also facilitate the
development and interoperability of Petri net computer support tools.
Part 1 of this International Standard defines a mathematical semantic model, an abstract math-
ematical syntax for annotations and a graphical notation for High-level Petri Nets, known as
the High-level Petri Net Graph. A mathematical mapping is provided that defines the graphical
form in terms of the semantic model. A transfer format for the High-level Petri Net Graph is the
subject of Part 2 of this International Standard, while Part 3 addresses techniques for modularity
(such as hierarchies) and the augmentation of High-level Petri Nets with time.
1.2 Field of Application
This International Standard is applicable to a wide variety of concurrent discrete event systems
and in particular distributed systems. Generic fields of application include:

requirements analysis;

development of specifications, designs and test suites;

descriptions of existing systems prior to re-engineering;

modelling business and software processes;

providing the semantics for concurrent languages;

simulation of systems to increase confidence;

formal analysis of the behaviour of systems; and

development of Petri net support tools.
This International Standard may be applied to the design of a broad range of systems and
processes, including aerospace, air traffic control, avionics, banking, biological and chemi-
cal processes, business processes, communication protocols, computer hardware architectures,
control systems, databases, defence command and control, distributed computing, electronic
commerce, fault-tolerant systems, hospital procedures, information systems, Internet protocols
and applications, legal processes, logistics, manufacturing systems, metabolic processes, mu-
sic, nuclear power systems, operating systems, transport systems (including railway control),
security systems, telecommunications and workflow.
(c) ISO/IEC 2004 - All rights reserved 1

---------------------- Page: 9 ----------------------
ISO/IEC 15909-1:2004(E)
1.3 Audience
Part 1 of this International Standard is written as a reference for systems analysts, designers,
developers, maintainers and procurers, and for Petri net tool designers and standards developers.
2 Terms, Definitions, Abbreviations and Symbols
For the purpose of this International Standard, the following definitions, abbreviations and sym-
bols apply. Any ambiguity in the definitions is resolved by the mathematically precise defini-
tions in the body of Part 1 of this International Standard.
2.1 Glossary
2.1.1 Arc: A directed edge of a net which may connect a place to a transition or a transition to
a place, normally represented by an arrow.
2.1.1.1 Input Arc (of a transition): An arc directed from a place to the transition.
2.1.1.2 Output Arc (of a transition): An arc directed from the transition to a place.
2.1.1.3 Arc Annotation: An expression that may involve constants, variables and operators
used to annotate an arc of a net. The expression must evaluate to a multiset over the type of the
arc’s associated place.
2.1.2 Arity: The input sorts and output sort for an operator.
2.1.3 Assignment: For a set of variables, the association of a value (of correct type) to each
variable.
2.1.4 Basis Set: The set of objects used to create a multiset.
2.1.5 Binding: See Assignment.
2.1.6 Carrier: A set of a many-sorted algebra.
2.1.7 Concurrency: The property of a system in which events may occur independently of each
other, and hence are not ordered (see also Step and Concurrent Enabling).
2.1.8 Declaration: A set of statements which define the sets, constants, parameter values, typed
variables and functions required for defining the annotations on a High-level Petri Net Graph.
2.1.9 Enabling (a transition): A transition is enabled in a particular mode and net marking,
when the following conditions are met:
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. The demand is satisfied when the place’s
marking contains (at least) the multiset of tokens indicated by the evaluated arc annotation.
NOTE: The determination of transition modes guarantees that the Transition Condition is satis-
fied (see Transition Mode).
2.1.10 Concurrent Enabling (of transition modes): A multiset of transition modes is concur-
rently enabled if all the involved input places contain enough tokens to satisfy the sum of all of
(c) ISO/IEC 2004 - All rights reserved 2

---------------------- Page: 10 ----------------------
ISO/IEC 15909-1:2004(E)
the demands imposed on them by each input arc annotation evaluated for each transition mode
in the multiset.
2.1.11 High-level Net (High-level Petri Net): An algebraic structure comprising: a set of
places; a set of transitions; a set of types; a function associating a type to each place, and a
set of modes (a type) to each transition; Pre function imposing token demands (multisets of
tokens) on places for each transition mode; Post function determining output tokens (multisets
of tokens) for places for each transition mode; and an initial marking.
2.1.12 High-level Petri Net Graph: A net graph and its associated annotations comprising
Place Types, Arc Annotations and Transition Conditions, and their corresponding definitions in
a set of Declarations, and an Initial Marking of the net.
2.1.13 Many-sorted Algebra: A mathematical structure comprising a set of sets and a set of
functions taking these sets as domains and co-domains.
2.1.14 Marking (of a net): The set of the place markings for all places of the net.
2.1.14.1 Initial Marking (of the net): The set of initial place markings given with the high-
level net definition.
2.1.14.2 Initial Marking of a place: A special marking of a place, defined with the high-level
net.
2.1.14.3 Marking of a place: A multiset of tokens associated with (‘residing in’) the place.
2.1.14.4 Reachable Marking: Any marking of the net that can be reached from the initial
marking by the occurrence of transitions.
2.1.14.5 Reachability Set: The set of reachable markings of the net, including the initial mark-
ing.
2.1.15 Multiset: A collection of items where repetition of items is allowed.
2.1.15.1 Multiplicity: A natural number (i.e., non-negative integer) which describes the number
of repetitions of an item in a multiset.
2.1.15.2 Multiset Cardinality (cardinality of a multiset): The sum of the multiplicities of
each of the members of the multiset.
2.1.16 Net: A general term used to describe all classes of Petri nets.
2.1.16.1 Net Graph: A directed graph comprising a set of nodes of two different kinds, called
places and transitions, and their interconnection by directed edges, called arcs, such that only
places can be connected to transitions, and transitions to places, but never transitions to transi-
tions, nor places to places.
2.1.16.2 Node (of a net): A vertex of a net graph (i.e., a place or a transition).
2.1.16.3 Petri Net: An algebraic structure with two sets, one called places and the other called
transitions, together with their associated relations and functions, and named after their inventor,
Carl Adam Petri.
2.1.16.4 Place/Transition Net: A Petri net comprising a net graph with positive integers asso-
ciated with arcs and an initial marking function which associates a natural number of simple
tokens (‘black dots’) with places.
(c) ISO/IEC 2004 - All rights reserved 3

---------------------- Page: 11 ----------------------
ISO/IEC 15909-1:2004(E)
2.1.17 Operator: A symbol representing the name of a function.
2.1.18 Parameter: A symbol that can take a range of values defined by a set. It is defined as a
constant in the signature.
2.1.19 Parameterized High-level Net Graph: A high-level net graph that contains parameters
in its definition.
2.1.20 Place: A node of a net, taken from the place kind, normally represented by an ellipse in
the net graph. A place is typed.
2.1.20.1 Input Place (of a transition): A place connected to the transition by an input arc.
2.1.20.2 Output Place (of a transition): A place connected to the transition by an output arc.
2.1.20.3 Place Type: A non-empty set of data items associated with a place. (This set can
describe an arbitrarily complex data structure.)
2.1.21 Reachability Graph: A directed graph of nodes and edges, where the nodes correspond
to reachable markings, and the edges correspond to transition occurrences.
2.1.22 Signature/Many-sorted signature: A mathematical structure comprising a set of sorts
and a set of operators.

2.1.22.1 Boolean signature: A signature where one of the sorts is , corresponding to the
carrier Boolean in any associated algebra, and one of the constants iscorresponding to
the value true in the algebra.
2.1.23 Sort: A symbol representing the name of a set.
2.1.23.1 Argument Sort: The sort of an argument of an operator.
2.1.23.2 Input Sort: The same as an argument sort.
2.1.23.3 Output Sort: The sort of an output of an operator.
2.1.23.4 Range Sort: The same as an output sort.
2.1.24 Term: An expression comprising constants, variables and operators built from a signa-
ture and a set of sorted variables.
2.1.24.1 Closed Term: A term comprising constants and operators but no variables. Also
known as a Ground Term.
2.1.24.2 Term Evaluation: The result obtained after the binding of variables in the term, the
computation of the results of the associated functions, and any simplifications performed (such
as gathering like terms to obtain the symbolic sum representation of a multiset).
2.1.25 Token: A data item associated with a place and chosen from the place’s type.
2.1.25.1 Enabling Tokens: The multiset of values obtained when an input arc annotation is
evaluated for a particular binding to variables.
2.1.25.2 Simple Token: A valueless token, normally represented by a black dot, and used in
Place/Transition nets (as opposed to high-level nets).
2.1.26 Transition: A node of a net, taken from the transition kind, and represented by a rectan-
gle in the net graph.
(c) ISO/IEC 2004 - All rights reserved 4

---------------------- Page: 12 ----------------------
ISO/IEC 15909-1:2004(E)
2.1.26.1 Transition Condition: A boolean expression (one that evaluates to true or false) asso-
ciated with a transition.
2.1.26.2 Transition Mode: A pair comprising the transition and a mode.
2.1.26.2.1 Mode: A value taken from the transition’s type. When considering a High-level Petri
Net Graph, a mode may be derived from an assignment of values to the transition’s variables
that satisfies the transition condition.
2.1.26.3 Transition Occurrence (Transition Rule): If a transition is enabled in a mode, it may
occur in that mode. On the occurrence of the transition, the following actions occur indivisibly:
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, 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.
NOTE: A place may be both an input place and an output place of the same transition.
2.1.26.4 Step: The simultaneous occurrence of a finite multiset of transition modes that are
concurrently enabled in a marking.
2.1.26.5 Transition Variables: All the variables that occur in the expressions associated with
the transition. These are the transition condition, and the annotations of arcs surrounding the
transition.
2.1.27 Type: A set.
2.2 Abbreviations
2.2.1 HLPN: High-level Petri Net
2.2.2 HLPNG: High-level Petri Net Graph
2.2.3 HLPNS: High-level Petri Net Schema
2.2.4 iff: if and only if
2.2.5 PN: Petri Net
2.2.6 PTNG: Place/Transition Net Graph.
3 Conventions and Notation
This International Standard uses the notation for sets, multisets and universal algebra defined in
Annex A. Annex A also defines the concept of multiset addition, (using the ‘’ symbol), which
should not be confused with arithmetic addition. The notion of multisets is required for clauses
4, 5, 6, 7 and 8. An understanding of many-sorted signatures, sorted variables and many-sorted
algebras provided in Annex A is required for clauses 6 and 8 and Annexes B and C.
Wherever possible standard mathematical notation has been used. An instance of notation spe-
cific to Petri nets is when a marking of the net is transformed to a new marking.

is used to denote that a new marking, , is created on the occurrence of a multiset

of transition modes, , when in the marking .
(c) ISO/IEC 2004 - All rights reserved 5

---------------------- Page: 13 ----------------------
ISO/IEC 15909-1:2004(E)
This notation is defined in clause 4, and similar notation is used in clause 6.
In High-level Petri Nets, an arc may be annotated by a variable or constant (or combination)
of the same type as the arc’s place. The evaluation of the arc expression is thus an element
of the place’s type. By convention, if an arc expression evaluates to an element of the place’s
type, this is interpreted as the corresponding singleton multiset over the place’s type. This is
necessary as an arc annotation when evaluated must be a multiset over the associated place’s
type. A similar convention applies when an arc expression evaluates to a set, which may be a
subset of the associated place’s type. This is interpreted as a multiset over the place’s type, with
corresponding multiplicities of zero and one.
The graphical notation used in clause 5 is that defined in clause 7.
4 Semantic Model for High-level Petri Nets
4.1 Definition

A High-level Petri Net is the structure: HLPN = where

is a finite set of elements called Places.
"!

is a finite set of elements called Transitions disjoint from (i.e. ).
$##
is a non-empty finite set of non-empty domains where each element of is called a
type.
+-,#
%’&(*)is a function used to assign a type to each place and to each
transition. (For transitions, the type defines the set of modes of the transition.)
+-,87

.&/10325456:912<;>=are the pre and post mappings with
@?GFIH
10325456%AB5
...

Questions, Comments and Discussion

Ask us and Technical Secretary will try to provide an answer. You can facilitate discussion about the standard in here.