about processes and engines

xpdl for fun

I took some time to implement a converter from XPDL to OpenWFEru’s process definition language.

Seems like a certain number of graphical process design tools do serialize their BPMN diagrams to XPDL. Pat has been bothering me about such a serialization for while.

I called that “ruote-transition”, it’s available at the GitHub. It’s not much work but it yields good results. I gave a shot a YAWL as well in the same run.

The challenge is about turning a states+transitions set into the “block structured” format OpenWFEru (Ruote) uses.

I already took a look at that in a former post, the trouble ticket. The transformation (from BPMN to OpenWFEru) was manual. The resulting process definition used a “macro” : a subprocess named “step” that handled the XOR outgoing transitions on the activities of the original process.

The “step” is back as a Ruote expression (like ‘sequence’, ‘concurrence’, ‘if’ or ‘participant’), part of the upcoming OpenWFEru 0.9.18. Ruote-transition [ab]uses this new expression a lot.

Ruote-transition has an intermediary representation format that is easy to output to graphviz format (example). I use it for quick verifications.

I call ruote-transition a “compiler”, turning from one language to another, “translator” would perhaps be a better term.

It was lots of fun to implement that (it’s not over). But I still favour OpenWFEru’s process definition language over anything else, I like its conciseness.

Don’t ask me for “round-tripping”.

Written by John Mettraux

May 18, 2008 at 1:04 pm

Posted in bpm, openwferu, workflow, xpdl, yawl

3 Responses

Subscribe to comments with RSS.

  1. Nice, and I also like the new “step”. You’ve got a high “BPM” these days ;-)

    Arjan van Bentem

    May 20, 2008 at 6:57 am

  2. Hello Arjan,

    beware “step” abuses !


    (I didn’t get the BPM joke until I hit the “publish comment” button, well done)

    John Mettraux

    May 20, 2008 at 10:28 am

  3. […] it’s OK to have a pasta as the nickname of a project that now allows to script spaghetti business processes thanks to the new step […]

Comments are closed.

%d bloggers like this: