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

[FEAT] CasePathResolver: infer "holes" in the path #19

Open
tbouffard opened this issue Jul 18, 2023 · 0 comments
Open

[FEAT] CasePathResolver: infer "holes" in the path #19

tbouffard opened this issue Jul 18, 2023 · 0 comments
Labels
enhancement New feature or request

Comments

@tbouffard
Copy link
Member

tbouffard commented Jul 18, 2023

DISCLAIMER: this issue describes path computation for a single instance/case only. So the implementation will go to the CasePathResolver class as it differs from PathResolver which is a generic implementation that both deals with single instance or all instances of a process.

Description

Experiment ways to detect completed elements in the paths that we know for sure.

For example, the following can be inferred

  • "task unknown": its predecessor is a parallel gateway
  • "another unkown": its successor "task" is completed
flowchart LR
    A((start 1))--> gateway{+}
    %% X((start 2))  --> gateway
    gateway --> task1(task1) & taskUnkown(task unknown) --> gatewaySplit
    gatewaySplit{+} --> task(another unkown)
    --> a(task) --> end1((end))
Loading

Notes

This functionality can be resource-intensive, so we should describe precisely the use cases to be covered.
In particular, the search depth could be configurable, i.e. the number of elements the algorithm attempts to deduce. Think about loops for example.

Notice that it is a topic that is covered in the graph theory, so a lot of algorithms already exist to deal with this topic.
We may use existing library to handle it and if so, we would probably need to create a dedicated npm package to not force user of bv-experimental-add-ons that don't need it to have these libs in their dependencies list.
Otherwise, we may enable this feature by setting an option, see #23

We may decide to reduce the scope of this feature as a first implementation: only deals with BPMN specifics (parallel gateways for instance) and deals with the rest of the "holes" (to be precised)

@tbouffard tbouffard added the enhancement New feature or request label Jul 18, 2023
@tbouffard tbouffard changed the title [FEAT] PathResolver: infer "holes" in the path [FEAT] CasePathResolver: infer "holes" in the path Oct 9, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant