A Technical Guide to IEC 15909-1-05 (ISO/IEC 15909-1:2004) for Systems and Software Engineering

Understanding High-Level Petri Nets – Concepts, Definitions, and Graphical Notation

Introduction to IEC 15909-1-05

IEC 15909-1-05 (formally ISO/IEC 15909-1:2004) is the international standard for High-level Petri nets – Part 1: Concepts, definitions and graphical notation. It defines a rigorous foundation for modelling concurrent, distributed, and reactive systems using Petri nets. The standard addresses three classes of nets: Place/Transition nets (P/T nets), Symmetric nets, and Coloured Petri nets (CPNs), providing a common language for system specification, analysis, and communication. Its adoption as CAN CSA ISO IEC 15909-1-05 extends its use in North American contexts, ensuring alignment with international best practices.

Standard reference: IEC 15909-1-05 (CAN CSA ISO IEC 15909-1-05) is identical to ISO/IEC 15909-1:2004. It is the first part of a multi-part standard; Part 2 (ISO/IEC 15909-2) covers the Petri Net Markup Language (PNML).

Scope of the Standard

IEC 15909-1-05 defines the core concepts and graphical syntax for high-level Petri nets. Its scope includes:

  • Unambiguous definitions of net elements (places, transitions, arcs, tokens) for different net classes.
  • A formal basis for behaviour, including firing rules, reachability, and concurrency.
  • Graphical notation guidelines ensuring diagrams are machine- and human-readable.
  • Extensions for structuring (e.g., hierarchical nets) and modular composition.

The standard does not prescribe specific analysis methods or tools but aims to promote interchangeability and comparability of Petri net models across platforms.

Important: IEC 15909-1-05 focuses on Place/Transition, Symmetric, and Coloured Petri nets. It does not cover time- or stochastic extensions, which are addressed in other standards such as ISO/IEC 15909-4 (under development).

Key Technical Requirements and Graphical Notation

Net Classes

The standard explicitly defines three levels of Petri net abstraction. The table below summarises their main characteristics:

Net ClassToken TypesArc ExpressionsFiring RuleTypical Use Case
Place/Transition (P/T)Multisets of indistinguishable tokens (natural numbers)Single integer (weight)Pre-enabling: each input place contains at least the weight number of tokensSimple resource flow, mutual exclusion
Symmetric NetsTokens belong to colour sets defined by product types and colour class groupsLinear combinations of variables and constantsEnabling depends on binding of variables to colours; arcs can be colouredProtocol analysis, parameterised control systems
Coloured Petri Nets (CPNs)Tokens carry data values (complex colour sets – records, unions, etc.)Arbitrary ML-like expressionsGuard conditions and arc expressions must evaluate to multisets over input placesDetailed functional modelling, software systems
Design tip: When modelling a new system, start with an abstract P/T net to verify the control flow, then add data complexity by migrating to a CPN. IEC 15909-1-05 supports such refinement between compliant net classes.

Graphical Notation

The standard specifies a consistent visual syntax. Key elements include:

  • Places drawn as circles or ellipses; tokens are shown as black dots (P/T) or coloured dots (CPN).
  • Transitions drawn as rectangles or bars; immediate and timed not distinguished graphically (timed extensions are outside this part).
  • Arcs are directed, with optional inscriptions (weights, expressions).
  • Colour inscriptions appear beside places (colour sets) and transitions (guard expressions).
  • Hierarchical refinement is indicated by a double border (substitution transition) or a tag.

All graphical elements must adhere to the layout and typographic rules in Clause 6 of the standard to ensure unambiguous exchange. The standard also references the underlying Petri Net Markup Language (PNML) defined in Part 2 for electronic interchange.

Common mistake: Using different orientations for arcs (e.g., bidirectional or undirected) is strictly prohibited unless explicitly allowed by the net class definition. Always verify arc directions in compliance checklists.

Implementation and Compliance

Conformance Levels

IEC 15909-1-05 defines three levels of conformance for modelling tools and notations:

  1. Level 1 – Basic P/T: Only Place/Transition net constructs are required. Minimal set of graphical shapes.
  2. Level 2 – Symmetric: Support for colour classes, symmetric arc functions, and guard conditions.
  3. Level 3 – Full CPN: Complete support for interactive and hierarchical Coloured Petri nets, full expression language, and complex colour sets.

Tools claiming compliance must clearly specify which level(s) they support. A tool that supports Level 3 must also support Levels 1 and 2.

Compliance check: When selecting a Petri net tool, request a conformance statement to IEC 15909-1-05 Level 3 if you need full colour and hierarchy capabilities. Many academic tools are partially compliant.

Using the Standard in Practice

Integrating IEC 15909-1-05 into your engineering workflow offers several advantages:

  • Models become portable across compliant tools (e.g., CPN Tools, PIPE, Tina).
  • The formal underpinning enables automatic verification (state-space, invariants).
  • It simplifies communication with regulators and partners who adopt the same notation.

To achieve consistent compliance:

  • Always use the official graphical notation (see Clauses 5 and 6 of the standard).
  • Define colour sets explicitly; avoid ambiguous token descriptions.
  • If hierarchical structures are used, ensure substitution transitions are correctly matched.
Modelling guideline: The standard warns against “overloading” arcs with non-standard inscriptions. In CPNs, each arc expression must evaluate to a multiset of the connected place’s colour set – mismatches will invalidate the model’s compliance.

Conclusion

IEC 15909-1-05 provides an essential, vendor-neutral framework for high-level Petri net modelling. Whether you are modelling a small protocol or an entire system architecture, adherence to this standard guarantees consistency, reusability, and interoperability. Combined with Part 2 (PNML), it forms the backbone of a robust systems engineering notation. Engineers and researchers are strongly encouraged to adopt the standard to maximise the value of their Petri net models.

Q: What is the difference between IEC 15909-1-05 and ISO/IEC 15909-1:2004?
A: They are identical; IEC 15909-1-05 refers to the same document. The “ISO/IEC” prefix is used in joint publications. “CAN CSA ISO IEC” indicates the Canadian adoption.
Q: Does the standard cover timed or stochastic Petri nets?
A: No. IEC 15909-1-05 covers only untimed high-level nets. Timed and stochastic extensions are dealt with in other parts of the ISO/IEC 15909 series (Parts 4 and 5).
Q: Can I create a UML-like diagram using this standard?
A: Not directly. The standard is specific to Petri net notation. However, the semantics can be used to complement activity diagrams or state machines where concurrency is critical.
Q: What is the best way to verify compliance of my tool?
A: Check the tool documentation for a conformance statement. If none exists, test with a small Level 1 P/T model (e.g., a simple producer–consumer) and verify that exported PNML conforms to ISO/IEC 15909-2. For Level 3, confirm that colour sets and guards are correctly supported.

© 2026 — Based on IEC 15909-1-05 (CAN CSA ISO IEC 15909-1-05) and ISO/IEC 15909-1:2004. All rights reserved.

📥 Standard Documents Download

🔒
Please wait 10 seconds, the download links will appear after the ad loads

Leave a Reply

Your email address will not be published. Required fields are marked *