Book a Demo

Author Topic: Property Strings at Association Ends  (Read 14281 times)

jeshaw2

  • EA User
  • **
  • Posts: 701
  • Karma: +0/-0
  • I'm a Singleton, what pattern are you?
    • View Profile
Property Strings at Association Ends
« on: August 24, 2005, 07:43:18 pm »
The OMG UML 2.0 Superstructure Specification, Sect 7.3.2 says:
Quote
...An association end is the connection between the line depicting an association and the icon (often a box) depicting the connected classifier. A name string may be placed near the end of the line to show the name of the association end. The name is optional and suppressible.
Various other notations can be placed near the end of the line as follows:
• A multiplicity.
• A property string enclosed in curly braces. The following property strings can be applied to an association end:
• {subsets <property-name>} to show that the end is a subset of the property called <property-name>.
• {redefined <end-name>} to show that the end redefines the one named <end-name>.
• {union} to show that the end is derived by being the union of its subsets.
• {ordered} to show that the end represents an ordered set.
• {bag} to show that the end represents a collection that permits the same element to appear more than once.
• {sequence} or {seq} to show that the end represents a sequence (an ordered bag).
• if the end is navigable, any property strings that apply to an attribute. ...

Where do I enter property strings for association ends?
« Last Edit: August 24, 2005, 07:43:42 pm by jeshaw2 »
Verbal Use Cases aren't worth the paper they are written upon.

sargasso

  • EA Practitioner
  • ***
  • Posts: 1406
  • Karma: +1/-2
  • 10 COMFROM 30; 20 HALT; 30 ONSUB(50,90,10)
    • View Profile
Re: Property Strings at Association Ends
« Reply #1 on: August 24, 2005, 08:25:14 pm »
In the conector "role" tabs.
bruce
"It is not so expressed, but what of that?
'Twere good you do so much for charity."

Oh I forgot, we aren't doing him are we.

jeshaw2

  • EA User
  • **
  • Posts: 701
  • Karma: +0/-0
  • I'm a Singleton, what pattern are you?
    • View Profile
Re: Property Strings at Association Ends
« Reply #2 on: August 24, 2005, 09:38:47 pm »
In the Criteria field?  Seems inconsistant to put it thete there; in the Parts element, property strings go in the tagged values field.

And, Where do I specify that the association is derived?
Verbal Use Cases aren't worth the paper they are written upon.

Paolo F Cantoni

  • EA Guru
  • *****
  • Posts: 8626
  • Karma: +259/-129
  • Inconsistently correct systems DON'T EXIST!
    • View Profile
Re: Property Strings at Association Ends
« Reply #3 on: August 24, 2005, 09:49:48 pm »
Quote
[size=13][SNIP][/size]
And, Where do I specify that the association is derived?
As one of our former Prime Ministers (Robert Gordon Menzies) was want to say when presented with a problematic question:

"Good question.  Next?"  ;D

Paolo
« Last Edit: August 24, 2005, 09:52:21 pm by PaoloFCantoni »
Inconsistently correct systems DON'T EXIST!
... Therefore, aim for consistency; in the expectation of achieving correctness....
-Semantica-
Helsinki Principle Rules!

sargasso

  • EA Practitioner
  • ***
  • Posts: 1406
  • Karma: +1/-2
  • 10 COMFROM 30; 20 HALT; 30 ONSUB(50,90,10)
    • View Profile
Re: Property Strings at Association Ends
« Reply #4 on: August 24, 2005, 09:50:52 pm »
a) Hmm, guess not then.
b) Wot's a derived associaton?  Do you mean the end is a derived attribute?
bruce
"It is not so expressed, but what of that?
'Twere good you do so much for charity."

Oh I forgot, we aren't doing him are we.

Paolo F Cantoni

  • EA Guru
  • *****
  • Posts: 8626
  • Karma: +259/-129
  • Inconsistently correct systems DON'T EXIST!
    • View Profile
Re: Property Strings at Association Ends
« Reply #5 on: August 24, 2005, 09:59:49 pm »
Quote
a) Hmm, guess not then.
b) Wot's a derived association?  Do you mean the end is a derived attribute?
bruce
Since I'm very interested in Jim's views and definitions, I'll let this one go "through to the keeper"  (Cricketing term for you infidels... ;D).

Paolo
Inconsistently correct systems DON'T EXIST!
... Therefore, aim for consistency; in the expectation of achieving correctness....
-Semantica-
Helsinki Principle Rules!

Maarten

  • EA User
  • **
  • Posts: 25
  • Karma: +0/-0
    • View Profile
Re: Property Strings at Association Ends
« Reply #6 on: August 25, 2005, 04:39:53 am »
Although I doubt if I'm the keeper, I would like to add some thoughts. Jim, since it is a quite complex subject, I will try to make myself more clear this time ;)

1. Difference between role names and string properties
In my opinion the UML superstructure defines that you can place 3 sorts of things at an association end:
  • a role name
  • a multiplicity
  • property strings

A property string is hence different from a role name. Role names and multiplicities can be determined in EA by the Association properties window (double click the association). However this window does not provide an input control for property strings. You could define them by means of tagged values, but I don't know how you would do it. I can add tagged values to the association but not to the association end.

2. Derived associations
According to the UML definition a derived association is an association that can be derived from other associations or constraints. Again the association properties window in EA does not allow you to indicate if an association is derived. Nevertheless the automation documentation regarding elements of type association shows the existence of a boolean attribute IsDerived. So EA knows the concept of a derived association but you cannot manage it by means of the user interface (or at least I did not find a way to do it).

Hope this helps,
Maarten
« Last Edit: August 25, 2005, 04:40:51 am by Maarten »

Paolo F Cantoni

  • EA Guru
  • *****
  • Posts: 8626
  • Karma: +259/-129
  • Inconsistently correct systems DON'T EXIST!
    • View Profile
Re: Property Strings at Association Ends
« Reply #7 on: August 25, 2005, 05:09:53 am »
Quote
[size=13][SNIP][/size]
2. Derived associations
According to the UML definition a derived association is an association that can be derived from other associations or constraints. Again the association properties window in EA does not allow you to indicate if an association is derived. Nevertheless the automation documentation regarding elements of type association shows the existence of a boolean attribute IsDerived. So EA knows the concept of a derived association but you cannot manage it by means of the user interface (or at least I did not find a way to do it).

Hope this helps,
Maarten
Hi Maarten,
I couldn't find it a) in the Help file, and b) on the EA.ConnectorClass.  The only reference to IsDerived (via Help search) is on the Attribute.

Can you point me to it?  I'm emitting the model through the AI and one of the principal features of my modelling technology is the creation of derived and inferred connections (of all types).

Cheerz,
Paolo
Inconsistently correct systems DON'T EXIST!
... Therefore, aim for consistency; in the expectation of achieving correctness....
-Semantica-
Helsinki Principle Rules!

jeshaw2

  • EA User
  • **
  • Posts: 701
  • Karma: +0/-0
  • I'm a Singleton, what pattern are you?
    • View Profile
Re: Property Strings at Association Ends
« Reply #8 on: August 25, 2005, 05:10:08 am »
Begining on page 37 of The OMG UML 2.0 Superstructure Specification, Sect 7.3.1 (speaking on associations) says:
Quote
Attributes
• isDerived : Boolean Specifies whether the association is derived from other model elements such as other associations or constraints. The default value is false.
Associations
• memberEnd : Property [2..*] Each end represents participation of instances of the classifier connected to the end in links of the association. This is an ordered association. Subsets Namespace::member.
Issue 6243 - add new information about navigable ends
• ownedEnd : Property [*] The ends that are owned by the association itself. This is an ordered association. Subsets Association::memberEnd, Classifier::feature, and Namespace::ownedMember.
• navigableOwnedEnd : Property [*] The navigable ends that are owned by the association itself. Subsets Association::ownedEnd.
• / endType: Type [1..*] References the classifiers that are used as types of the ends of the association.
Constraints
[1] An association specializing another association has the same number of ends as the other association.
self.parents()->forAll(p | p.memberEnd.size() = self.memberEnd.size())
[2] When an association specializes another association, every end of the specific association corresponds to an end of the general association, and the specific end reaches the same type or a subtype of the more general end.
[3] endType is derived from the types of the member ends.
self.endType = self.memberEnd->collect(e | e.type)
I believe I'm trying to do [2] above, but I'n not sure; the specification language is very obscure to me.

Where I'm going with all of this is the development of an abstract composite class, lets say Vehicle (whose parts and associations are also abstract and not owned by the composite), which is then specalized in several ways into more concrete classes (e.g.; Cars, Boats, Airplanes), all the while keeping myPowerSource (e.g.;myEngine or myRubberBand) connected to my PowerTransmitter (e.g.;myWheels or myPropeller) and not connected to yourPowerTransmitter.  Therefore, I may need to derive the entire association, other times just an end of the association.  If I understand the OMG UML spec correctly, both are possible.

I will also need to apply property strings to subset, redefine and specify a union at the association ends.  This is the genisis of this thread.

In addition, the PowerSource and PowerTransmitter parts are Interfaces to parts which are wired in at execution time via the Spring Framework. Since Interfaces are inheritable, I can speculate a need to specalize them also, but I havn't gotten to that in EA yet and I'm not sure the UML spec allows it.  I'll be back on that question later...I'm still learning all of this stuff.

I appreciate the interest you all have taken in this effort.  I don't know how I got promoted to Junior member status, I still feel like a Newbie.   I've worked with OO Concepts before, but I'm new to UML and I'm still trying to find out where to go to accomplish things in EA.  I guess EA is intuatively easy to UML gurus, but it is obscure to those who aren't. You guys are awsome in your knowledge.
Verbal Use Cases aren't worth the paper they are written upon.

jeshaw2

  • EA User
  • **
  • Posts: 701
  • Karma: +0/-0
  • I'm a Singleton, what pattern are you?
    • View Profile
Re: Property Strings at Association Ends
« Reply #9 on: August 25, 2005, 05:16:23 am »
Maarten !
Right on!  You stated my problem much more precisely than I.
Verbal Use Cases aren't worth the paper they are written upon.

Paolo F Cantoni

  • EA Guru
  • *****
  • Posts: 8626
  • Karma: +259/-129
  • Inconsistently correct systems DON'T EXIST!
    • View Profile
Re: Property Strings at Association Ends
« Reply #10 on: August 25, 2005, 05:20:18 am »
Quote
[size=13][SNIP][/size]
I guess EA is intuitively easy to UML gurus, but it is obscure to those who aren't. You guys are awesome in your knowledge.
Au contraire,  due to EA's UI (Unique Interface ;D) things aren't necessarily intuitive...  We always recommend searching for previous posts on a subject as typically there is usually a way to do what you want, it's just not readily apparent...

HTH,
Paolo

As for promotion, the board has a conceptual modelling failure...

500 questions, complainings and exasperations is getting me Guru status  ;D (in mock Indian accent with waggling of head - with apologies to those from the sub-continent)
Inconsistently correct systems DON'T EXIST!
... Therefore, aim for consistency; in the expectation of achieving correctness....
-Semantica-
Helsinki Principle Rules!

Maarten

  • EA User
  • **
  • Posts: 25
  • Karma: +0/-0
    • View Profile
Re: Property Strings at Association Ends
« Reply #11 on: August 25, 2005, 05:40:20 am »
2 corrections

Quote
Hi Maarten,  
I couldn't find it a) in the Help file, and b) on the EA.ConnectorClass.  The only reference to IsDerived (via Help search) is on the Attribute.
 
Can you point me to it?  I'm emitting the model through the AI and one of the principal features of my modelling technology is the creation of derived and inferred connections (of all types).
 
Cheerz,
Paolo


Paolo,
my mistake. You are right. I thought I was looking up Association information but it appeared to be Attribute information.

Quote
However this window does not provide an input control for property strings. You could define them by means of tagged values, but I don't know how you would do it. I can add tagged values to the association but not to the association end.

By means of the tagged values window you can define tagged values for the association or one of its ends. (However, this does not mean that I think this is the best solution).

Sorry for the confusion!

Maarten

jeshaw2

  • EA User
  • **
  • Posts: 701
  • Karma: +0/-0
  • I'm a Singleton, what pattern are you?
    • View Profile
Re: Property Strings at Association Ends
« Reply #12 on: August 25, 2005, 06:20:09 am »
Quote
By means of the tagged values window you can define tagged values for the association or one of its ends.

I just tried this.  I selected an association and was able to add a tagged value to an association end, but it didn't appear in the diagram.  :(
Verbal Use Cases aren't worth the paper they are written upon.

Maarten

  • EA User
  • **
  • Posts: 25
  • Karma: +0/-0
    • View Profile
Re: Property Strings at Association Ends
« Reply #13 on: August 25, 2005, 06:58:27 am »
Exactly. That's why I think this is not the best solution.

thomaskilian

  • Guest
Re: Property Strings at Association Ends
« Reply #14 on: August 25, 2005, 07:00:31 am »
Superstructures is not quite expressive in respect to Tags. Has anybody found a reference on how to represent tags at all?