You can use Access/CPN with or without Eclipse. We strongly recommend using Eclipse.

Get binary releases from the CPN Tools Download page.

The source is available from

(Note that you get a security error when clicking on the link; this is because the Subversion server uses encryption with a self-signed certificate.)

Plug-in Overview

You will not need all plug-ins for normal operation. Here is an overview of available plug-ins, their dependencies, the operation they provide, and how likely it is you will need them.

Plug-inDependenciesDescriptionYou need this…
modelEMFProvides an object model for CP-netsAlways
model.importmodel, model.highlevelLoad models created with CPN ToolsWhen loading models from CPN Tools
model.exportmodel, model.import, model.highlevelSave models to CPN Tools (preliminary)When exporting models to CPN Tools
engineengine.protocolProvides simulator engine binaries and Java interface for connecting to themWhen doing simulation
engine.protocol-, new in 3.0; earlier part of engineAbstract representation of the low-level protocolWhen doing simulation or using simulator extensions
engine.highlevelengine, modelProvides bridging between the object model and the engineAlmost always
cosimulationengine, engine.highlevel, modelPerforms cosimulation between CPN models and Java objectsOnly if you need to do cosimulation
engine.proxyengine, engine.highlevel, modelInteract with a model loaded using CPN ToolsRarely
model.testsallother Tests and demo programsOnly during development

The abridged version: You’ll almost always need model, engine, and engine.highlevel. Pick any of the import/export/proxy plug-ins you need.

An easy way to use the cosimulation plug-in is using ProM (recent nightly builds or 6.1 required) and the package Cosimulation available from the package manager.


The model.tests plug-in contains some demos and test code of Access/CPN. Here is a quick run-down of the different interesting parts:

» default package «

Misc. tests, the most interesting is StateSpaceTool, which is explained in our paper The Access/CPN Framework: A Tool for Interacting with the CPN Tools Simulator (see Publications for full bibliographical info).


Larger demos in subdirectories.


Simple example showing importing a model loaded in CPN Tools and updating the GUI of CPN Tools from Java. Described in this blog post.


A parallel state-space generator. The code is messy but fairly efficient (it is possible to generate more than 107-108 states on a standard computer).

Checking Out Access/CPN

Using Eclipse

  1. You need a recent version of Eclipse (tested with Helios) and EMF
  2. You need a Subversion client for Eclipse.
  3. Use as root and check each out each plug-in you need. Each come packaged as a valid Eclipse project.
  4. Create your own plug-in and depend on the plug-ins you need. See the model.tests plug-in for examples.

Without Eclipse

  1. Even if you are not using Eclipse for development, we suggest using Eclipse for building Access/CPN. If you do not want this, you are on your own.
  2. Follow the instructions for Eclipse check out.
  3. Export the required plug-ins as Deployable plug-ins and fragments.
  4. In addition to the .jar-files created in the previous step, you need Java 6, and EMF 2.6. Check the EMF FAQ for detailed information about what you need. You do not need EMF.Edit functionality nor to register the plug-ins unless you know what XMI serialization is and need it.

Video Demonstrations

For video demonstrations of Access/CPN integration with ProM, we refer to

  1. CPN Simulation in ProM
  2. Cosimulating CPN models and ProM plugins and Application to ProM Orchestration
  3. Embedding Declare in CPN Models via ProM