Author Topic: Allocation Activity Partition - How to Allocate Activity to Blocks (EA 13.5)  (Read 262 times)

Fábio Guarita

  • EA Novice
  • *
  • Posts: 7
  • Karma: +0/-0
    • View Profile
Hi, I'd like to use Partitions (swimlanes) to allocate activities to blocks in an activity diagram as indicated in SysML 1.4 spec (ISO19514, pg 148, "Allocation Activity Partition").

I've tried the following:

1-Create activity diagram
2-Create activity act1
3-Create 'Partition' (from the toolbox)
4-Apply SysML 1.4::AllocateActivityPartition stereotype
5-apply Instance classifier block : block1
6-Move activity act1 within the swimlane/partition

Expected result:
-Allocate relationship visible on relationship matrix with the proper selections

Result obtained:
-No relationship visible in any view or matrix (even using start > search > search in model)

Obs.: I have also tried to use the <<allocate>> stereotype in step 4 and got the same result.

1.: Is this SysML1.4 feature supported in EA 13.5?
2.: If so, how can I use it?

Geert Bellekens

  • EA Guru
  • *****
  • Posts: 9378
  • Karma: +258/-27
  • Make EA work for YOU!
    • View Profile
    • Enterprise Architect Consultant and Value Added Reseller
In UML the relation between the action (not Activity) and the Activity partition is made through ownership. (nesting in the project browser)
This does not result in a relation in the database (t_connector) but it is a relation nonetheless.

I'm not sure about SysML, but I suspect that is follows the UML rules. In that case you should probably try the same with an Action instead of an Activity.
The Activity is supposed to be the owner of the Activity diagram, but Activities should not appear on Activity diagrams. That is only for Actions.

Geert

Fábio Guarita

  • EA Novice
  • *
  • Posts: 7
  • Karma: +0/-0
    • View Profile
I tried the same routine with actions (either atomic actions and callBehavior actions), no relationship seems to be created either between block and actions and block and activities.

The following example from sparx systems gallery uses actions (callBehavior) and the text below says: "An example of a SysML Activity diagram.  This diagram represents different parts of the Distiller system as swimlanes and allocates activities to the different parts of the Distiller."

What I understood is that placing the callBehavior actions in the swimlanes should allocate the activities (called by the action) to the blocks that are instanced by the partitions. (which I understand is what happens when you select a specific block as a classifier for the partition). The problem is... it just doesn't work and I don't get the "allocate" relationship. That is pretty useless to me since I want to be able to check on the relationship matrix the allocations.

Have anyone here succeeded in doing this? (either with activities or actions)


qwerty

  • EA Guru
  • *****
  • Posts: 10497
  • Karma: +231/-190
  • I'm no guru at all
    • View Profile
Not much experience with SysML. However, you're talking about swim lanes. But that are no swim lanes. Those are lanes/partitions which are real elements that can be instantiated. A swim lane is only a graphical element.

q.

PeterHeintz

  • EA User
  • **
  • Posts: 811
  • Karma: +47/-17
    • View Profile
Hi,
if you want to use the relationship matrix you need to establish a real relation by an sysml <<allocate>> relationship.
What you are doing here, is not much more than a visualization of relations you do not have in your model.
Of cause it would be nice if EA would establish that relation for you in background, but it does not and the omg standards are very inconsistent in how to handle “containment”.
Best regards,

Peter Heintz

qwerty

  • EA Guru
  • *****
  • Posts: 10497
  • Karma: +231/-190
  • I'm no guru at all
    • View Profile
omg standards are very inconsistent in how to handle “containment”.
Indeed. It always bugs me that they introduced that nesting operator which makes me wonder whether to use packages "intentionally" (as everyone does namely as a container) or to use (additionally?) that nesting operator. Clear as dumpling broth (as we say in Germany).

q.

Fábio Guarita

  • EA Novice
  • *
  • Posts: 7
  • Karma: +0/-0
    • View Profile
Not much experience with SysML. However, you're talking about swim lanes. But that are no swim lanes. Those are lanes/partitions which are real elements that can be instantiated. A swim lane is only a graphical element.

q.

Thank you for the correction! I meant lanes/partitions (those accessible by activity toolbox).

Hi,
if you want to use the relationship matrix you need to establish a real relation by an sysml <<allocate>> relationship.
What you are doing here, is not much more than a visualization of relations you do not have in your model.
Of cause it would be nice if EA would establish that relation for you in background, but it does not and the omg standards are very inconsistent in how to handle “containment”.

Exactly, what I want is to establish a real <<allocate>> relation from an activity to a block through the partition lane. I know that is possible in other tools and the OMG SysML 1.4 specification explicitly specifies (OMG SysML v1.4 Spec - link here - page 148, last line of the table) that such partitions/lanes - typed as blocks - are one of the ways of defining allocation (i.e. creating an <<allocate>> association between actions/activities and blocks).

PeterHeintz

  • EA User
  • **
  • Posts: 811
  • Karma: +47/-17
    • View Profile
Hi Fabio,
page 148 is just graphics and do not tell so much.

But when looking on page 151
“An Action appearing in an “AllocateActivityPartition” will be the /client (from) end of an “allocate” dependency. The element that represents the “AllocateActivityPartition” will be the /supplier (to) end of the same “allocate” dependency. In the «AllocateActivityPartition» name field, Properties are designated by the use of a fully qualified name (including colon, e.g., “part_name:Block_Name”), and Classifiers are designated by a simple name (no colons, e.g., “Block_Name”).”

I think you are right, but it seems to be ignored by EA. Maybe you issue a bug or a feature request.
Best regards,

Peter Heintz

Fábio Guarita

  • EA Novice
  • *
  • Posts: 7
  • Karma: +0/-0
    • View Profile
Thanks
Hi Fabio,
page 148 is just graphics and do not tell so much.

But when looking on page 151
“An Action appearing in an “AllocateActivityPartition” will be the /client (from) end of an “allocate” dependency. The element that represents the “AllocateActivityPartition” will be the /supplier (to) end of the same “allocate” dependency. In the «AllocateActivityPartition» name field, Properties are designated by the use of a fully qualified name (including colon, e.g., “part_name:Block_Name”), and Classifiers are designated by a simple name (no colons, e.g., “Block_Name”).”

I think you are right, but it seems to be ignored by EA. Maybe you issue a bug or a feature request.

I did not think of opening a bug report, thanks for the suggestion, I'll do it!