Author Topic: SysML Activity: how to show ownership relation between elements in a BDD  (Read 279 times)

Arne Krüger

  • EA Novice
  • *
  • Posts: 13
  • Karma: +0/-0
    • View Profile
As the title suggests: suppose I have an Activity (or any other element for that matter) that "owns" a number of Actions (nested under the activity and also shown in Traceability window). How can I show this relationship in a BDD.

When I drag both the Activity and the owned actions into a BDD as linked items no arrows are shown between them.

Arquesoft

  • EA User
  • **
  • Posts: 243
  • Karma: +5/-3
  • EA Consulting and development in Spanish
    • View Profile
    • Arquesoft website
If you use the Traceability windows, you there can see the ownership as if they were actual relationships.

PeterHeintz

  • EA User
  • **
  • Posts: 799
  • Karma: +47/-17
    • View Profile
BDDs are intended for blocks to define structure and relations. It is also allowed to use Activities within BDDs, somehow as "blocks" to define the structure of activities.
How the structural elements interact with each other, is defined in IBD for blocks and in activity diagrams for activities.
To make the structure definition consistent with the interactions, EA provides some feature for blocks but no features for activities.

Typically an activity is allocated to a block, or called as an operation of a block, a classifier behaviour of a block, or an owned behaviour of a block and so on.

When you drag an activity into the BDD it is just a link to that activity element (not more not less).
Due to the fact that EA just ignores activities when synchronizing structural features you have to add a property within you block (Block not diagram) manually and to classify it with you activity. This defines what you want to define but it will not lock like as you expect.
This is because UML/SysML has no concept of diagrams of different types to have within other diagrams.
However EA has a feature going in this direction which is called “diagram frame”. However it is just a kind of graphics within you diagram.
Best regards,

Peter Heintz

Arne Krüger

  • EA Novice
  • *
  • Posts: 13
  • Karma: +0/-0
    • View Profile
I still wonder, why EA does not show all relations that are present (!) in the model when I drag items into a BDD. What rules govern, which relations are actually shown? I mean, there is a "owned by" relation in SysML and the Model Browser shows that one item "owns" the other. Why isn't that reflected in the Diagram?

Another thing I already noticed is that when adding a composition association between the Activity and the Classifier Activities of owned Actions in an BDD, EA automatically creates a new property classified with the "owned" Activity. Thus I then have one property and one action both classified with the same "child" Activity in the browser. Even stranger, the composition relation (and link on the diagram) remains there even when I then delete thes automatically created property, at least in EA 14.1. When I select "synchronize structural elements" for the parent, the properties are re-created.

This in turn gives what appears as a Activity BDD, similar to the examples of EA itself ("One Level Activity Hierarchy" SysML Model Pattern) and/or examples in various books and internet resources. However, as far as I understood this might more an "accidental feature" rather than a truly supported pattern.

All in all the inability to show exisiting relations between elements on a diagram is somewhat disturbing.

Geert Bellekens

  • EA Guru
  • *****
  • Posts: 9305
  • Karma: +252/-27
  • Make EA work for YOU!
    • View Profile
    • Enterprise Architect Consultant and Value Added Reseller
Ownership in EA is a bit different from other relationships.
Any other relation get an entry in t_connector.

The ownership is only indicated by the ParentID on t_object or t_package

In order for EA to draw a relationship it needs a t_connector entry.

You could draw these relations yourself. There is an ownership relation present in EA (has a circle with + sign as end notation) I'm not sure if there is a SysML specific equivalent.
Downside is that you'll have the ownership information redundant in two places, which you'll need to keep in sync

Geert