Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Disallow dummy/static conditions on outgoing sequence flows from OR/XOR gateways #152

Open
nikku opened this issue Jan 25, 2024 · 0 comments
Labels
backlog Queued in backlog rules spring cleaning Could be cleaned up one day

Comments

@nikku
Copy link
Member

nikku commented Jan 25, 2024

Originally reported by @till-stadtler in bpmn-io/bpmnlint#120.

The rule should detect the following modeling patterns

Conditions on outgoing sequence flows should always contain at least one process variable. If these conditions do not contain any process variable (dummy condition), they always evaluate to the same value.

If this value is false, the outgoing sequence flow will never be taken. This should be highlighted.

If this value is true:

  • in XOR gateways: this sequence flow will always be taken, and an incident might be thrown if another outgoing sequence flow evaluates to true as well
  • in OR gateways: in this case, the OR gateway should be replaced with the combination of a parallel gateway and another XOR/OR gateway to improve readability

If the dummy condition evaluates to false, this rule highlights that a certain path can never be taken.
If the dummy condition evaluates to true, this rule helps to avoid an incident arising or suggests a helpful refactoring.

Without the rule, BPMN models will continue to include dummy conditions on sequence flows behind OR/XOR gateways.

How does the rule improve the BPMN diagram?

Without the rule, BPMN models will continue to include dummy conditions on sequence flows behind OR/XOR gateways.

Rule Details

  • Name: no-dummy-conditions / static-expression
  • Default notification level: warn
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
backlog Queued in backlog rules spring cleaning Could be cleaned up one day
Projects
None yet
Development

No branches or pull requests

1 participant