Background Check: CPN Tools

CPN Tools has had a few different background colors.  If you want the full(ish) overview, check out my graphical overview of CPN Tools.  It does not contain some of the more internal releases, including a bright blue one.  I originally changed from gray to pale green to make the tool fit with the home page at the time.

When version 3.0 was released, I decided it was time for a change, as it was the first new version in many years and the tool had been transferred from Århus to Eindhoven.  I wisely chose purple, which is also one of Britney’s favorite colors.

Sometime after that, I made a poll on Facebook for the background color of the upcoming version 4 (see right).  Unfortunately, people chose wrongly 😉

Now, I may have had too much fun picking out the correct color.  Even to the point, where I made versions with three different colors (baby blue; #89CFF0, beau blue; #BCD4E6 and baby blue eyes; #A1CAF1). Baby blue is oft quoted as another of Britney’s favorite colors, but I had a suspicion it was too Toys’R’Us. The prototypes in order are:

Here, I’ve kept the index in the pale lavender used in the 3.x series. Normally, I like beau blue and find baby blue too strong. In this case, I found the beau blue (middle) a bit too pale and the baby blue eyes (last) just perfect.  Only nazis disagree 🙂

Having settled on this, I added some more eye candy, including the CPN Tools logo at the bottom right.  I made sure it would fit in with the color scheme, and released this as 3.5.0:

Today I got a bit silly and my working version now looks like this:

You may also notice the all-new Declare tool palette.  I’m working on filling that one in right now.  Well, not right now, but until an hour ago.

The observant reader may also notice the theme in the code names.  Yes, we’re working towards …Baby One More Time.  Whether we’ll make stops at the remix albums and the greatest hits compilation, only time will tell.

Planned New Features in 4.0

As I haven’t mentioned it anywhere except in my head (so only the secrect government mind-reader agency knows about it aside from myself), here’s the planned list of features for 4.0 right now:

  • Simplified syntax for low-level Petri nets (done; see this post)
  • Improved visuals (see up there)
  • Support for reset and inhibitor arcs
  • Support for ordered (FIFO, LIFO, PQueue) and bounded places
  • (Maybe) support for volatile transitions; probably done automatically
  • Support for Declare constraints
  • (Maybe) support for web-services
  • Support for simulator extensions

You may notice that most things from my wish-list for a minor and a major releases are mostly fulfilled.  I am still not entirely sure how general I’ll make the language extensions.  My hope is to make a minimal but forward compatible solution.  Many of the new features (Declare and web-services) were dependent on a hypothetical Java simulator, but that is not on the above list.  Instead, I introduce what I call simulator extensions, which will work as a transitional (read permanent) solution to this problem.  The design of this feature is not completely done, but will make it possible to extend the simulator (fairly) efficiently using Java code and for CPN Tools to use such features as if they were native to the simulator.  Don’t expect ASAP integration, real modules, web-based GUIs, or new simulators this time around.

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.