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 Stereotype:
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 Stereotype anwenden, kommt es zu folgenden Effekten:
· UML-Klasse (cpp_struct, cpp_union, cpp_typedef): Unabhängig davon, wie viele Stereotype 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 beide Stereotype 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 Stereotype anwenden, werden bei der Umsetzung beide Stereotype 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 Stereotype Sie anwenden, wird bei der Umsetzung immer nur ein Objekt erstellt. In der folgenden Liste sind die Prioritäten der Stereotype aufgeführt, von der niedrigsten zur höchsten:
o cpp_constructor
o cpp_copy_constructor
o cpp_destructor
o cpp_assignment
o cpp_operation