Embedding Declare in CPN Models via ProM

Now, this is really cool!

This is part 3 of my series on embedding CPN simulation into ProM.  In this part, things get really interesting, and the actual goal of the effort becomes evident: we want to be able to embed external programs seamlessly into CPN models.  We do this by replacing a sub-page with a ProM plugin.  We showcase this by embedding a client for the Declare workflow engine into a CPN model of a user obtaining and executing tasks.

Viewers may benefit from watching Part 2: Cosimulating CPN Models and ProM Plugins and Application to ProM Orchestration, where I introduce some concepts I use but don't go over in this video, and maybe also Part 1: CPN Simulation in ProM.  It should also be possible to watch this video without watching the prior parts, but some of the details may be lost.

The video is in fairly high resolution in order to fit all the programs needed, so I strongly recommend playing it in full screen.

The limitation, I mention, is that the end of the simulation is currently decided solely by testing whether any transitions are enabled in the CPN model.  It is quite possible, though, that some embedded plugin may be processing, and the CPN model waits for data before being able to continue (it is the case in this example).  In that case the current version would terminate simulation prematurely.  To overcome this in an easy way, I've just added a (hidden) transition which is always enabled.  This forces me to add a step limit as the simulation now suddenly becomes infinite.

One thought on “Embedding Declare in CPN Models via ProM

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.