Presentation is loading. Please wait.

Presentation is loading. Please wait.

Early Completion of the Flow Activity - A proposal -

Similar presentations


Presentation on theme: "Early Completion of the Flow Activity - A proposal -"— Presentation transcript:

1 Early Completion of the Flow Activity - A proposal -

2 Scenario In many cases the process does not need to wait for all the concurrent activities to complete in order to reach the overall goal Example: A process is waiting in parallel for 3 reviews of a paper. If 2 positive reviews are received the paper will be accepted. Otherwise, all 3 reviews will be collected and the rejection including the responses from reviewers should be sent to the authors.

3 Requirements A way to express that the desired goal has been achieved is needed All active concurrent activities that are considered as “unnecessary” should be terminated Ability to support various flavors of conditions used to specify when the desired goal has been achieved:  Wait for N out of M  Wait until after condition C evaluates to true The condition is evaluated immediately after one branch has completed

4 Proposal Consists of two parts: Activity  Specifies a way to explicitly complete a activity  Includes termination of the active concurrent activities Completion condition for the activity  Hides a part of the early completion pattern (e.g. counter for completed branches)

5 Proposal (cont’d) 1.Targeting activity only – not Most common cases for early completion: 80-20 rule 2.All flow branches MUST be based Encapsulate the effect and work of early completion to each branch. E.g.: Enabling self clean up of branches Allow differentiation of branch-based completion conditions 1 + 2 together avoid the need of at not easy to understand and define

6 Activity : Syntax Example: … … … … other parallel action … … other parallel action …

7 Activity : Diagram seq … scopeA CHTH complete seq … scopeB CHTH seq … scopeC CHTH TH = termination handler CH = compensation handler Flow F1 early completion signal termination signal

8 Activity : Semantics activity (at ‘ScopeA’) sends early-completion signal to the target flow activity ‘F1’ Flow ‘F1’ sends termination signal to scope- based branches which are still running – ‘ScopeB’ and ‘ScopeC’ TH of ‘ScopeB’ and ‘ScopeC’ are activated TH may invoke CH Reach end of the flow, after TH are finished

9 Completion condition: Syntax ? <branches expressionLanguage="URI"? countCompletedScopesOnly="yes|no"?> an-integer-expression ? a-boolean-expression ?

10 Completion condition: Semantics a-boolean-expression … …Would be translated into ->

11 Completion condition: Semantics (cont.) activity-X a-boolean-expression activity-Y … similar switch …

12 Completion condition: Semantics (cont.) 2 … …Would be translated into ->

13 Completion condition: Semantics (cont.) … branch=branch+1 “branch=2” …

14 New standard fault completionConditionFailure: After all scopes branches ends, if the completionCondition is still evaluated to false, the fault MUST be thrown.

15 Open issues Do we need to allow activity to perform an early completion against a activity which is not the inner most activity in the ancestor chain?

16 Activity : Cascade Effect complete target=F1 …… Flow F2 early completion signal termination signal Flow F1 ……


Download ppt "Early Completion of the Flow Activity - A proposal -"

Similar presentations


Ads by Google