In MagicDraw/Cameo an assigned stereotype of a Classifier that types an instance-like element (such as a part Property) "shines through" unless it has an instance-level stereotype assigned. This is sometimes called a "secondary stereotype".

Icon class
far fa-sticky-note
far fa-sticky-note
Note kind
UML keywords
SysMLv1.x keywords
Click on the image to view it full size
This diagram shows vendor-specific tool colours for symbols but this is not Webel Best Practice
This is sometimes referred to as a "secondary stereotype". It can also be considered an example of the "translucency" pattern.


Dr Darren remarks: There has been a long lasting discussion about this amongst the SysML Revision Task Force (RTF) here (access to OMG members only).

I just read everything in the UML-2.5.1 spec I could find on this, and it does not seem to cover in Annex C: Keywords what have become informally known as secondary stereotype keywords, which behave a bit like what used to be called the Translucency Pattern in Perl, where a magic getter that has not had any corresponding field value set yet returns instead an underlying static value (which "shines through").

Consider this case.

If a CallBehaviorAction has a Behavior applied, any underlying Stereotype applied to its Behavior "shines through" (but not the tagged values, which BTW confuses some users). Once an explicit Action-level Stereotype is applied to that CallBehaviorAction, it then masks any "underlying" Stereotype applied to it. When the keyword of a secondary stereotype appears on a symbol such as a CallBehaviorAction it is definitely NOT directly representing a stereotype of the element for the symbol on which it actually appears. It is NOT doing what UML-2.5.1 describes in Annex C above.

It turns out that there does appear to be at least one case of a description of the equivalent of secondary stereotype keywords in UML-2.5.1, p.186:

There are some other cases in SysML-1.6:

ActivityParameterNode symbol in Figure D.36.

If SysML is going to advocate display of such secondary stereotype keywords then there is a need for future SysML to do clearly what UML-2.5.1 did not, which is define a term ssecondary stereotype keyword, including the rule that any associated tagged values should not be displayed, and reference the existing examples.

Otherwise, the spec needs to remove the examples. I am not saying here yet what should be done, but something concrete needs to be done. It is currently completely inconsistent, and definitely confuses a lot of users.

Relates to
Related notes
Related notes (backlinks)
Related snippets (extracts)
Visit also
Visit also (backlinks)
External links