이 변환은 "C++ 변환" 프로파일을 사용하여 UML에서 쉽게 사용할 수 없는 모델에 대한 정보를 전달합니다. 프로파일은 다음 스테레오타입을 포함합니다.
스테레오타입 |
적용 대상 |
속성 |
유형 |
cpp_type |
매개변수, 특성 |
isMutable, 규정자(문자열), InitializerKind (열거) |
기본값이 false인 부울 |
cpp_generalization |
일반화 |
GeneralizationKind |
열거 |
cpp_struct |
클래스 |
|
기본값이 false인 부울 |
cpp_union |
클래스 |
isAnonymousUnion |
기본값이 false인 부울 |
cpp_typedef |
클래스 |
ImplementationType |
문자열 |
cpp_dependency |
종속성 |
isInclusionInHeader |
기본값이 false인 부울 |
cpp_friend |
종속성 |
|
기본값이 false인 부울 |
cpp_namespace |
패키지, 모델 |
NamespaceName |
문자열 |
cpp_operation |
오퍼레이션 |
isInline, isVirtual, isFriend |
기본값이 false인 부울 |
cpp_constructor |
오퍼레이션 |
isExplicit, isInline |
기본값이 false인 부울 |
cpp_copy_constructor |
오퍼레이션 |
isExplicit, isInline |
기본값이 false인 부울 |
cpp_destructor |
오퍼레이션 |
isVirtual, isInline |
기본값이 false인 부울 |
cpp_assignment |
오퍼레이션 |
isInline |
기본값이 false인 부울 |
UML 오브젝트에는 둘 이상의 C++ 변환 스테레오타입을 적용하지 마십시오. 다중 스테레오타입을 적용하면 다음과 같은 결과가 나타납니다.
· UML 클래스(cpp_struct, cpp_union, cpp_typedef): 변환이 적용하는 스테레오타입 수에 상관 없이 한 오브젝트만 작성합니다. 변환은 cpp_typedef에 우선순위를 부여합니다. cpp_typedef 스테레오타입이 적용되지 않은 경우 그리고 cpp_struct 및 cpp_union 스테레오타입을 모두 적용한 경우, 변환은 표준 오퍼레이션 없이 C++ struct를 생성합니다.
· UML 종속성(cpp_dependency, cpp_friend): 두 스테레오타입을 둘 다 적용하는 경우 변환은 두 스테레오타입을 둘 다 처리하고 "friend" 관계와 종속성을 작성합니다.
· UML 오퍼레이션(cpp_operation, cpp_constructor, cpp_copy_constructor, cpp_destructor, cpp_assignment): 오퍼레이션에 적용하는 스테레오타입 수에 상관 없이 변환은 한 오브젝트만 작성합니다. 다음 목록은 스테레오타입의 우선순위를 가장 높음에서 가장 낮음 순서로 표시합니다.
o cpp_constructor,
o cpp_copy_constructor,
o cpp_destructor,
o cpp_assignment,
o cpp_operation