CPN Tools 4 Extensions: Part 5: Extension Overview

Note: This is just a partial post.  It has been hiding in my posting queue for more than a year, and I finally decided to just publish it as is, as it is highly unlikely I’ll finish it.

This is the last part on CPN Tools 4, at least for the time being. Here, I’ll provide an overview of all extensions currently available in some form for CPN Tools.  For each, I’ll link to the relevant other tutorials, but I shall be trowing around concepts from at least the other parts about simulator extensions (get part 1, part 2, part 3 and part 4), so it is very good idea to have them available.  I shall not provide a reference every time I mention a concept.

We’ll first take a look at all the extensions, their dependencies, and which features they use in a schematic form.  Then, I’ll talk about each extension in isolation, describing their functionality and how and why they use features.

In the figure below, we see the dependencies between all extensions.  Two of the extensions are not technically extensions themselves, i.e., they do not implement the Extension interface.  They still participate in some of the extension interactions, and have no use outside of being used with CPN Tools extensions (also, they do require Channel to the simulator, which is only granted extensions).  Extensions are shown using a rounded edge, not-really extensions using rectangles, and dependencies using an arrow.  Dependencies may be more or less explicit, but that is outlined later.


In the table below, we show the same extensions along with which communication patterns they use and where to read more about the functionality of the extension.  Some patterns are technically used but not included.  For example, in order to use pattern 9, an extension has to use pattern 4 or if an extension uses options, it automatically uses patterns 7 and 8, but this all happens in the background so it has not been included to just show explicit uses for simplicity.  Patterns 1-3 have not been included as they have no impact on extensions.

CPN Tools Extensions

CanvasXXd, e
MSCXX^^d, e
Overview of all extensions (as of November 2013) and their use of patterns. Automatically handled uses are not included (for example pattern 4 is needed to use pattern 9). ^ means that the pattern is used by a required extension but not by the extension itself.


Leave a Reply

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

This site uses Akismet to reduce spam. Learn how your comment data is processed.