Roundtripping Update

October 12th, 2006

eClarus today declared they’ve cracked a tough nut in the BPMN-BPEL roundtripping problem. 

If you follow that topic, you probably know that Yi Gao of Seattle startup eClarus and Marlon Dumas of Queensland University of Technology are basically the two guys in the world who know what they’re talking about.  Way back in February, when I was still blogging on Ismael’s site, I posted on the roundtripping problem.  You can find that thread here on BPMS Watch or here at IT|Redux.

In the comment thread, Marlon responded to my post by describing some of his group’s academic work on the question. 

We have recently defined a BPMN-to-BPEL translation that can deal with BPMN graphs with arbitrary topology. In this translation, if the original graph is well-structured, the resulting BPEL code follows the structure of the original graph and everything works well. But if the BPMN graph is not structured, the translation generates rather convoluted BPEL code and the way back to BPMN would be far from easy. For those interested, see this technical report….

There are classes of models for which a reversible BPMN-to-BPEL-and-back translation is possible. We can define three such classes of models:

1) The class of “BPMN models without livelocks”: If a BPMN model (with any topology) is not “divergent”, we can translate it to BPEL using BPEL’s “event handler” feature. You don’t want to read the resulting code though, because it’s just a bunch of event handlers throwing message events at each other. This is pretty much what we show in this paper… where we explain what is meant by a model without livelocks and we give an example of a livelock.

2) The class of “Synchronising BPMN models”: We are currently working on another paper … that contains an algorithm which can determine whether a BPMN model can be translated into BPEL structured activities and control links (without using event handlers, which is what causes the mess). This algorithm could be used for the purpose that you describe: we could allow modellers to write their models as they wish, but on the background we run the algorithm and the algorithm will come back and tell you: Yes, this BPMN model can be translated to “readable BPEL”, or no it can’t.

3) The class of “Structured BPMN models”. Structured BPMN models (where every “splitting” gateway has a corresponding “joining/merging” gateway) can be easily translated into BPEL process definitions containing only BPEL structured activities. An algorithm for determining whether a BPMN process model is structured or not is not difficult to write. Some academic folks from Austria and Denmark have written such an algorithm in another paper written in “runic script”. They do not consider the full spectrum of BPMN constructs, but it could be a point of departure for tool implementors….

For the second and third classes of BPMN models mentioned above, reversible translations are possible, while for the first class of BPMN models, a reversible translation would be very difficult. Note that the first class of models is larger than the second, and the second is larger than the third.

The second class of models is fairly large, and my hunch is that it includes almost any meaningful BPMN diagram that people will be drawing out there. So in summary, there are good hopes that in a not-too-distant future, there will be some reversible BPMN-to-BPEL translations that generate readable BPEL code and cover fairly large classes of models. But there is a bumpy road ahead.

In April, eClarus announced that their tool supported roundtripping for a wide range of models, and provided a link to Yi Gao’s white paper.  At that point they admitted to having more work to do.  Today Yi Gao claims to have solved Marlon’s Class 2:

In the first release of eClarus Process Modeler we have solved the Class 2 practically, even though the translation can be fine tuned.

Class 1 can be solved using simple pattern matching.
With synchronous links, simple pattern match is not enough. We use a flow analysis technique (we call it “Static Flow Token Analysis”) to identify those links. And our tool can translate them to “readable BPEL” if it can be. If you are interested, we can discuss more offline.

Since not too many people are still following a thread dormant since last March, I’m re-posting here in hopes of advancing the discussion.  Marlon has in the past sounded skeptical about eClarus’s approach.  I for one am very interested in what eClarus has done and Marlon’s response.

Entry Filed under: BPM

4 Comments Add your own

  • 1. BPMS Watch » More o&hellip  |  October 13th, 2006 at 4:16 pm

    [...] 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. [...]

  • 2. ygao  |  October 15th, 2006 at 10:34 pm

    As I stated in my
    white paper
    , not all BPMN diagrams can be mapped onto BPEL processes
    isomorphically. So it is impossible to get the same diagrams after
    round-tripping without cluttering the BPEL files with annotations or
    equivalents. However, those diagrams that can be isomorphically translated cover
    the most real use cases. They are a reflection of what BPEL can do.
    Comparing with

    Marlon’s classification
    , isomorphic diagrams are a subset of Class2, but a
    superset of  Class3. Class 3 can be translated to BPEL using context-free
    pattern matching algorithm. However, the algorithm is not effective for diagrams
    of parallel processing with synchronization links, which belong to Class 2.
    One example
    is shown in my previous post. It can be isomorphically mapped onto BPEL
    constructs. That is what eClarus product
    can solve.
    Some diagrams in Class 2 cannot be mapped isomorphically onto BPEL. Please
    look at this
    diagram
    . It is semantically equivalent to the
    one in my
    previous post. In this case, we can redraw the diagram as an isomorphic one, and
    then translate it to BPEL. Fortunately, we tend to draw the diagram structurally
    since it is natural for us to decompose a complex problem into small pieces
    Practically, you can first draw a parallel processing diagram using Class 3
    components, and then add the synchronization links if any. eClarus product can
    translate it to a "readable" BPEL using its advanced algorithm.
    Also I want to clarify the my previous post on our algorithm. In the diagram,
    without the synchronization links, it is a Class3. and it can be mapped to a
    "readable" BPEL using the algorithm Marlon mentioned. After the Class3 mapping,
    we add the links the the result BPEL.

  • 3. ygao  |  October 15th, 2006 at 10:45 pm

    As I stated in my
    white paper
    , not all BPMN diagrams can be mapped onto BPEL processes
    isomorphically. So it is impossible to get the same diagrams after
    round-tripping without cluttering the BPEL files with annotations or
    equivalents. However, those diagrams that can be isomorphically translated cover
    the most real use cases. They are a reflection of what BPEL can do.

    Comparing with

    Marlon’s classification
    , isomorphic diagrams are a subset of Class2, but a
    superset of  Class3. Class 3 can be translated to BPEL using context-free
    pattern matching algorithm. However, the algorithm is not effective for diagrams
    of parallel processing with synchronization links, which belong to Class 2.
    One example
    is shown in my previous post. It can be isomorphically mapped onto BPEL
    constructs. That is what eClarus product
    can solve.

    Some diagrams in Class 2 cannot be mapped isomorphically onto BPEL. Please
    look at this
    diagram
    . It is semantically equivalent to the
    one in my
    previous post. In this case, we can redraw the diagram as an isomorphic one, and
    then translate it to BPEL. Fortunately, we tend to draw the diagram structurally
    since it is natural for us to decompose a complex problem into small pieces

    Practically, you can first draw a parallel processing diagram using Class 3
    components, and then add the synchronization links if any. eClarus product can
    translate it to a "readable" BPEL using its advanced algorithm.

    Also I want to clarify the my previous post on our algorithm. In the diagram,
    without the synchronization links, it is a Class3. and it can be mapped to a
    "readable" BPEL using the algorithm Marlon mentioned. After the Class3 mapping,
    we add the links the the result BPEL.

  • 4. Antoine’s » l&hellip  |  October 22nd, 2006 at 4:25 am

    [...] BPMN to BPEL transformation Hw to transform BPMN to BPEL… if you can ! (tags: bpmn work research development) These icons link to social bookmarking sites where readers can share and discover new web pages. [...]

Leave a Comment

You must be logged in to post a comment.

Trackback this post  |  Subscribe to the comments via RSS Feed


BPMN Training

BPMessentials
Learn BPMN the right way. Not just compliance with the spec, but maximum effectiveness as a common visual language. Methodology, patterns, best practices, organizing complex models... Hands-on with a tool. Loads of exercises, both inline and mail-in (with individualized help). Certification of proficiency.
Available online and in 2-day public classes. Don't be left behind.
Next classes San Francisco October 1-2, New York November 6-7

Content Requiring Login

Some reports on BPMS Watch are only available to logged-in users. This includes: LOG IN HERE
Registration is easy, and its free. Click here to register. If you are registered, you have access to the private pages.

Pages

Calendar

October 2006
M T W T F S S
« Sep   Nov »
 1
2345678
9101112131415
16171819202122
23242526272829
3031  

Featured Advertiser

Recent Comments

Feeds

BPMS Watch Google Gadget

Add to Google

Blogroll