Note: This bug is displayed in read-only format because the product is no longer active in Red Hat Bugzilla.

Bug 1074453

Summary: Path, which contains Boundary Error Event, returns incorrect results for simulation
Product: [Retired] JBoss BPMS Platform 6 Reporter: Sona Mala <smala>
Component: jBPM DesignerAssignee: Maciej Swiderski <mswiders>
Status: CLOSED NOTABUG QA Contact: Sona Mala <smala>
Severity: high Docs Contact:
Priority: high    
Version: 6.0.1CC: kverlaen
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2014-03-14 12:11:54 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
Screenshot: Path for boundary event
none
BPMN2 definition none

Description Sona Mala 2014-03-10 09:49:39 UTC
Created attachment 872608 [details]
Screenshot: Path for boundary event

Description of problem:
Please see related issue.

Simulation of process, which contains Boundary Event, returns results which are inconsistent with BPMN2 standard.

It means that simulation engine executes outgoing sequence flow and boundary event (see attached screenshot). Even if this behaviour is controlled by attribute "cancelActivity" or type of boundary event.

BPMN2 specification says:
  If the "cancelActivity" attribute is set:
      - the Activity the Event is attached to is then cancelled (in case of a multi-instance, all its instances are cancelled);

  If the attribute is not set:
      - the Activity continues execution
      - only possible for Events:
           Message, 
           Signal, 
           Timer, 
           Conditional
      - it is not possible for Error Events



Version-Release number of selected component (if applicable):
6.0.1 ER2 BPMS


Steps to Reproduce:
1. Import attached process
2. Run Simulation
3. Show Paths

Actual results:
See attached screenshot


Expected results:
Choose only one path from this options:
   - Boundary Event 
   - sequence flow
for boundary event which attribute "cancelActivity" is set to true or if type of boundery event is Error.


Use both options:
   - Boundary Event 
   - sequence flow
for boundary event which attribute "cancelActivity" is set to false and they are not Error boundary event.


Additional info:
BPMN specification, p. 440

Comment 1 Sona Mala 2014-03-10 09:53:17 UTC
Created attachment 872609 [details]
BPMN2 definition

Comment 2 Maciej Swiderski 2014-03-14 11:29:37 UTC
Sona,

I believe it works as expected as what happens here is that simulation engine recognizes there is a loop and in such a case it will not allow to loop again but go the other path instead. So to explain it with this example:
1. it goes into Credit Report activity
2. it follows the boundary event path and cancels the Credit Report activity
3. enters Troubleshoot activity which then goes back to Credit Report for retry
4. here simulation engine recognizes that boundary event path was already taken so it moves the other path instead

that's why it might be seen as incorrect behavior but actually it is perfectly valid and expected I would say.What do you think?

Comment 3 Sona Mala 2014-03-14 12:11:54 UTC
I am sorry I forgot that there is a loop.
I close this issue.