Author Topic: Stereotype tagged value inheritance  (Read 881 times)


  • EA Practitioner
  • ***
  • Posts: 1621
  • Karma: +112/-11
  • Flutes: 1; Clarinets: 1; Saxes: 5 and counting
    • View Profile
Stereotype tagged value inheritance
« on: March 13, 2008, 01:07:04 am »
Hi everybody,

I'm running the brand spanking new EA 7.1.827 (evaluation) on XP SP2.
I haven't tested this on other versions of EA.

I'm doing some profile modelling and I've bumped into something a bit odd.

Here's what I've got:

Code: [Select]
<<stereotype>> MyStereo <<extends>> <<metaclass>> Class
<<stereotype>> AbsTagType (abstract) <<extends>> <<metaclass>> Class
<<stereotype>> ConcrTagType_1 generalizes AbsTagType
<<stereotype>> ConcrTagType_2 generalizes AbsTagType

I want MyStereo to have a tagged value of type AbsTagType, so I use the <<taggedValue>> connector.

Now here's the thing.

In the <<taggedValue>> Association Properties dialog, I can set a name for the tag either as the Link Name (General tab), or as the Target Role.
Which method I choose affects the resulting Profile.

In both cases, the tag in MyStereo receives the intended name. No worries there.

If I use the Link Name, the typing fails: I cannot use <<ConcrTagType_1>> or <<ConcrTagType_2>> classes as tag values, only <<AbsTagType>>, which is intented to be abstract.
Since <<AbsTagType>> is abstract I cannot drag it from the Resources tree, but I can write it into a Class' Properties manually, and I can then use it for the tag in a <<MyStereo>> class.
If I make AbsTagType concrete in the profile, the inheritance still doesn't work and I can only use <<AbsTagType>> values in the tag.

If I instead use the Target Role, the typing works: I can use both the concrete stereotypes as values for the tag.
But in the Tagged Values window, the value for the tag is presented as <<ConcrTagType_1>> ActualTagClass. That is to say the stereotype name is displayed, which takes up a lot of space.
The stereotype name is displayed not only for those tags that are defined with an abstract type in the profile, but for all tags whose names are specified using the Target Role.

If I use the Link Name for the tag name, the stereotype name is not displayed in the Tagged Values window, which is tidier.

So the question is: is this a UML quirk (ie specified behaviour)?
Or is it a feature (intended behaviour), and if so what's the reasoning behind it?
Ot is it......... a bug?


My theories are always correct, just apply them to the right reality.