Token Simulator Questions

Dears,

(We had also asked the same questions on Camunda Forum, however, due to lack of response, we’d like to post here as well. Sorry for cross-posting…)

We are a team of process engineers, who design operational processes with BPMN (online, with Cawemo, or on desktop with Camunda Modeler, Camunda Platform 7, version 5.9.0). Our proceses don’t have anything to do with programming (!) and we are no IT people, so please bear with us >.<".

After we had drawn our processes, we would like to present them to our organization and train the colleagues accordingly. For the pupose of presentation and training we are trying to use the Token Simulator - either the online version or the plugin for Camunda Modeler. We encountered following issues and would like to ask you for help:

  1. Example process:
    image
    This map contains a sub-process (“Extra charges handling”). When we use the token simulator, the token stops at the sub-process and we are not able to figure out the way how to move it further till the end. Is there a way we can set up the simulator so that the token does not stop at sub-processes?

  2. How can we start the token simulation with a keyboard key? We found that you can pause and play the simulation with the spacebar, but the spacebar does not work for starting the simulation, it only pauses and plays the simulation after you click the start icon at the start event with the mouse. The reason it would be useful is that sometimes we have pretty large maps where we don’t want to go back to the beginning of the map just to press the icon at the start event. We would rather like to press a keyboard key and wait for the token to arrive at the section which we are currently looking at.
    If there is no such key yet, we would like to suggest to add it to the simulator.

  3. As mentioned, some of our process maps are huge and contain lots of possible paths. When we are focusing on discussion of only a certain part of the map which leads to e.g. 3 different paths to go futher, we would like to start the simulation not at the very beginning, but at the certain point where we are looking at currently. Is that possible? How can we specify a starting point for the token which is other than the start event?

Thanks a lot in advance for your help!

@J-B Thanks for approaching us and great to see token simulation being used as a learning tool. That is the purpose :slight_smile:.

How can we start the token simulation with a keyboard key?

You cannot start it with a keyboard key, as usually processes have multiple entry points; it is not clear what shall be started.

image

Your scenario may be a special one, as you’d like to replay a specific part of the process multiple times. Maybe we could rather invest into restarting from a particular point (so you can try a particular pattern again)? This is also a solution for what you mention here:

How can we specify a starting point for the token which is other than the start event?

However there is not much gained simply starting at any point as there may be multiple tokens / setup is complicated. Instead I’d propose to re-start at a dedicated state as a feature to consider.

Is there a way we can set up the simulator so that the token does not stop at sub-processes?

This may or may not be a known issue depending on specifics of your case, cf. Improve collapsed sub-process support · Issue #114 · bpmn-io/bpmn-js-token-simulation · GitHub.

Consider opening a dedicate bug report for the issue you see within the token simulation project, or provide more specifics on that case.

Dear @nikku,

Thank you very much for your reply!!

Regarding starting of the simulation with a keyboard key, we agree with your reasoning. Therefore, please discard that question.

Regarding your suggestion here:

Instead I’d propose to re-start at a dedicated state as a feature to consider.<

Could you please elaborate on what you mean by “state”? Do you have an example to better understand what you mean?

Regarding the sub-process issue, I am not sure yet whether your mentioned known issue is what is bothering us. My suspicion right now is that we just don’t know how to use the simulator in a correct way XDD. In that issue there is an example where the token does go into the sub-process and pauses there. Our problem is that we can’t figure out the way how to let the token go into the sub-process in the first place. Is there somewhere a guide on how to let the token go through sub-processes?

Could you please elaborate on what you mean by “state”?

Let us imagine the following (complex) diagram, and the scenario where you’d like to explain your users how interrupting boundary events work:

capture.s21OCW_optimized

You’d always start in a particular setup before your are going to continue the simulation. This setup is what you construct before hand, and that is also what I refer to as state. Imagine I could go back to that “initial setup state” so I can repeat an experiment or try a different variation from here.

Regarding the sub-process issue, I am not sure yet whether your mentioned known issue is what is bothering us.

If you could share a concrete scenario that fails for you I’d appreciate that. You can load sub-process-test.bpmn (3.8 KB) into the token simulation demo and will see that it works, with some quirks. Including drilling into the sub-process (pausing at put break points).

Hi @nikku,

Sorry it took me some time to come back to you.
The example I have is at the top - it’s a simple process and it actually does not matter how exactly the sub-process look like since I can’t figure out the way how to let the token enter the sub-process at all. When I start the token simulation the token stops at the sub-process:

image

If I click on the blue arrow I get this:

image

Basically an empty process.
So, the question for me is how do I link the sub-process to the main one so that the token goes into the sub-process?

Did I bring the point across?..

Ensure you modeled the sub-process with actual valid contents:

capture.KgJptR_optimized

Without contents (blank sub-process) the process is stuck; I can confirm that. I suggest you to use the token simulation demo for this to ensure whatever you report is not an integration issue.

Hi @nikku !

This correspondence has been extremely helpful, thank you so much!

Regarding the sub-process issue, I now understand what was wrong. All our sub-processes are modeled in separate BPMN files - which is OK for our puposes, but when it comes to simulation, the sub-process must be part of the main process as you show in above gif - roger that!
Since what we are trying to do is just to present the main process without further explaining the details of the sub-process (for which we will have a separate presenation / simulation), I will put just a dummy sub-process so that the token is able to continue its journey.

As for a feature where you can setup a token state which the simulation should start from - YES, agree with your proposal and would be great to have that added!
How long do you think will that take though?

We’d require a community contribution (someone to build it) to work on this topic. Hence I cannot provide you with an estimate.

I’ll try to turn that into an issue (Issues · bpmn-io/bpmn-js-token-simulation · GitHub) once I find the time. That would be the start to discuss further steps.

That would be great, thanks a lot for your help! :heart:

For your information:

Hi @nikku !

Thanks a lot for staying on it! :smiley:

Regarding “Token simulation cannot continue beyond collapsed, empty sub-process”, in the meantime I understand why the token stops there, so I’m not sure whether you can call it a “bug”. But there should be a possibility for the user to let the token continue on the path. Maybe something similar to intermediate events, where the token stops, but the user gets a “play”-button which can be pressed, so the token can continue. I would suggest the same function here, but only if the sub-process is empty.

On the other hand, I would also agree if you pursue the solution where the token ignores the “sub-process” setting if the sub-process is empty and just goes pass it as if it were a simple task. Maybe that’s even more simple…

The other one with checkpoints sounds great! :+1: :+1: :+1:

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.