One of the many limitations of BPMN is not providing a standard way of modelling something very common which is the "resume" pattern. You do something, it is interrupted, you solve the problem and then you are back to resume what was interrupted. You don't start from the beginning, but form where you left it. Quite common, isn't' it?
As there are ways to (represent) undo what was done before interruption, there should be a way to finish what was left as well. Anyway, unless I overlooked something, this is missing. But now my question is, what would you recommend as an elegant workaround?
1 Reply
-
Hi Ivo:
You present an interesting question but I am lacking any detailed information about what you really want to represent. Can you provide a use case?
It seems just based on your initial post, you can represent a condition where an activity is interrupted with a boundary interrupting intermediate event. But it sounds like your narrative includes a condition as well.
So let's call your default path "Path A". You go along Path A, and it is interrupted. It is interrupted by what? Is there a business condition that changed? Is there a message that interrupts it? Is there an error condition that terminates the process (Maybe an experiment that fails)? Or does a timer expire (without the correct response provided within the allot time)?
You can model this with a boundary interrupting event but you would need to provide more details on what caused the interruption before you could complete your model. A boundary interrupting event may return to where you want to in the sequence flow but it is details about what is the interruption that will determine if that is possible.