1 minute reading time (296 words)

Petri Net API

Petri Net API

The original goal of my project was to integrate a Workflow engine in Joomla, which I did. Then, we figured out it will be better and more interesting to rewrite the foundations of a new one (to master the techniques and extend it the way we want).

After a lot of research, I concluded that Petri Nets are well suited for the core of a Workflow engine, because of their mathematical definition and the abundance of analysis algorithms.

For those reasons, most Workflow engines use it.

So, I began to work on a Petri Net implementation starting in July and had a working prototype by the mid term evaluations, allowing to define and execute a basic Petri Net.

As I continued my work, I found that in order to suit the needs of a Workflow engine, the basic Petri Net definition must be extended with the color (a new dimension allowing tokens to transport different kind of data).

Starting from the midterm, I worked on extending the API by adding the color while refactoring and improving what I already had.

At this moment, it is possible to define, visualize (using the GraphViz software) and execute a basic Petri Net.

It is possible to define a colored Petri Net (it might change a bit), but the execution isn’t implemented yet because of the lack of time.

The skeleton is here and I have collected documents about algorithms that can be used to do it.

The Github stats are showing that I have removed 13k lines so the API has already evolved from the first version.

I am quite happy with what I have accomplished, because two months ago I didn’t know what a Petri Net exactly is.

The API and its documentation can be found here.

 

0
Post your Haikus for September
 

Comments

Already Registered? Login Here
No comments made yet. Be the first to submit a comment

By accepting you will be accessing a service provided by a third-party external to https://magazine.joomla.org/