Internal
Much of this information is internal documentation. Care has not been made to make links work and make the documentation conprehensible for outsiders.

This is the main page for information on the Abstract Petri Net module (APN). This module supports the representation and manipulation of Coloured Petri Nets, including permanent storage, compilation, analysis, and verification.

Goals

  1. The APN must support the representation, maintenance, and storage of hierarchical Coloured Petri Nets.
  1. The APN must be flexible for research. One

should expect that future research within, say, Petri nets

would demand exploration by means of tools.
  1. The APN must be prepared for industrial use.

Issues such as scalability and efficiency should be taken

into consideration.
  1. The APN must provide a library with a robust interface.

A number of library routines must encapsulate the

representation such that developers are independent of
low-level changes inside APN. On the long term, it is
expected that the APN will be used by other (BETA) tools.
  1. The APN must be extensible. It must be possible to

represent information beyond the basic CPN formalism such

as styles and constraints.

Online Manuals

[[APN_Interface_Manual|APN Interface Manual]]

Useful information for developers.

[[APN_ML_Interface_Manual|APN ML Interface Manual]]

Useful information for developers.

[[APN_ML_Protocol_Manual|APN ML Protocol Manual]]

Communication protocol with ML-engine and message formats. Detailed descriptions for messages for controlling the CPN compiler and simulator are described under [[CPN_message_formats|CPN message formats]].

[[CPN_ML_Grammar|CPN ML Grammar]]

Grammar for global declarations used in CPN models.

[[ML_Daemon|ML Daemon]]

How to use the ML daemon.

[[CPN_Loader|CPN Loader]]

Loading by means of the textual interchange format.
//(This manual is obsolete.)//

Design Breakdown

  • - APN Graph Manager —

See separate page: Graph-lib

  • - APN ML-Engine Manager —

Class hierarchy

Object model

  • - APN Compiler Manager —

Class hierarchy

Object model

  • - APN Simulation Manager —

Class hierarchy

Object model

  • - APN Storage Manager —

Class hierarchy

Object model

  • - APN Module Manager —

Class hierarchy

Object model

  • - APN Style Manager —

Class hierarchy

Object model

  • - APN Constraints Manager —

Class hierarchy

Object model

Primary Dependencies

Supports the representation and manipulation of graphs.

  1. BOBS Grammar Tool (see Metaprogramming System)

Can automatically produce a parser, a structure editor, and a

pretty printer, given a LALR(1) grammar

Expected Library Users

  1. The Abstract Petri Net and Interaction Toolkit may partly replace DesignENV of BETA

Background Material

  • - Petri Nets —

Link Collections

Syntax Specification

  1. Textual interchange format: cpngram
  • - Existing Architectures —

Tools and Libraries

Books

  1. The Design of an Extendible Graph Editor, LNCS 704

Milestones

  1. [x][990428] Loading simple diagrams into internal

datastructures in memory.

  1. [_][??????] Representation of styles
  2. [_][??????] Storage of APN to files
  3. [_][??????] Representation of modules/hierarchy
  4. [_][??????] Freeze (interface) design
  1. [_][991015] CPN2000 version 0
  2. [_][00????] CPN2000 version 1