Book a Demo

Author Topic: How does EA model BPMN under the hoods?  (Read 3046 times)

OpenIT Solutions

  • EA User
  • **
  • Posts: 555
  • Karma: +9/-1
    • View Profile
How does EA model BPMN under the hoods?
« on: August 24, 2011, 09:49:54 pm »
Hi,

I have a question about how EA models BPMN under the hoods. Specifically i need to understand how EA associates a BPMN Pool/Lane with a contained Activity/Process on a diagram? Does anyone know which tables/column in the EA database tell EA that the activity is contained within the pool on the diagram?

I ask a i need to write a report that lists all activities used by a role (ie a Lane in BPMN). The problem is that we have a libary (ie seperate directory in EA of all roles - a bunch of BPMN Lane elements/objects in a directory) of roles/Lanes that is reused across diagrams. Each diagram is in its own package (representing the process being modeled), which also contains the activities associated with the package.

The only relationship (used loosly here) that i can see is at the diagram level - as the Activity just sits in the Lane - its not a child or embeded element. There is also no formal relationship (connectors) between the two elements - so how does EA know that the Lane contains the activity on the diagram? I can see a ObjectType column in the DiagramObjects table and see the the Lane is dockable, so my assumption is that when a move a Lane (dockable element) on a diagram EA looks at the coordinates of all elements on the diagram and moves any that are within the dockable element - problem is that i can't search for this in SQL etc....so can't report upon it...any clues or suggestions?

Appreciate any help,

Jon.

OpenIT Solutions

  • EA User
  • **
  • Posts: 555
  • Karma: +9/-1
    • View Profile
Re: How does EA model BPMN under the hoods?
« Reply #1 on: September 02, 2011, 02:21:41 am »
Hi All,

Been banging my head against a wall with this one for a few days now. The only solution i've been able to come up with is the sql below. If a Lane/Pool represents a role/org unit - then the sql will tell you which BPMN tasks/activities are undertaken by/associated with a given role/org unit:

SELECT o1.ea_guid AS CLASSGUID, o1.Object_Type AS CLASSTYPE,  o2.name AS Participant, o2.Stereotype AS Type, o1.Name AS Task, d3.Name AS Process
FROM t_diagramobjects d1, t_diagramobjects d2, t_diagram d3, t_object o1, t_object o2
WHERE o1.Object_ID = d1.Object_ID
and o1.Object_Type = 'Activity'
and o2.Object_Type = 'ActivityPartition'
and o2.Object_ID = d2.Object_ID
and d1.diagram_id = d2.diagram_id
and d1.recttop < d2.recttop
and d1.rectleft > d2.rectleft
and d1.rectbottom > d2.rectbottom
and d1.rectright < d2.rectright
and d3.diagram_id = d1.diagram_id
order by 3

However i can't think of a way to get this into an rtf report in the correct format ie a table for each activity that lists the associated lanes/pools (activitypartitions).

Any thoughts / pointers ?

Thanks,

Jon.