Intermediate Event - Finish Assignment Executes on Interrupt

Discussions about goal-oriented and BPMN modeling.
Forum rules
Make sure every topic contains information about your LSPS version and if relevant also your server OS, client OS, database name and version, and application server name and version.
neil.lee
 
Posts: 14
Joined: Wed Jul 23, 2014 4:38 pm

Intermediate Event - Finish Assignment Executes on Interrupt

Wed Feb 18, 2015 8:01 pm

Scenario: I have a top level Achieve Goal with a single plan beneath it. The plan is a single flow: Start Event -> Conditional Intermediate Event -> Task -> End Event. The top level Achieve Goal has a Deactivate condition. The Conditional Intermediate Event has "Finish" assignment code.

The behavior that I've seen in 2.7.1424/1427 is the following: If the Achieve Goal's Deactivate condition executes, it causes an interruption in the underlying plan. The interruption is expected and can be seen in the Management console as a "red" stopping point. However, what's surprising is that if the plan is interrupted while the process flow is "waiting" at the Conditional Intermediate Event, then the Finish assignment statement is executed as the plan is interrupted.

While it makes some sense that this would occur, I'm not sure the Finish assignment should be evaluated because the condition the event was waiting on never became true. The event only finished in the sense that it was interrupted by the plan's deactivation.

If this is expected behavior, then it'd be good to know. In my case, the "workaround" was to move the code from the Finish assignment to the outbound flow.

C. Tampitsikas
 
Posts: 30
Joined: Wed Oct 22, 2014 3:04 pm

Re: Intermediate Event - Finish Assignment Executes on Inter

Fri Feb 20, 2015 1:20 pm

Hi Neil,

The approach you followed with the outbound flow is nice.

We agree with you on the observation about the finish assignments.
In fact, in our forthcoming LSPS 3.0 release there will be a solution on this issue where users can choose between assignments always executed on -any kind of- task termination or on accomplishment.

Return to GO-BPMN

Who is online

Users browsing this forum: No registered users and 1 guest