« Dude, where's my Pi? - Part 1 | Main | Portal UI customization in WCI »

Dude, where's my Pi? - Part 2

While the increasing attention given to formal mathematical theories by BPM vendors is a welcome development in this field, it is not possible for everyone to understand, much less use them, least of all business analysts or process developers. As a result, it is quite understandable to get confused, especially when seminal luminaries and vendors in the BPM field trade such articles on the blogosphere in what is essentially a tit-for-tat exchange (not in chronological order):

Before I go on, let me first say that it is great to see the passion from these heavy weights and I personally learned a lot from these exchanges. The objective of this post is therefore to

  1. Show that Oracle BPM can actually model parallel business processes which are stored in formats other than BPEL (in this case XPDL) and execute them as well (in response to Ghalimi’s challenge)
  2. Reassure existing BPM customers (both Oracle BPM and BPEL PM) who may have become concerned of having chosen the “wrong” engine and therefore being denied the mysterious power of a Pi-Calculus process engine
  3. Provide a historical perspective and briefly analyze the various claims made in some of the articles above for potential BPM customers so that they can make an educated choice
  4. And finally to provide some words of comfort for business analysts/process developers, who are understandably worried about having to learn Pi-Calculus to before embarking on BPM projects

As such, I feel it is important to provide a historical perspective. In an influential paper written a few years ago, van der Aalst issued seven challenges for those advocating the use of Pi-Calculus. van der Aalst wrote that the “big discrepancy between the Pi-hype and reality will not only limit the applicability of WSCLs (Web Service Composition Languages) but also discredit a beautiful scientific framework like Pi-Calculus”. van der Aalst further went on to propose that a more mature evaluation of languages ought to consider how they support workflow patterns. Here, we have excellent literature to demonstrate Oracle’s richness of offering:

However, let’s stick to WSCLs. In another paper, van der Aalst made a comparison of the different languages. In this, he showed a clear distinction of what patterns the languages themselves (i.e. irrespective of products) support. If you compare the standards’ (BPEL, XPDL) support for the patterns vs. what Oracle BPEL or Oracle BPM can support, you’ll find that the products can actually support more than the standards themselves support and there’s a very good reason for this. The products and their process constructs are driven by customers’ requests which generally tend to be more complex than standards and for that we provide extensions to meet our customers' requirements. Additionally, the comparison was done using BPEL 1.0 and XPDL 1.0 beta which are currently at versions 2.0 and 2.1. While I haven't seen any study based on the newer versions of the standards or products, we can reasonably expect improved support for the patterns. So, now that we have established both standards’ support (to a varying degree) for patterns, what are we to make of the strident hype for a process engine based on Pi-Calculus vs. one based on Petrinets? Again, van der Aalst has already provided a most illuminating answer. In this, van der Aalst challenged those trying to link BPML and BPEL to Pi-Calculus and asked "what concepts in these languages can be attributed to things specific for Pi-Calculus?". In the same paper, van der Aalst wrote that “Pi-Calculus [..] is a solid foundation for modeling and analyzing processes. However, I’m not convinced that the features present in Pi calculus are vital for Business Process Management (BPM) systems." Arthur ter Hofstede added in his response to Sandy that “if anything, the most feature-complete semantics of BPEL have been defined in terms of Petrinets rather than Pi-Calculus". You can access Arthur’s work on the mapping of BPEL to Petrinets here. van der Aalst also added in his paper "that there is no clear evidence that Pi-Calculus supports patterns in a better way than more traditional languages like Petri nets”.

The point I'm trying to make is that whether your BPMS of choice uses XPDL or BPEL is irrelevant as both can be mapped to Petrinets and can support the patterns. Furthermore, as Manoj Das, our product manager explained (regarding our future BPM platform) that “there will be different use cases for which the two approaches - BPMN models executed as BPEL and native BPMN execution - will be better suited”. At any rate, as Arthur wrote, there’s so much more to a BPM System than execution languages.

In characteristic scientific humility, Milner himself said that “Petrinets were extraordinarily important development in understanding concurrency”. It is generally accepted that the progress of scientific and human thought in general does not occur spontaneously but rather builds on what others have done previously. As Newton himself wrote in a letter to his contemporary and rival Hooke, "If I have seen further, it is by standing on the shoulder of giants". Claiming that a BPM product that uses BPEL is better than another that uses XPDL because Pi-Calculus is better than Petrinets for BPM is not only a disingenuous way to confuse the market place but also does not match scientific reality. To quote van der Aalst again, "others advocating the use of BPEL and BPML, have not been able to demonstrate that any of these patterns requires Pi-Calculus to be supported".

Whether processes are serialized in XPDL, BPEL (or BPMN 2.0 in the near future) or whatever mathematical theories underpin these is irrelevant to business analysts and process developers. What matters most to them is the use of rigorous process modeling techniques, in particular, process patterns, to solve business problems and for that, we can all be grateful that we are indeed able to stand on the shoulder of giants. To quote Paul Strassman again (quoted by Nicholas Carr in his book "Does IT Matter?") as I did in my first post, "it's economics [..] technology has to be taken for granted". For BPM to become more accepted and not just dismissed as another fad as BPR (Business Process Re-engineering) came to be, it seems counterintuitive to make the choice and selection of BPMS as hard as having to understand the precise link between mathematical theories and software products and standards.

I neither have the extraordinary credentials nor the wealth of experience of luminaries such as Ismael in the BPM field. And nor do the brilliant engineers in our BPM labs request for butter over their toast at breakfast using formal Pi-Calculus semantics. However, making unsubstantiated and repeated claims (especially after these have been repeatedly debunked) linking formal BPM products or standards mathematical theories to formal mathematical theories will certainly not advance the latters' cause for their adoption by BPM vendors. As Arthur eloquently wrote: "I fear that these statements (by Ismael) may lead to a backlash against formal methods in BPM. Once people conclude that the emperor does not have any clothes (in the case of BPEL and the pi-calculus) they may conclude that there isn't any benefit at all in the use of formal theory."

I hope this provides some useful clarification.

Cheers,
Ali

TrackBack

TrackBack URL for this entry:
http://blogs.oracle.com/mte1521/mt-tb.cgi/11159

Post a comment

(If you haven't left a comment here before, you may need to be approved by the site owner before your comment will appear. Until then, it won't appear on the entry. Thanks for waiting.)

About This Entry

This page contains a single entry from the blog posted on April 8, 2009 11:09 PM.

The previous post in this blog was Dude, where's my Pi? - Part 1.

The next post in this blog is Portal UI customization in WCI.

Many more can be found on the main index page or by looking through the archives.

Powered by
Movable Type and Oracle