Diese Umsetzung nutzt das Profil für die C++-Umsetzung, um Informationen über das Modell zu vermitteln, die in UML nicht direkt zur Verfügung stehen. Das Profil enthält die folgenden Stereotypen:
Stereotyp |
Anwendbar auf |
Attribute |
Typ |
cpp_type |
Parameter, Eigenschaft |
isMutable, qualifier (Zeichenfolge), InitializerKind (Aufzählung) |
Boolesch mit Standardwert "falsch" |
cpp_generalization |
Generalisierung |
GeneralizationKind |
Aufzählung |
cpp_struct |
Klasse |
|
Boolesch mit Standardwert "falsch" |
cpp_union |
Klasse |
isAnonymousUnion |
Boolesch mit Standardwert "falsch" |
cpp_typedef |
Klasse |
ImplementationType |
Zeichenfolge |
cpp_dependency |
Abhängigkeit |
isInclusionInHeader |
Boolesch mit Standardwert "falsch" |
cpp_friend |
Abhängigkeit |
|
Boolesch mit Standardwert "falsch" |
cpp_namespace |
Paket, Modell |
NamespaceName |
Zeichenfolge |
cpp_operation |
Operation |
isInline, isVirtual, isFriend |
Boolesch mit Standardwert "falsch" |
cpp_constructor |
Operation |
isExplicit, isInline |
Boolesch mit Standardwert "falsch" |
cpp_copy_constructor |
Operation |
isExplicit, isInline |
Boolesch mit Standardwert "falsch" |
cpp_destructor |
Operation |
isVirtual, isInline |
Boolesch mit Standardwert "falsch" |
cpp_assignment |
Operation |
isInline |
Boolesch mit Standardwert "falsch" |
Normalerweise sollten Sie höchstens ein C++Umsetzungsstereotyp auf ein UML-Objekt anwenden. Wenn Sie mehrere Stereotypen anwenden, kommt es zu folgenden Effekten:
· UML-Klasse (cpp_struct, cpp_union, cpp_typedef): Unabhängig davon, wie viele Stereotypen Sie anwenden, wird bei der Umsetzung immer nur ein Objekt erstellt. cpp_typedef hat bei der Umsetzung Priorität. Wenn das Stereotyp cpp_typedef nicht angewendet wird und Sie die beiden Stereotypen cpp_struct und cpp_union anwenden, wird bei der Umsetzung ein C++-Struct ohne Standardoperationen generiert.
· UML-Abhängigkeit (cpp_dependency, cpp_friend): Wenn Sie beide Stereotypen anwenden, werden bei der Umsetzung beide Stereotypen verarbeitet und eine Beziehung des Typs "friend" und eine Abhängigkeit erstellt.
· UML-Operation (cpp_operation, cpp_constructor, cpp_copy_constructor, cpp_destructor, cpp_assignment): Unabhängig davon, wie viele Stereotypen Sie anwenden, wird bei der Umsetzung immer nur ein Objekt erstellt. In der folgenden Liste sind die Prioritäten der Stereotypen aufgeführt, von der niedrigsten zur höchsten:
o cpp_constructor
o cpp_copy_constructor
o cpp_destructor
o cpp_assignment
o cpp_operation