[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: RE: [wsbpel] implicite links of the runtime engine (was: Implicit <sequence> macro)
Popping up a level, the basic point is that minimality is in the eye of the beholder. Why stop with eliminating sequence? Links can be emulated by message based synchronization. Concurrency (flow) can be emulated by a spawn feature, using message passing to emulate shared state. In the end we have message passing including port reference passing, spawn, some notion of abstraction (declaration) and some form of recursion and not much else, i.e., the pi calculus. Pi is provably able to emulate everything including XML data. But I doubt it would satisfy most members of the TC as the specification we produce. There is some element of judgment involved in deciding what is minimal enough for BPEL -- emulation is not a conclusive argument. I am sure none of you will disagree at this level, although the only argument I have heard for eliminating sequence so far is that it can be emulated with flow and links. Satish -----Original Message----- From: Ron Ten-Hove [mailto:Ronald.Ten-Hove@Sun.COM] Sent: Fri 6/20/2003 7:58 AM To: Satish Thatte Cc: Maciej Szefler; Assaf Arkin; Eckenfels. Bernd; wsbpel@lists.oasis-open.org Subject: Re: [wsbpel] implicite links of the runtime engine (was: Implicit <sequence> macro) Satish Thatte wrote: >All true, except for the simple matter of analyzing the implications of >concurrency for access to shared data or being able to recognize the >patterns where concurrency is absent and thus concurrency control is not >required. In particular, if a sequence has incoming and outgoing links, >and is now replaced with a flow with links itself, I submit that >recovering the original pattern and its simple inexpensive >implementation would be challenging. > This type of analysis should be done, regardless of whether <sequence> is used. Further, it is not that difficult to distinguish sequential chains of activities, if one models the process as a (suitably annotated) DAG, rather than an XML tree. (Control of concurrent access to process instance state is a topic we need to delve into separately. Is there such a thing as a "safe" BPEL process, in this regard? Can we create a formal semantics of execution to aid in verifying safety properties?) > >In other words, we would be raising the bar for implementers of both >tools and runtime engines, especially if we expect them to cater to the >prejudices of those who prefer the "block structured" approach rather >than the "linking activities" approach that Assaf seems to like these >days. > I'm not sure I understand this final comment. Eliminating <sequence> does not change the basic topology of such process graphs. As for "raising the bar" for implementors: I'd issue the standard word of warning about "premature optimization." As a colleague of mine is fond of saying, we have to paint the dragon before we can slay it. Cheers, -Ron
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]