Author Topic: BPMN and reporting its relationships  (Read 2845 times)

Darcy at labecom

  • EA Novice
  • *
  • Posts: 3
  • Karma: +0/-0
    • View Profile
BPMN and reporting its relationships
« on: November 13, 2015, 10:51:41 am »
Hi,

We have developed a number of business processes using Sparx. We would like to report on the processes developed so far by identifying relationships between BPMN Pools and BPMN Lanes, between BPMN Lanes and BPMN Activities across multiple BPMN processes. Our BPMN processes span across multiple packages.  

We see there is no explicit Sparx relation between BPMN Lanes and BPMN Activities we can access, but that relationship certainly exists. Is there any way someone can help us access the relationship and possibly report on it?

Many thanks in advance,
Darcy

Geert Bellekens

  • EA Guru
  • *****
  • Posts: 12250
  • Karma: +484/-33
  • Make EA work for YOU!
    • View Profile
    • Enterprise Architect Consultant and Value Added Reseller
Re: BPMN and reporting its relationships
« Reply #1 on: November 13, 2015, 03:25:34 pm »
Darcy,

The BPMN Activities are nested under the BPMN Pools or Lanes.
Technically that means that the ParentID of the Activity is the Object_ID of the Pool or Lane.

I'm not sure in which format you would like to see the reporting, but it is definitely possible.

Geert

bITs.EA

  • EA User
  • **
  • Posts: 80
  • Karma: +2/-0
    • View Profile
Re: BPMN and reporting its relationships
« Reply #2 on: November 16, 2015, 12:42:35 am »
Yes, like Geert says, it is possible to list the activities for each lane. With the document generator you can simply loop through all lanes in a process package and list all the activities in that lane.

Be careful though, it is possible that not all activities are in the right lane (after moving from one lane to another, EA doesn't always switch the "owner" of the activity).
So check this before you create a report!

MMA

  • EA User
  • **
  • Posts: 63
  • Karma: +3/-0
    • View Profile
Re: BPMN and reporting its relationships
« Reply #3 on: November 16, 2015, 12:05:03 pm »
Quote
Technically that means that the ParentID of the Activity is the Object_ID of the Pool or Lane.

Good point. Just some additions:

The ParentID of the Activity is the "Object_ID of the parent of the Activity shown in the Project Browser".

1. If the Activity is in a Lane, the ParentID should always be the Lane.
2. If the Activity is in a Pool, two places (in EA's project browser) are valid to be the parent of the Activity:
    (1) The Pool itself (this is very obvious)
    (2) A BusinessProcess which is referenced by the Pool.
    Tips: in the Project browser, context menu on a pool | Encapsulate Process
3. If the Activity is not in the "Main(Internal) Pool", which will not show the boundaries. (Ref BPMN2.0 Specification: Figure 9.5) , the valid parenting places are:
    (1) If the Collaboration element does not exist, the Activity simply stays as root (directly under the package);
    (2) If the Collaboration exists:
          the Activity stays inside the Collaboration.
          the Activity stays inside the main pool elememt (referenced by the mainPool tag of collaboration that owns the diagram)
          the Activity stays inside a process referenced (by processRef tag) by the main pool element which is referenced by the mainPool tag of that collaboration owns the diagram   ;D
     Tips: in the Project browser, context menu on the collaboration diagram | Encapsulate Process

Actually, the user don't have to remember these, they are transparent.

Another feature is worth to mention, on the bpmn diagram, there is a "Validate Diagram" option, which is suggested before generate the docs. One of the validatiors will evaluate the project browser's parenting relationship and give warning/errors if any.

In summary, user can easily make the BPMN models; meanwhile, EA guaranteed the BPMN import/export are fully conforming to the specification (with a trade off of the above internal efforts) and make a solid ground for further usages. E.g. BPSim Configuration and Execution.
    
« Last Edit: November 16, 2015, 12:11:13 pm by milesma »