Open barmac opened 7 months ago
What I haven't figured out yet is how to somehow store all the sources to know which scopes to exclude from the search.
The idea is to tag all scopes with a "source" (that should already exist, I think). We can then check available scope instances for a node to see if there is one from each source where we expect a token.
Can we tag the scopes within the current API?
Not sure which API you refer to. But every scope
has an initiator, giving you access to "who is the reason I exist".
We want to make sure it is appropriately set for sequence flow tokens entering the OR (or XOR) gateway, and to conduct the test using that information.
OK, so if I set the initiator from the sequence flow, all necessary information will be there.
Exactly.
If we fix this, consider fixing it for join
(AND
), too (https://github.com/bpmn-io/bpmn-js-token-simulation/issues/130):
Thanks for your support. Indeed it would make sense to fix this for both gateways.
What should we do?
Check out this conversation: https://camunda.slack.com/archives/CKGH9LR40/p1701443318328729?thread_ts=1701360376.758139&cid=CKGH9LR40
I've already done some work on this branch: https://github.com/bpmn-io/bpmn-js-token-simulation/tree/improve-inclusive-gateway The sequence flow provides itself as a
source
when another element is entered. What I haven't figured out yet is how to somehow store all the sources to know which scopes to exclude from the search.Why should we do it?
Spec-compliant OR gateway FTW.
Related to https://github.com/bpmn-io/bpmn-js-token-simulation/issues/130