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”.
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
Hello Arjan,
beware “step” abuses !
Cheers,
(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
[...] 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 [...]
ruote 0.9.18 released « processi
May 22, 2008 at 5:33 am