Book a Demo

Author Topic: BPMN - Lanes - *Link* vs *Instance*  (Read 7773 times)

filipepinto

  • EA Novice
  • *
  • Posts: 7
  • Karma: +0/-0
    • View Profile
BPMN - Lanes - *Link* vs *Instance*
« on: February 11, 2017, 07:57:14 am »
Hi,

I'm modeling processes using the BPMN 2.0 package.

I have a question of how I re-use lane definitions.

Here's the approach I followed:

  • I created a package with ResourceRoles elements to represent all internal roles.
  • I created a package with lanes
  • I assigned the lanes to the ResourceRoles

Now I would like to re-use these lanes, on my business processes. My initial thought was to:

  • drag and drop the lanes from the lane's package into a pool of the diagram.
  • Click "cancel" on the instantiate dialog (cancel is actually the only option as nothing is populated on the dialog)

After these steps, the lane shows on the process diagram. However, it is not listed on the package elements. Something is obviously not entirely correct. Drag & Drop doesn't seem to be the right way to go.

Here's the question:

  • Should I instead copy the lanes? If so, what's the best procedure?
  • If I copy, then if update the description of the lane, how will the copied lanes on the different processes inherit that change?

Thanks!

p.s - please note that I got to know how to create these folder structure by watching this video - http://www.sparxsystems.com/resources/webinar/partners/bpmn/enhanced/BPMN2-enhancements.htm. However, the video talks about a process template, but doesn't exactly targets just re-using lanes.

qwerty

  • EA Guru
  • *****
  • Posts: 13584
  • Karma: +397/-301
  • I'm no guru at all
    • View Profile
Re: BPMN - Lanes - *Link* vs *Instance*
« Reply #1 on: February 11, 2017, 08:20:38 am »
A lane is in instantiation. So it should be used only in one diagram for a certain context, defined therein. It should nut be re-used. The re-use is done via the instantiation. You can trace from the supplier to the single instances.

q.

Paolo F Cantoni

  • EA Guru
  • *****
  • Posts: 8626
  • Karma: +259/-129
  • Inconsistently correct systems DON'T EXIST!
    • View Profile
Re: BPMN - Lanes - *Link* vs *Instance*
« Reply #2 on: February 13, 2017, 06:03:49 pm »
A lane is in instantiation. So it should be used only in one diagram for a certain context, defined therein. It should nut be re-used. The re-use is done via the instantiation. You can trace from the supplier to the single instances.

q.
Out of interest, where in the BPMN 2.0 specification does it say that?  Or is it just the Sparx implementation?

Paolo
Inconsistently correct systems DON'T EXIST!
... Therefore, aim for consistency; in the expectation of achieving correctness....
-Semantica-
Helsinki Principle Rules!

qwerty

  • EA Guru
  • *****
  • Posts: 13584
  • Karma: +397/-301
  • I'm no guru at all
    • View Profile
Re: BPMN - Lanes - *Link* vs *Instance*
« Reply #3 on: February 13, 2017, 06:07:09 pm »
I was just talking from EA's implementation perspective. My BPMN background is rather basic.

q.

filipepinto

  • EA Novice
  • *
  • Posts: 7
  • Karma: +0/-0
    • View Profile
Re: BPMN - Lanes - *Link* vs *Instance*
« Reply #4 on: February 14, 2017, 04:47:29 am »
Hi,

Thanks for the clarification.

How do I instantiate a lane in a BPMN diagram? As you can see in the diagram below, the instatiation dialog is empty :-\ . What am I missing? Thanks!




qwerty

  • EA Guru
  • *****
  • Posts: 13584
  • Karma: +397/-301
  • I'm no guru at all
    • View Profile
Re: BPMN - Lanes - *Link* vs *Instance*
« Reply #5 on: February 14, 2017, 10:00:40 am »
Just drop it on a diagram, select it an press Ctrl-L. That will allow to specify the classifier.

q.

filipepinto

  • EA Novice
  • *
  • Posts: 7
  • Karma: +0/-0
    • View Profile
Re: BPMN - Lanes - *Link* vs *Instance*
« Reply #6 on: February 15, 2017, 02:19:15 am »
Hey Querty.

Thanks for getting back to me. Much appreciated.

Unfortunately that doesn't seem to have solve the problem. I don't have a new instance of the lane in my diagram.



I was expecting to create a new lane in the diagram, but instead I still create a "link".



We must be doing something wrong. Can you please help?

Thanks

qwerty

  • EA Guru
  • *****
  • Posts: 13584
  • Karma: +397/-301
  • I'm no guru at all
    • View Profile
Re: BPMN - Lanes - *Link* vs *Instance*
« Reply #7 on: February 15, 2017, 03:12:01 am »
You just drop a new lane from the toolbox. If you drag one from the project browser, you re-use that (usually as link).

q.

filipepinto

  • EA Novice
  • *
  • Posts: 7
  • Karma: +0/-0
    • View Profile
Re: BPMN - Lanes - *Link* vs *Instance*
« Reply #8 on: February 15, 2017, 04:45:31 am »
Hey Querty.

Thanks again to come back to me.

However, I'm not sure this resolves the problem.

By adding the lane and then using CTRL+L doesn't fill the lane partionElement property with the ResourceRole (please refer to the diagram below).



This is important because we want to track all the business processes and activities associated to a given role.

Does it make sense?


qwerty

  • EA Guru
  • *****
  • Posts: 13584
  • Karma: +397/-301
  • I'm no guru at all
    • View Profile
Re: BPMN - Lanes - *Link* vs *Instance*
« Reply #9 on: February 15, 2017, 07:42:15 am »
Unfortunately I'm not too familiar with BPMN itself. You can click the ellipsis right to partitionElementRef and select an appropriate class. But I have no idea, what that will mean in the BPMN context. Maybe a helpful Sparxian can chip in.

q.

Eve

  • EA Administrator
  • EA Guru
  • *****
  • Posts: 8110
  • Karma: +119/-20
    • View Profile
Re: BPMN - Lanes - *Link* vs *Instance*
« Reply #10 on: February 15, 2017, 08:52:59 am »
BPMN 2.0.2 (OMG Document Number: formal/2013-12-09)
Figure 10.126 shows a lane is owned by (composition) a LaneSet, which is in turn owned by a FlowElementsContainer, which Process an SubProcess are both subtypes of. Therefore a Lane can only exist in one Process.

Instantiation (classifier/instance) is not a relationship that a Lane has in BPMN. The recommendation here is to specify a Resource or ResourceRole as the partition element.

This is supported by a the description for LaneSet.
Quote
A Lane element defines one specific partition in a LaneSet. The Lane can define a partition element that specifies the value and element type, a tool can use to determine the list of Flow Nodes to be partitioned into this Lane. All Lanes in a single LaneSet MUST define partition element of the same type, e.g., all Lanes in a LaneSet reference a Resource as the partition element, but each Lane references a different Resource instance.

In EA I think you're restricted to a single implicit LaneSet, and you visually move FlowElements into the appropriate Lane. You could however validate that elements with a Resource defined are in an appropriate Lane.

An EA extension to the specification is that if the Lane does not have a name, it displays the name of its partition element. this means you have an easy way to ensure that all lanes for a given resource/role are named consistently.