Labels: Information Technology
BPMN is something I'll be spending more time on in the day job, and I've just started looking at it. Some notes:
- Looks a lot like UML activity diagrams. That's a good thing. More expansive icon set for their activites and notifications, which is conceptually extremely helpful, although potentially just syntactic sugar as far as the underlying formal model is concerned. Or maybe not: I'll find out from the spec.
- These guys at Potsdam Uni are algebraically manipulating BPMN diagrams to reason about them, using an algebra they call pi-calculus. The wiki is spotty, but at the least they're doing soundness checks. This is very cool, and a result of the same formality of such graphs that enables them to be turned into working code. Process diagram's ain't just napkin fodder.
- The Potsdamites use OmniGraffle to generate their BPMN diagrams, and applescript it to generate XML; the XML is what they feed to their pi-calculus engine (in Ruby). Tres nifty again. But it highlights a problem with the napkin-to-xml translation: no standard XML tagset. Actually, that is a malicious and repulsive lie; of course there is an XML, BPEL4WS --- but that involves translation, not just restyling; and the BPMI says in their spec of BPMN, sect. 2.3, that they intend to create a diagram exchange format between tools, which may be an XML or an XMI -- they just haven't yet. In the meantime, we're left with generic diagram exchange formats. For my two target apps, Omnigraffle and Websphere, that means VISIO XML. I'd hate to think VISIO XML becomes the de facto standard; at any rate, my first attempt to go from Omnigraffle to Websphere via VISIO XML failed. I'll come back to this, and I may well be buying a vowel or two from the Potsdamites' applescript.
- Websphere costs a lot more than Omnigraffle, so you'd hope it does more. And it certainly does. Of course, the diagrams Omnigraffle produces are of a transcendent beauty immanent in their Macness. On the other hand, live syntax checking of your BPMN diagram in Websphere as you draw it? You gotta love that. There'll be a lot of stuff to explore over in that package over the next few weeks. But remember: if you don't have at least 1GB of RAM on your PC, don't even bother: it's 800 MB of Java Virtual Machine goodness. (It seems to be running just fine on Parallels on my MacBook, but I've juiced it up to 2GB.)