[jbpm-dev] [Design of JBoss jBPM] - Re: BPMN in jbpm4

koen.aers@jboss.com do-not-reply at jboss.com
Fri Jan 30 11:29:01 EST 2009


Clearly we need to discuss what we need to do to support the jPDL specific constructs in a diagram with BPMN look and feel. At the moment I see a two imminent examples of these problems:

1) Multiple outgoing sequence flow from nodes: 
As Bernd states in jBPM these have XOR semantics while in BPMN outgoing sequence flow in nodes have AND semantics. On the other hand, BPMN has the conditional sequence flow construct. If you think about it, the outgoing sequence flow in a jPDL state is conditional (i.e. the token is propagated along the sequence flow with the name you give when issuing the continuation signal, otherwise the default flow is chosen). Following the BPMN logic, outgoing sequence flow from jPDL nodes with XOR behaviour should have a diamond at the start and the default flow should have a transversal line. The BPMN spec does not mandate that the condition is given explicitly, so in this case the condition is implied by the implementation of the jPDL node (in this case the wait state). 

2) Superstates
The BPMN concept that most closely resembles superstates is the expanded subprocess. But this interferes of course with the jPDL process nodes and subprocesses. There is AFAICS no way of getting a sequence flow to connect a node with some other node inside the expanded subprocess. Any ideas here would be more than welcome.

Of course other issues exist, mostly related to terminology clashes. The most obvious clashes that I can see right now are:

1) signal: in jPDL this is an event that continues the process; in BPMN it is a flare that is visible to all the processes
2) event: in jPDL this is a hook into the execution of a process, subscribers can listen to these events and perform some processing accordingly; in BPMN this is a first class citizen (a node in the diagram) that indicates e.g. the reception of a message or the raising of an exception.
3) task: in jPDL tasks are related to human tasks; in BPMN tasks are atomic activities

Undoubtedly I forget a lot of other stuff, feel free to add and/or react and provide us with suggestions.

I will create a wiki page where we can describe the issues that come up along with their solution.

Regards,
Koen

View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4205954#4205954

Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4205954



More information about the jbpm-dev mailing list