[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: Re: [wsbpel] Issue 193: Clarify why the spec mandates that JoinConditions must always be evaluated only after all source activities complete
> The BPEL specification currently requires that a > >joinCondition on a target activity be evaluated only>after all sources activities for the links coming >into it are complete, even for an implicit OR ><joinCondition> where the status of only one of the >incoming links needs to be positive. I will hazard a guess..... I will assume the current execution model obeys properties conforming what David Luckham calls "ordered observation."Having the ability to make certain casuality guarantees make it easier to reason about the system and code correctly. I also suspect it makes things like compensation way easier to implement. Simple example: If activity B can start only after activity A finishes, and activity A and B both share avariable X, one has a guarantee that when activity A is finished, it cannot affect the state of X (i.e., get into a race with activity B). > This is a major constraint that disables >straight-forward modeling of a large class of processes >where the target activity needs only one of its > source activities to complete successfully. N out of M joins (aka discriminators) could be added to WS-BPEL. However I believe that coding this type of flowactivities will be more complicated and more prone to coding error, especially by the naive programmer. Issues have to be addressed. For instance, what happens to the ignored execution threads? Are they allowed to run to completion and ignored (problem, if they share variables, they can potentially cause race conditions with activities beyond the "synchronization" point)? Or are they terminated (so now we need new fault handlers)? However I believe these issues have been raised in the past. Cheers, Andrew
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]