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 https://svn.win.tue.nl/repos/cpntools/AccessCPN/trunk/
(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-in | Dependencies | Description | You need this… |
---|---|---|---|
model | EMF | Provides an object model for CP-nets | Always |
model.import | model, model.highlevel | Load models created with CPN Tools | When loading models from CPN Tools |
model.export | model, model.import, model.highlevel | Save models to CPN Tools (preliminary) | When exporting models to CPN Tools |
engine | engine.protocol | Provides simulator engine binaries and Java interface for connecting to them | When doing simulation |
engine.protocol | -, new in 3.0; earlier part of engine | Abstract representation of the low-level protocol | When doing simulation or using simulator extensions |
engine.highlevel | engine, model | Provides bridging between the object model and the engine | Almost always |
cosimulation | engine, engine.highlevel, model | Performs cosimulation between CPN models and Java objects | Only if you need to do cosimulation |
engine.proxy | engine, engine.highlevel, model | Interact with a model loaded using CPN Tools | Rarely |
model.tests | all | other Tests and demo programs | Only 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.
Examples
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).
demos
Larger demos in subdirectories.
demos.sillytime
Simple example showing importing a model loaded in CPN Tools and updating the GUI of CPN Tools from Java. Described in this blog post.
demos.statespacegenerator
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
- You need a recent version of Eclipse (tested with Helios) and EMF
- You need a Subversion client for Eclipse.
- Use https://svn.win.tue.nl/repos/cpntools/AccessCPN/trunk/ as root and check each out each plug-in you need. Each come packaged as a valid Eclipse project.
- Create your own plug-in and depend on the plug-ins you need. See the model.tests plug-in for examples.
Without Eclipse
- 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.
- Follow the instructions for Eclipse check out.
- Export the required plug-ins as Deployable plug-ins and fragments.
- 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