Version 1 of Petri Nets

Updated 2003-03-28 16:47:05

We are beginning to use petri nets to model our workflows in OpenACS.

If you want to know why, this[L1 ] is a good place to start reading.

I found a nice, free Tk petri net editor/simulator here: http://www.laas.fr/tina/

-- PS


TV It seems suggested in that thesis (if that is what it is, I just took a quick glance) that Petri net offer some proof of �correctness� for executing what is called a workflow. First, correctness is even stronger than �optimisation�, for which one already, in the words of one of the older professors I listened to in the past, needs to know what it is that one wants to optimize!

Petri nets are mathematical stuff to define, model, simulate and to some extend reason on event driven networks of agents, which is the stronger of a few of such mathematical models because it supports multiple (parallel) firing of nodes. Which immedeately makes it the weaker or less concise candidate for accurate modeling of system behaviour composed of singularly executing units, which is the simplest and most decomposable model.

A mathematical language to do that is CSP (Hoare wrote a good book about it) or CSS (Milner) where communiction is modeled by single communication instances between agents, which are time orderable always, though not timed. The language allows composition of agents in various ways, and reasoning about strong or weak bisimularity. Which is a way of comparing possible event traces for a certain model defined by mathematical formulation of its agents and their possible communication.

For simulating event driven systems such as networks with nodes which drive eachother Petri nets allow little reasoning on the possibilities of such nets, simply because a petri net allows much to happen. When one wants to limit the behaviour of the constituing net elements, some sort of reasoning method or language with associated proof system will have to be constructed. Because n faculty is a big number, that is often hard, both to oversee and simulate.

Functional decomposition is favorite of long (at least a century) to describe complicated and connected problems, with distributiveness and substitution and such powerfull means to reorder the problem into something manageable.