More on eClarus and Class 2 Roundtripping
Re yesterday’s post, Yi Gao of eClarus wanted to get this image in his response, so I’m posting the following note on his behalf.
From Yi Gao, Oct 13, 2006:
In eClarus Business Process Modeler 1.0 that was released in June, we could translate the BPMN models with synchronization links. We had some samples that show the capability even though we did not explicitly categorize the models in our website.
The simply structured BPMN models defined as Class 3 can be translated to “readable BPEL” using context-free pattern matching. The technique is similar to computer language parsing based on a finite number of production rules. However, with synchronization link, the context-free pattern matching is not sufficient.
Let me use the following diagram to explain. Without the sequence flows in red and gateway G5 and G6, it can be translated using the pattern matching algorithm.
1) A-B-C-D-E => BPEL Sequence “P1”
2) H-I => BPEL Sequence “P2”
3) G3-(P2 | J)-G4 => BPEL Flow “P3”
4) F-P3-K => BPEL Sequence “P4”
5) G1-(P1 | P4) => BPEL Flow “P5”
(click image for a clearer view)
With the synchronization links, if you try to use the same technique, you need define an infinite number of patterns (production rules) since there are infinite ways to synchronize your activities. However, if you can identify those synchronization links, you can solve the problem by imaging they do not exist first, then adding the BPEL links to flow “P5” after pattern matching translation.
We have an algorithm to identify those synchronization links by analyzing the flows. It is much more sophisticated than described in the example above. And it will be incrementally enhanced to cover more cases.
The mapping algorithm is no longer context free. In other words, you cannot figure out G3, H, G6, I, J, and G4 can be mapped to BPEL flow without looking at a larger scope. So flow analysis is necessary.
In BPEL 1.1, the semantics is clear on “Suppress Join Failure” and “Dead Path elimination”. But it is not that specific in BPMN 1.0. So we intentionally disabled the translation for some models until the specification is clarified in the future. But the algorithm itself is capable if BPMN can align with BPEL on those concepts.
Our goal is to solve real business integration problems. Some patterns in the research papers are very meaningful from academic point of view, and the conclusion can provide guidance for commercial implementations. However, some in Class 1 can be easily solved by adding BPEL extensions, including discrimination pattern, multiple-instance loop, etc. If there is a real need in today’s business, they will be added to BPEL implementations, and even future BPEL specifications. Oracle BPEL extension “flowN” and “exec” are good examples.
8 comments October 13th, 2006

