Sparx Systems Forum

Enterprise Architect => General Board => Topic started by: Fábio Guarita on August 07, 2019, 02:57:52 am

Title: Allocation Activity Partition - How to Allocate Activity to Blocks (EA 13.5)
Post by: Fábio Guarita on August 07, 2019, 02:57:52 am
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?
Title: Re: Allocation Activity Partition - How to Allocate Activity to Blocks (EA 13.5)
Post by: Geert Bellekens on August 07, 2019, 03:26:26 am
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
Title: Re: Allocation Activity Partition - How to Allocate Activity to Blocks (EA 13.5)
Post by: Fábio Guarita on August 07, 2019, 06:55:14 am
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 (https://sparxsystems.com/resources/gallery/diagrams/systems/sys-sysml_activity_diagram-distiller-allocation_partitions.html) 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)

(https://sparxsystems.com/resources/gallery/diagrams/images/sysml-activity-diagram-distiller-allocation-partitions.png)
Title: Re: Allocation Activity Partition - How to Allocate Activity to Blocks (EA 13.5)
Post by: qwerty on August 07, 2019, 07:14:41 am
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.
Title: Re: Allocation Activity Partition - How to Allocate Activity to Blocks (EA 13.5)
Post by: PeterHeintz on August 07, 2019, 05:32:06 pm
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”.
Title: Re: Allocation Activity Partition - How to Allocate Activity to Blocks (EA 13.5)
Post by: qwerty on August 07, 2019, 06:41:41 pm
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.
Title: Re: Allocation Activity Partition - How to Allocate Activity to Blocks (EA 13.5)
Post by: Fábio Guarita on August 07, 2019, 08:49:56 pm
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 (https://sysml.org/docs/specs/OMGSysML-v1.4-15-06-03.pdf) - 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).
Title: Re: Allocation Activity Partition - How to Allocate Activity to Blocks (EA 13.5)
Post by: PeterHeintz on August 07, 2019, 09:21:27 pm
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.
Title: Re: Allocation Activity Partition - How to Allocate Activity to Blocks (EA 13.5)
Post by: Fábio Guarita on August 07, 2019, 09:51:43 pm
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!
Title: Re: Allocation Activity Partition - How to Allocate Activity to Blocks (EA 13.5)
Post by: Thangadurai on February 12, 2020, 08:44:03 pm
Hello EA Users,
I am using EA14 and i established the <allocate> relationship between a block and an action but i am still searching for the option to enable the visibility of "allocated To" and "allocated from" properties either block or Actions. Also how to enable the matrix representation of Actions and Blocks with allocation relationship. Could someone knows how do it either a direct method or a kind of workarounds?

Thank you in advance,
Thangadurai