Sparx Systems Forum
Enterprise Architect => Uml Process => Topic started by: klunik on November 24, 2015, 08:54:18 pm
-
Hello,
I am new to SysML and EA so maybe the questions I have are stupid.
1) Is there an option inside a BDD respectively a block element where I can open all allowable compartments from SysML like part, reference, value, receptions etc. Then type in my properties thus the properties are created in my model?
If not, then it would be really helpful to know how to create an association that is equivalent to the part properties displayed in the part compartment. I assumed it would be the part association but this only creates a general property. On the other hand a shared association creates a property displayed in the reference compartment but the textbook says that reference properties belong to the reference association.
I also tried to create a value property. Any advice here how to do that?
2) Second question is about multiplicity. I can`t find the option where to show the multiplicity of an instance inside a compartment (not on an association)
I`m using EA 12.
Thank you, any advice is much appreciated :)
-
Is there an option inside a BDD respectively a block element where I can open all allowable compartments from SysML like part, reference, value, receptions etc
There are a few ways to control this:
1. On a case-by-case basis: Right click on block on BDD, from context menu: Features & Properties | Feature & Compartment Visibility. This dialogue box contains settings for element feature visibility, including operations (EA presently does not support receptions) and attributes (EA's name for value properties).
2. On a diagram level, press F5 to bring up the properties window. Go to the elements tab. EA shows a list of all the features owned by the elements on the current diagram. Note: this list will change depending on the features owned by the elements on it, so if you don't see the feature you're after listed then it is because that none of the elements on the diagram have this feature at present... create it first and then try again.
Option 2 is my preference as it is more intuitive and affects all elements on the diagram (and any new ones you later drop on)
Assuming you have created a reference assocation between two blocks on a BDD then you can turn on the "References" option from the dialogue properties window. However, EA will not display display this information if the two blocks are already on the same diagram (since that would be redundant information). If however you were to delete one of the two blocks from the diagram then EA will then add a reference compartment to the remaining block showing those things it is associated with...
it would be really helpful to know how to create an association that is equivalent to the part properties displayed in the part compartment.
To create part properties create a composite aggregation relationship from the block you wish to represent the type for the part to the block that represents the owner
On the other hand a shared association creates a property displayed in the reference compartment but the textbook says that reference properties belong to the reference association
I'm not quite sure what you mean when you say a "shared association". EA is different from other programs (such as Rhapsody). In other modellling programs the associations you create between elements are tangible model elements that you can see in the model browser... no so in EA.
-
I`ll restructure my post.
How to create:
part properties:
To create part properties create a composite aggregation relationship from the block you wish to represent the type for the part to the block that represents the owner
Yes, but the referring compartment is just called "properties" in EA which I think is confusing because there are numbers of different properties such as reference properties, value properties,... So the "parts" compartment in SysML theory is equivalent to the "properties" compartment in EA?
value properties:
attributes (EA's name for value properties).
The attributes are listed in a separate compartment but unfortunately the compartment does not have a label or headline (such as "values").
reference properties:
Assuming you have created a reference association between two blocks on a BDD then you can turn on the "References" option from the dialogue properties window. However, EA will not display this information if the two blocks are already on the same diagram (since that would be redundant information). If however you were to delete one of the two blocks from the diagram then EA will then add a reference compartment to the remaining block showing those things it is associated with...
Quote:
On the other hand a shared association creates a property displayed in the reference compartment but the textbook says that reference properties belong to the reference association
I'm not quite sure what you mean when you say a "shared association". EA is different from other programs (such as Rhapsody). In other modellling programs the associations you create between elements are tangible model elements that you can see in the model browser... no so in EA.
EA (or SysML itself I don't know) calls an Aggregation also a Shared Association (hollow diamond). This relationship automatically creates a reference (?!) property within the block and displays it immediately in the reference compartment (so yes, there is redundancy!).
However a reference association, as you said, creates no property within the block (seen in the model browser) and there is no option to turn on "references" in the properties because no property is created from the connection. The connection itself does not have the option to turn on references.
receptions:
EA presently does not support receptions
operations:
same as values. No label on the compartment
-
Yes, but the referring compartment is just called "properties" in EA which I think is confusing because there are numbers of different properties such as reference properties, value properties,... So the "parts" compartment in SysML theory is equivalent to the "properties" compartment in EA?
In SysML there are part properties and value properties and they are slightly different things. Value properties are usually used to model slightly intangible characteristics of a block (e.g. an engine's mass, which is a characteristic of the "engine"). Whereas part properties are (typically) used to model slightly more tangible characteristics (e.g. a crank shaft, which is a part of the "engine"). These aren't rigid rules and I'm sure someone will agree to differ on this point!
Not only are they slightly different modelling concepts, they are also represented differently in EA. As I said, part properties are simply known as "properties" whilst value properties are known as "attributes"... Why? because EA is originally a UML modelling tool with a SysML profile on top. You will soon discover this often causes some divergence between what the SysML spec defines and what EA presents you... I have come from using Rhapsody and am often left scratching my head about the way certain things are displayed! What you must remember is this: EA is a UML tool. That is why EA calls them "attributes" rather than "parts"... because value properties are extensions to UML "attributes". This is just something you'll have to get used to!
a reference association, as you said, creates no property within the block (seen in the model browser) and there is no option to turn on "references" in the properties because no property is created from the connection. The connection itself does not have the option to turn on references.
Let’s say you have two blocks: Block A and Block B… create an association between them on a BDD. Double click on the association, go to the roles tab and give the “source” and “target” ends role names… this is the “name” of the reference part. So for example you might give the association at the end near block A the name “a” and the role near block B the name “b”. Now, create an Internal Block Diagram for Block A and from it right click and go “Synchronise Properties”. EA will now add a part to this IBD with the name “b” (typed by the Block B). Now, any change you make to B (such as changing its name, adding operations etc) will be reflected. Why must you do this? Who knows!!!
Regarding the labelling of the operations compartment, I seem to remember there might be a way to do this but cannot recall how. EA support may be able to help more.
My advice - accept EA's quirky way of doing things! ;)
Hope this helps!