I'm trying to draw an approval process that involves several tasks assigned to different participants represented as lanes (within the same pool). I'd like to wrap these in a sub-process so that I can model a time-out event on the overall approval process, but I can't draw a sub-process in Aris that spans lanes This restraint does not seem to be enforced by other modelling tools, and I can't find any reference to any related restriction in the BPMN spec. Anyone have any idea as to what the rules are? I know that I can model this by making the approval process a Call Activity linking this to an expansion in a different diagram, but it would have been useful to see this detail in the parent.
4 Replies
-
I moved your post to the BPMN group, because you will probably get more atttention for your problem.
I don't think it is allowed by the spec to have a sub-process crossing multiple lanes. Each modelling object belongs exactly to one lane. If other tools allow you to model something like that, it is probably related to the fact that they don't have an underlying modelling method, but are more drawing tools.
-
The restriction on objects belonging to only one lane does seem sensible, though one of the tools that is relaxed about sub-processes and lanes is Intalio and I'm fairly certain it has a good underlying model. I must admit that the representation of a collapsed sub-process that spans lanes can be a bit confusing because potentially you can end up with a set of apparently empty lanes. However, the use case that I initially described of encompassing a set of tasks across lanes in order to define common treatment of a time or escalation event seems a reasonable thing to do.
-
In ARIS, we focus on implementing BPMN as it is specified. So we don't relax it. To circumvent your problem in an ARIS way, you might want do the following. Instead of adding a subprocess, add an ordinary activity to your process. Assign a new collaboration diagram to this activity. In this new diagram, you can use lanes and pools. On the model above, you can add a compensation on error event.
The only drawback is that you can't expand your activity, but instead you need to always go to the assigned model.
-
If I read the spec correctly there has to be a 1:1 relationship between an activity (activities are not only single tasks, but can also be subprocesses) and an ActivityResource.
Table 10.3 in the sec says (emphasis mine):
"Resources: Defines the resource that will perform or will be responsible for the activity. The resource, e.g. a performer, can be specified in form of a specific individual, a group, an organization role or position, or an organization."
Obviously a resource can be reused multiple times by different activities.