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

Bug 1086912

Summary: Simulation: Incorrect validation for inclusive gateways
Product: [Retired] JBoss BPMS Platform 6 Reporter: Phil Simpson <psimpson>
Component: jBPM DesignerAssignee: Tihomir Surdilovic <tsurdilo>
Status: CLOSED EOL QA Contact: Kirill Gaevskii <kgaevski>
Severity: high Docs Contact:
Priority: medium    
Version: 6.0.1CC: jomarko, kverlaen, psimpson, rrajasek
Target Milestone: ---   
Target Release: ---   
Hardware: x86_64   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2020-03-27 19:03:29 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
Example none

Description Phil Simpson 2014-04-11 19:47:42 UTC
Created attachment 885533 [details]
Example

Description of problem:
Process validation complains that "The sum of probability values of all outgoing Sequence Flows must be equal 100." for an inclusive gateway.  This is incorrect, since one or more outgoing sequence flows may be taken in parallel.

It should check that at least one outgoing flow has a probability value of 100.

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


How reproducible:
Always

Steps to Reproduce:
1.Define a flow with an inclusive gateway
2.Turn on validation.
3.

Actual results:
Error message displayed

Expected results:
No error, provided at least one flow has a probability of 100.

Additional info:

Comment 2 Phil Simpson 2014-05-07 21:11:01 UTC
Any chance we can fix this for 6.0.2?  It is messing up my demos.

Thanks.

Comment 3 Tihomir Surdilovic 2016-04-26 15:28:04 UTC
We don't support all bpmn2 constructs in the simulation engine and while inclusive gateways have many choices we still treat them as exclusive currently so the current check really is fine.

Can you provide proof that the simulation results and expected behavior of the simulation is altered because of this in your demos/tests? If it is then we should look at it to improve/fix.

Comment 4 Phil Simpson 2016-04-26 15:42:31 UTC
Hi Tiho,
The issue is not that simulation doesn't work.  The problem is that when validating the diagram (nothing to do with simulation), an error is displayed that shouldn't be.  The gateway is colored red and the error message is misleading.  The error displayed is that the sum of probability values for outgoing flows must equal 100, which is not true for an inclusive gateway. 

I think an alternative solution for now would be to not include simulation data checks during validation at all.  Just run those checks when starting a simulation session.

Comment 5 Tihomir Surdilovic 2016-04-26 16:11:51 UTC
Why is it not true? Neither the bpmn or the bpsim specs make a hard rule on probability on inclusive gateways. We treat the error as currently implemented in our sim runtime. 

AFAIK errors have a type associated with them so users can see that this particular one is not related to execution or validity of their process. I agree one improvement could be to show simulation related things as warnings instead. Will look into it. Thanks.

Comment 6 Phil Simpson 2016-04-26 17:04:31 UTC
> Why is it not true?

So, for an exclusive gateway, the sum of the probabilities for each route must equal 100%.  Makes sense since exactly one outbound route must be selected.

But for an inclusive gateway, at least one outbound route must be selected.  So I think the restriction shouldn't apply.  For example it would be perfectly correct to assign probability values of 100% to every outbound route, indicating to the simulator that every outbound route will be taken.  How could you specify this scenario without assigning 100% to every outbound route?  I think it would, however, make sense to require that at least one outbound route must have a probability of 100%, to guarantee that at least one route will always be selected.

Comment 7 Tihomir Surdilovic 2016-04-26 18:29:54 UTC
I think that your points have value of course but not sure it makes sense to update any UI features before the sim engine itself could possible handle what you are talking about. 

Even then however you focus on an error only without showing any proof that the current sim engine implementation is incorrect by showing some simulation results which are wrong because of this issue. It would be really helpful to to have this in order to consider sim engine changes and would help with testing of them too. 

Thanks.

Comment 8 Tihomir Surdilovic 2016-04-26 18:48:13 UTC
Just to add I think we should complete your request as one big solution which is update the runtime and the UI and not just the UI alone. 

I also think that the idea if changing simulation errors into warnings or info messages would be a good solution until we work on the runtime. WDYT?

Comment 9 Phil Simpson 2016-04-26 20:54:28 UTC
Fine with bundling into one big solution.  I do think though that we shouldn't be presenting simulation-related validation problems unless we know that the user is preparing the model for simulation.  In the simplest case a model may be for documentation purposes only, and the user just wants to be sure that the BPMN is semantically correct.  Use of warnings instead of errors will help, but perhaps a better solution would be to enable different levels of validation checks for different purposes (documentation, simulation, deployment)?

Comment 10 Jozef Marko 2016-05-02 18:10:29 UTC
After discussion with @tsurdilo, process validation results and simulation validation result will be displayed in two separate tab while one tab will contain errors and the second tab will contain warnings.