Bug 1047967
| Summary: | Simulation results: Unable to control parallel executions of OR gateway | ||
|---|---|---|---|
| Product: | [Retired] JBoss BPMS Platform 6 | Reporter: | Sona Mala <smala> |
| Component: | jBPM Designer | Assignee: | Tihomir Surdilovic <tsurdilo> |
| Status: | CLOSED EOL | QA Contact: | Kirill Gaevskii <kgaevski> |
| Severity: | high | Docs Contact: | Tomas 'Sheldon' Radej <tradej> |
| Priority: | medium | ||
| Version: | 6.0.0 | CC: | kverlaen, rrajasek, tradej |
| Target Milestone: | --- | ||
| Target Release: | --- | ||
| Hardware: | Unspecified | ||
| OS: | Unspecified | ||
| Whiteboard: | |||
| Fixed In Version: | Doc Type: | Known Issue | |
| Doc Text: |
Using the OR gateway in jBPM Designer may yield invalid simulation results, as not all possible sequence flows are always simulated. This happens due to the lack of support for better control of simulation in the BPSim standard. The simulation currently supports only the XOR and AND gateways. There is currently no workaround.
|
Story Points: | --- |
| Clone Of: | Environment: | ||
| Last Closed: | 2020-03-27 20:09:17 UTC | Type: | Feature Request |
| Regression: | --- | Mount Type: | --- |
| Documentation: | --- | CRM: | |
| Verified Versions: | Category: | --- | |
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
| Cloudforms Team: | --- | Target Upstream Version: | |
| Embargoed: | |||
currently simulation supports only XOR and AND gateways. For OR gateways there will be a need to introduce more simulation properties as more than one can be selected. Moreover distribution of the branches to be selected needs to somehow configurable as well as then set of outgoing flows from OR gateway should change per simulation runs and not be constant. This requires quite some development effort to be properly (and useful) implemented. Thus I would opt to move that to 6.0.1. Wdyt? I hope that a solution will valid for BPSim standard. AFAIK: BPSim standard supports just "probability" and "condition" control parameters for sequence flow element and only one of "probability" or "condition" can be defined for a given business process model element. If 6.0.0 will support just XOR and AND gateways then it should be documented. that is very valid point, BPSim currently does not give us any proper support for complex gateway scenarios. Might be we end up building extension of it or try to convince the BPSim community to extend the spec. Once we have an idea what we would need I send proposal to BPSim. +1 for documenting that only XOR and AND gateways are currently supported. Changing this to a future feature request as this is a limitation of the BPSim specification itself, not a quick bug fix. Please, can you add some error message to the BPMS 6.0.1 that "OR gateway is not supported"? Please, give this alert into validator or end simulation engine with this error if a process contains "OR" gateway. Should I create a new bugzilla issue for this request? I am not sure if it is expected behaviour to run simulation engine with BPMN2 element and returns unexpected charts. Currently you can use an OR gateway in simulation, but you have to make sure the probabilities of the branches add up to 100% (there already is a validation message for that). This means you can't simulate true parallel behavior of the OR gateway yet (but that's what we are saying to mark as future feature request). This however doesn't mean OR gateways can't be simulated, you can simulate each path (although only individual, not in combination with other paths at the same time). We agree this behavior should be documented. Not sure though adding an error message is advisable though (or where we would have to add this error message), as OR gateways are supported, although only partially. I believe documenting this in combination with the validation error should you try to have the probabilities not add up to 100% should be sufficient. (In reply to Sona Mala from comment #6) > Please, can you add some error message to the BPMS 6.0.1 that "OR gateway is > not supported"? Please, give this alert into validator or end simulation > engine with this error if a process contains "OR" gateway. > > Should I create a new bugzilla issue for this request? Sona, can you create a new bz for better error feedback? We triaged this today and agreed the request as a Feature Request which cannot be done for 6.0.1. |
Description of problem: I am not sure about functionality of OR gateway. Validation in Designer says that sum of probability has to be equal to 100%. But if I set this then OR gateway has same behaviour as XOR (each branch was executed separately). So how I can model parallel execution of branches? For example: 3 branches A,B,C and I want to simulate that A is executed with B but not C. Version-Release number of selected component (if applicable): BPMS 6.0.0 ER7 Actual results: Example for 3 branches: Case1 (there was executed less instances than was required) #instances 10 100 (A: 10%, B: 10%, C: 10%) only A: 1 10 only B: 1 10 only C: 1 10 A,B - 1 A,C - 1 B,C - 1 A,B,C - - Sum 3 33 Case2 (branch C was not executed) #instances 10 100 (A: 50%, B: 50%, C: 50%) only A: 5 50 only B: 5 50 only C: - - A,B - - A,C - - B,C - - A,B,C - - Sum 10 100 Case3 (no combination and # A instances is not similar to #B instances) #instances 10 100 (A: 33%, B: 33%, C: 50%) only A: 3 33 only B: 2 17 only C: 5 50 A,B - - A,C - - B,C - - A,B,C - - Sum 10 100 Expected results: Option #1 --------- The common sense for probability of each branches (in case OR gateway) says: - A: 50% for # process instancies 100 means that # A instancies is 50 and I do not care if branch A was executed separately or parallel with branch B or C. - Case 1 - is invalid and simulation should not run - Case 2 - choose randomly one of these executions #instances 10 (A: 50%, B: 50%, C: 50%) only A: 3 | 3 | 2 | 5 only B: 2 | 2 | 2 | - only C: - | 2 | 3 | - A,B - | - | 1 | - A,C 2 | 2 | - | - B,C 3 | 2 | - | 5 A,B,C - | 1 | 2 | - Sum 10 |10 |10 |10 - Restrictions for this behaviour - each branch has probability in range 0-100 - sum of probabilities for OR gate must be grater than 100 - max. sum of probabilities is #branches x 100 - This behaviour has these positives: -> the user controls number of execution for each branch -> the user knows that some branches will be executed parallel with other branches -> A: 100%, B: 100%, C: 100% -> OR has same behaviour as Parallel gateway -> P(A)+P(B)+P(C)=100 -> OR has same behaviour as XOR gateway - This behaviour has these negatives: -> the user are not able to express which combinations of branches are more probable Option #2 I am not able to find it, but the actual implementation is not optimal. Please send here some resources about a behaviour of the actual (desired) implementation. Additional info: