expanded subprocesses and lanes used for roles

56 views
Skip to first unread message

cm

unread,
Nov 20, 2010, 11:57:15 PM11/20/10
to BPMN Forum
I have yet to see a truly satisfactory answer to several questions
posed about using lanes to denote roles in an expanded subprocess.
Quoting the spec might seem to be a reasonable way to answer such
inquiries, but it does not help solve modeling problems.

In my case, I am depicting several sequenced collapsed subprocesses in
a pool which represents a department (there are no lanes depicted on
the top-level diagram). Next, I want to show an expanded subprocess
for each collapsed subprocess on a separate page/diagram. However, I
want to use lanes to depict roles in the expanded subprocess showing
which activities in the subprocess are associated with that specific
role (lane).

However, since, in my case, the subprocess is not reusable, according
to the 1.2 spec, it cannot contain pools or lanes. Okay then, how do I
denote different roles inside the subprocess?

Can I include a pool with the same name (i.e., department) on another
page/diagram which now contains lanes for the roles involved in the
subprocess and then "lay" the expanded subprocess on top of the lanes?

I am not asking a tool question here. I am just modeling a process.
However, I am trying to conform, if possible, to the spec.

If the solution implied by my question is not allowed, how do you
model an expanded subprocess with activities performed by different
roles in the enviornment you are modeling?

Thanks,
Carl

Nil

unread,
Nov 23, 2010, 7:12:16 AM11/23/10
to bpmn...@googlegroups.com
Hi Carl.
I´ll answer just your last question using your own words:
 
I show an expanded subprocess for each collapsed subprocess on a separate page/diagram. So I can use lanes to depict roles in the expanded subprocess showing which activities in the subprocess are associated with that specific role (lane).
 
I think that is the only answer.
 
Nil


2010/11/21 cm <cmont...@yahoo.com>

--
You received this message because you are subscribed to the Google Groups "BPMN Forum" group.
To post to this group, send email to BPMN...@googlegroups.com.
To unsubscribe from this group, send email to BPMNforum+...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/BPMNforum?hl=en.


Neal McWhorter

unread,
Nov 23, 2010, 1:11:23 PM11/23/10
to bpmn...@googlegroups.com
Carl,

I'm not aware of a limitation like you describe. Just to be sure I looked through the 1.3 spec. (and I'm almost certain that this wasn't touched in 1.3) and didn't find any such limitation. Can you point me to the part of the spec that you believe requires the use of a reusable subprocess? 

Neal

cm

unread,
Nov 23, 2010, 1:56:46 PM11/23/10
to BPMN Forum
Neal,
I am not aware of 1.3 spec, could you provide a link? The
restriction that I was making reference to may be found in section
9.4.2.2 of the 1.2 spec:
The objects within the Embedded Sub-Process, being
dependent on their parent, do not have all
the features of a full Business Process Diagram, such as
Pools and Lanes. Thus, an expanded view
of the Embedded Sub-Process would only contain Flow
Objects, Connecting Objects, and
Artifacts (see Figure 9.8).

The subprocesses I am modeling would be considered embedded since they
only have a single parent process. I did not mention restrictions on
reusable subprocesses. I only mentioned that the ones I was modeling
were not reusable as I understand the definition. The problem I
described arose because I wanted to use lanes to model roles in an
expanded (embedded) subprocess. BPMN 2.0 may have resolved this
matter; I am looking into that now.

Regards,
Carl

Neal McWhorter

unread,
Nov 23, 2010, 7:55:34 PM11/23/10
to bpmn...@googlegroups.com
Carl,

My apologies I misunderstood your question. I believe what you're trying to accomplish is to have a higher level diagram and then drill down into more detail. The higher level diagram doesn't have pools and lanes but the more detail one does. 

The issue here is that Pools cannot contain Pools. This is an issue because message flow can only be used between pools. All BPD's exist within a Pool whether it is visually represented or not. If a embedded BPD contained a Pool then there would be a Pool within a Pool by definition which would violate the idea that Pools cannot share anything except via message flow. But the solution is to make use of a Reusable Sub-Process. In this case the the processes are really separate so each of these can have the full range of Pools and Lanes. Flow of control can still pass from one to the other as normal. What is lost by this is the "free" sharing of data between the parent and sub-process that you get with an embedded sub-process. Essentially all the information must be carried in the invoking event. 

Unless you're dealing with detailed a BPD for execution, the distinction doesn't exists since there is no defined visual difference between the two.

Also, I double-checked and I was looking at the BPMN 1.2 rev3 not 1.3. This was an intermediate version before it was finalized but essential identical to the final version. Sometimes I can't keep track of the various version number of the current drafts.

I hope this helps...
Neal McWhorter
Principal, Enterprise Agility

Carl

Janice

unread,
Nov 24, 2010, 8:25:42 PM11/24/10
to BPMN Forum
Dear Neal,

I have the same question with Carl. And there is one more question
about your answer, "If a embedded BPD contained a Pool then there
would be a Pool within a Pool by definition which would violate the
idea that Pools cannot share anything except via message flow."
What if the embeded BPD contains the pool which is exactly the same
pool with parent process but with specific lanes to represent
different roles in it. If so, dose it still violate the BPMN rules?

Thank you in advance.

Best Regards,
Janice
> > BPMNforum+...@googlegroups.com<BPMNforum%2Bunsu...@googlegroups.com>
> > .

Neal McWhorter

unread,
Nov 26, 2010, 2:22:21 PM11/26/10
to bpmn...@googlegroups.com

Janice,
This is a bit confusing I'm afraid. The thing to understand is that the embedded process is really part if the parent process. So the child process always is within the pool or lane of the parent process. That's why an embedded subprocess can't have a pool following the reasoning from my prior email. But a reusable subprocess is really a separate process so this restriction doesn't exist. 

Keep in mind that all of these distinctions exist to support execution semantics. If you aren't trying to execute your BPMN then exact conformance shouldn't be an issue. In fact it's not uncommon for organizations to create hierarchical process models which are fully BPMN compliant only at the a level that is defined to be executable. For organizations following this path creating pools and lanes at multiple levels isn't an issue because the only pools that exist at this level are candidates for a BPMN-compliant engine.

I hope that helps...

Neal McWhorter

On Nov 25, 2010 12:38 AM, "Janice" <x9kk...@gmail.com> wrote:

Dear Neal,

I have the same question with Carl. And there is one more question
about your answer, "If a embedded BPD contained a Pool then there

would be a Pool within a Pool by definition which would violate the

idea that Pools cannot share any...

What if the embeded BPD contains the pool which is exactly the same
pool with parent process but with specific lanes to represent
different roles in it. If so, dose it still violate the BPMN rules?

Thank you in advance.

Best Regards,
Janice

On 11月24日, 上午8時55分, Neal McWhorter <neal.mcwhor...@gmail.com> wrote:
> Carl,
>

> My apologies I misu...

> On Tue, Nov 23, 2010 at 12:56 PM, cm <cmonthe...@yahoo.com> wrote:
> > Neal,

> >      I am not awa...

--

You received this message because you are subscribed to the Google Groups "BPMN Forum" group.

To pos...

cm

unread,
Nov 27, 2010, 12:02:34 PM11/27/10
to BPMN Forum
Neal/Janice:
Janice's question(s) was/(were) really the same as mine because I
wanted to reference the same pool in both my top-level (parent) and
child diagrams. I reached out to and received a response from one of
the active participants of the BPMN 2.0 effort and thought I would
share part of the response that I received:

"Omitting lanes in top level diagram but showing them in subprocess
expansions is good practice and a common one. In the hierarchical
style of modeling, child level diagrams (i.e. subprocess expansions)
are drawn on a separate page hyperlinked to the collapsed subprocess.
The expanded subprocess shape is omitted in the child level diagram.
Alternatively, in the inline style, parent and child levels are shown
on the same page, using the expanded subprocess shape (resizable
rounded rectangle) instead of collapsed subprocess shape and drawing
the child level expansion inside it. OK, none of this is new.

BPMN 1.2 had a rule that you could not put lanes inside an expanded
subprocess shape. That meant you couldn’t really define subprocess
lanes in the inline modeling style, but you could in the hierarchical
style.

In BPMN 2.0 a fundamental principle is that there is one semantic
model of the process, regardless of how you represent it. I.e. in the
semantic model there is no difference between the hierarchical and
inline styles, as those just deal with the graphics not the
semantics. . . . Effectively that means lanes are allowed in the
inline style just as in the hierarchical, although I don’t know of any
tools that do that. . . ."

Personally, I am using the hierarchical style of modeling, so I am not
concerned with lanes inside an inline style of an expanded sub-
process. This response still did not explicitly address the question
of whether a child diagram could contain a pool representing the same
process as depicted in the top-level diagram. However, in an example
from Bruce Silver's blog (http://www.brsilver.com/2010/08/23/bpmn-2-0-
from-visio-2010-premium/ --- see near the end of the entry), he
showed the expansion of a sub-process from a top-level diagram in a
child-level diagram that contained the same pool. This is how I plan
to handle the modeling while I dig into the specs more.

Regards,
Carl



Neal McWhorter

unread,
Nov 27, 2010, 10:22:46 PM11/27/10
to bpmn...@googlegroups.com

Carl,
Thanks for the detailed followup. It is important to distinguish between the situation for Pools vs. Lanes. Lanes are essentially semantic-less. So while having a pool within a pool isn't allowed lanes within lanes are legal.
However the semantic situation is different from the diagrammatic situation. While an embedded subprocess can't have its own pool a tool could choose to show the parent process's pool within the child process's expanded diagram if that diagram is being viewed standalone. The situation with lanes is similar but more problematic. A tool could choose to show the parent's lanes in the subprocess's standalone diagram. But how that tool would reconcile this with the lanes in the parent diagram isn't clear. Likely because of this as far as I am aware there is no tool that supports lanes in embedded subprocesses.  And none of this changes in 2.0 at least that I recollect.
I'd once again suggest that BPMN conformance is typically only valuable at the executable level. Bruce uses a subset of BPMN for his classes and his clients and he tells me that he doesn't see a need for more... esp. the 2.0 enhancements. I still see value for conformance at the executable level. But the problems that the standard creates for modeling scenarios like yours were one of my big concerns when the vote to adopt 2.0 happened. Myself and others raised these concerns but the desire to get out a version that fixed execution issues from 1.2 trumped our concerns.

Neal McWhorter

--

You received this message because you are subscribed to the Google Groups "BPMN Forum" group.

To post to this group, send email to BPMN...@googlegroups.com.

To unsubscribe from this group, send email to BPMNforum+...@googlegroups.com.

Janice

unread,
Dec 6, 2010, 11:35:02 PM12/6/10
to BPMN Forum
Dear Carl and Neal,

Thank you for your information on how to use lanes in subprocess. I
learned a lot from that.
I think it's all about the purpose of modeling with BPMN. For me, I
think I would use lanes in sub-process to present hierarchical style.
Really thanks for your help!

Best regards,
Janice
Reply all
Reply to author
Forward
0 new messages