Bug 1086912
| Summary: | Simulation: Incorrect validation for inclusive gateways | ||||||
|---|---|---|---|---|---|---|---|
| Product: | [Retired] JBoss BPMS Platform 6 | Reporter: | Phil Simpson <psimpson> | ||||
| Component: | jBPM Designer | Assignee: | Tihomir Surdilovic <tsurdilo> | ||||
| Status: | CLOSED EOL | QA Contact: | Kirill Gaevskii <kgaevski> | ||||
| Severity: | high | Docs Contact: | |||||
| Priority: | medium | ||||||
| Version: | 6.0.1 | CC: | 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: |
|
||||||
Any chance we can fix this for 6.0.2? It is messing up my demos. Thanks. 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. 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. 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. > 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.
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. 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? 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)? 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. |
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: