Book a Demo

Author Topic: BPMN Pool 'Ownership' of Global and Call Global  (Read 4509 times)

George Fraser

  • EA Novice
  • *
  • Posts: 6
  • Karma: +0/-0
    • View Profile
BPMN Pool 'Ownership' of Global and Call Global
« on: November 06, 2014, 12:00:48 am »
Since upgrading to build 1112 I've noticed that activities are not behaving as I'd expect.

From the behaviour I'm seeing (i.e. whether sequence connections or message connections are permitted) EA is treating:

All tasks and subprocesses as belonging to their containing pool (This is what I'd expect)

All global tasks and business processes as belonging to one 'global' pool.  (This isn't what I expect.  It means sequence flows between global task and/or business process objects are permitted, but messages are not.)

All 'call' activities as belonging to their own individual pool, one per call activity.  I can never get EA to permit a sequence flow into or out of any call global task/call process activity, irrespective of which pool I put it in.  Conversely, messages are permitted to anything, even if they're objects in the same pool.

My expectation is that 'call global' activities should behave like regular activities - they belong to the pool they're contained by, can sequence to other activities in that pool and can only message to anything outside the pool.  I'd expect the actual global tasks and process objects to behave like the call activities currently do - each one inherently belongs to it's own implicit pool, and can't sequence to or from anything.

Is this a lack of understanding on my part, or a bug?

Regards,

George

MMA

  • EA User
  • **
  • Posts: 63
  • Karma: +3/-0
    • View Profile
Re: BPMN Pool 'Ownership' of Global and Call Globa
« Reply #1 on: November 07, 2014, 10:00:12 am »
Hi George,

From the BPMN Specification, "GlobalTask" and "Process" are RootElement. In terms of EA, they are located directly under a package in the Project Browser. (I didn't get the meaning of 'global' pool).

A callActiviey can set the 'calledElementRef' (invoke) to a Process or GlobalTask. There is no difference between 'call Process' or 'call Global' in terms of how callActivity are used.

From BPMN Specification, the callActivity's and other flowElement like Task, Event, Gateway, their owner is Process or SubProcess. In EA, it can either be directly under a pool (this implies: 1. a dummy process owns this node 2. a pool's 'processRef' is set to this dummy process) or be explicitly under a process and a pool's 'processRef' is set to this process. EA provided an "encapsulate" functionality to transform the implicit Process to an explicit Process so that it can be reused (just like a function definition can have multiple function calls).

In terms of the rule for checking the connectors:
1. A sequence flow may not cross a pool boundary.
2. A message flow may not connect nodes in the same pool.

Strictly speaking, sequence flow or message flow can not connect directly to Process or GlobalTask, however, there seems lots of models using Process or GlobalTask directly on the diagram, which can be corrected by using a callActivity or use subProcess or Task instead. And EA seems to be following the BPMN Specification and adding some exceptions to the existing models.

Hope that helps
 ;)
« Last Edit: November 07, 2014, 10:11:42 am by milesma »

George Fraser

  • EA Novice
  • *
  • Posts: 6
  • Karma: +0/-0
    • View Profile
Re: BPMN Pool 'Ownership' of Global and Call Globa
« Reply #2 on: November 10, 2014, 09:12:32 pm »
Thanks MMA, it sounds like your interpretation of the spec matches mine.  I'll put in a bug report.