How can I determine where is a process instance with respect to its execution progression? For example, I would like to check if my process instance is waiting at a specific event-based gateway. Is there any way other than using runtimeService.getActivityInstance(processInstanceId) and then digging into the details of ActivityInstance, like calling getChildActivityInstances() etc?
I am not sure if you are mixing the two contexts design time and run time here. Our modeling tools allow you to create nice looking BPMN 2.0 diagrams at design time. The engine is the run time component and provides APIs such as RuntimeService#getActivityInstance to inspect the current process flow.
If you would like to see tokens as part of your BPMN diagram you’d need to create a mash-up of both projects:
embed the BPMN 2.0 diagram inside a web page (via the bpmn-js viewer)
query the process engines REST API for the current status (active activity instances)
display the running process instances and their tokens on the diagram using overlays
If you have general questions about process execution, please ask a question in the Camunda BPM forum.
If you have any modeling/diagram embedding related questions be specific about your context (i.e. are you using the Camunda Modeler, bpmn-js (viewer/modeler), …).
Apologies. I was under the impression this forum is for Camunda engine and I didn’t even drink alcohol yesterday. As you pointed out, I care about runtime API. I will address this to the proper forum.