[FEAT] CasePathResolver: distinguish completed and pending elements passed as input parameters to infer more flows/edges in the path #16
Labels
enhancement
New feature or request
Milestone
DISCLAIMER: this issue describes path computation for a single instance/case only. So the implementation will go to the
CasePathResolver
class as it differs fromPathResolver
which is a generic implementation that both deals with single instance or all instances of a process.Is your feature request related to a problem? Please describe.
In https://github.com/process-analytics/bonita-day-demo-2023/ but also in the prediction demo of the bpmn-visualization-examples repository, elements provided to compute the path are either completed or pending.
The completed state is intended for:
The pending state is intended for:
IMPORTANT: the pending state is only for flownode/shape. The flow/edge is considered transient and quick to execute, so it is not supposed to be pending.
Describe the solution you'd like
Enrich the existing method to support this use case:
IMPORTANT: this is the first implementation, there won't be any specific processing for elements with special behavior due to the BPMN Semantic (for instance, parallel gateway). This will be described in dedicated issues.
Questions to answer prior starting the implementation
Do we de-duplicate completed and pending elements in the provided property of the object returned by the method?
i.e. if the same ids is passed in both the completed and pending elements,
Use case validity: loop. A task is first completed, go to a gateway and go to a path that triggers the task again.
The diagram would contain:
completed
-->pending
-->completed
The flow/edge between the "pending" and its following "completed" element should not be inferred.
Which would mean:
Tasks
The text was updated successfully, but these errors were encountered: