UML에서 CORBA로 변환 프로파일

CORBA(Common Object Request Broker) 변환 프로파일에는 대부분의 CORBA 요소를 모델링하고 생성하는 데 사용할 수 있는 스테레오타입이 포함됩니다.

프로파일의 스테레오타입을 사용하여 struct, valuetype, typedef, sequence, arrayexception과 같은 특정 CORBA 유형을 모델링할 수 있습니다. 그러나 프로파일을 사용하지 않는 CORBA 유형(예: 모듈, 속성이 있는 인터페이스, 오퍼레이션, 매개변수, 인터페이스 사이의 상속, 원시 유형 및 열거)을 모델링할 수 있습니다.

프로파일에는 스테레오타입에 적용되는 제한조건에 대한 정보도 포함됩니다.

또한 프로파일을 사용하여 generateCode 특성을 true 또는 false로 설정함으로써 CORBA IDL(Interface Definition Language) 요소로 변환되는 UML 컴포넌트를 지정할 수도 있습니다. 코드 생성 중에 변환은 generateCode 특성이 false로 설정된 컴포넌트를 무시합니다.

모델 유효성 검증

모델 유효성 검증 기능을 사용하여 가능한 변환 문제점 및 이름 지정 충돌(예: 생성된 IDL 파일에서 컴파일 오류를 일으킬 수 있는 순환 관계) 시 프로파일이 적용된 소스 모델을 평가할 수 있습니다. 다음 표는 변환에 대한 소스 모델을 준비하고 변환 문제점을 방지하기 위해 사용할 수 있는 규칙을 나열합니다.
UML 스테레오타입 사용 규칙
«CORBAOperation» 이 스테레오타입을 UML 오퍼레이션에 적용합니다.

이 스테레오타입의 컨텍스트 특성은 고유한 문자열 리터럴 세트를 지정합니다. 이 리터럴은 오퍼레이션 호출의 내재적 파트인 ID에 맵핑됩니다.

«CORBATruncatable» truncatable 값 유형 상속을 표시하려면 일반화 관계에 이 스테레오타입을 적용합니다.
주: UML에서 값 유형을 표시하려면 «CORBAValue» 스테레오타입을 UML 클래스에 적용하십시오.

변환은 truncatable 값 유형 상속에 대한 코드를 생성합니다.

«CORBAUnion» UML 클래스를 적용하여 CORBA 공용체를 생성합니다.

스테레오타입의 switchType 특성은
생성된 switch 구성의 클래스류 유형을 지정합니다. 클래스류 유형은 integer, character, Boolean, enum 또는 기타
범위 지정된 이름이 될 수 있습니다.

«CORBAValue»

UML 클래스에 이 스테레오타입을 적용하십시오.

값 유형의 특성은 다음과 같습니다.
  • typedef, struct, exception 또는 enumeration 이외의 중첩 클래스류가 아님
  • 고유 이름이 있는 구성원
  • 고유한 상속 속성
  • 고유한 상속 오퍼레이션
  • 비추상 인터페이스만 지원함
  • 상태 구성원이 있음. 상태 구성원이 있는 단일 값 유형에서만 상속할 수 있음
abstract 값 유형에는 다음 특성이 있을 수 없습니다.
  • 동일한 클래스에서 두 번 이상 상속함
  • 상태 구성원을 보유하며 boxed 값 유형은 불가능함
boxed 값 유형의 특성은 다음과 같습니다.
  • 상속에서 파트를 취할 수 없음
  • 하나의 연관 또는 속성을 보유함
«CORBAConstants» 클래스의 특성은 다음과 같습니다.
  • 오퍼레이션을 보유하지 않음
  • 중첩 클래스류를 보유하지 않음
  • 구성원에 고유한 이름이 있음
«CORBAException» 클래스에 중첩 클래스류가 없습니다.
«CORBAStruct» 구조체에는 다음 특성이 없어야 합니다.
  • 일반화 또는 구현 관계를 소유함
  • 중첩 클래스류가 있음
  • 오퍼레이션이 있음
«CORBATypedef» UML 클래스에 이 스테레오타입을 적용하십시오.

typedef는 다음 특성을 보유하지 않아야 합니다.

  • 일반화 관계
  • 하나의 대체 관계
  • 연관, 속성 또는 오퍼레이션
  • 중첩 클래스류

이 스테레오타입의 specification 특성은
유형 정의가 배열, 시퀀스 또는 고정 소수점 유형인지 여부를 표시합니다(이 경우 대체 관계가 필수가 아님).
고정 소수점 유형을 모델링할 때 스테레오타입의 point 특성은 숫자 및 스케일을 표시합니다. 예를 들어 길이가 10자리이고 오른쪽에서
두 자리 다음에 소수점이 있는 값을 표시하려면 10,2를 지정하십시오.

«CORBAState» 상태 구성원 속성에는 소유자로서 값 유형 클래스가 있어야 합니다.
«CORBAOneway» 단방향 오퍼레이션에는 다음 특성이 있습니다.
  • 유형으로 in 또는 inout이 있는 매개변수를 보유하지 않음
  • void 리턴 유형을 보유함
  • 해당 소유자로 인터페이스를 보유함
  • 예외가 전혀 발생하지 않음
열거 열거(Enumerations)에는 고유 이름의 열거 리터럴이 있어야 합니다.
컴포넌트 컴포넌트(Components)는 중첩 컴포넌트를 포함하지 않음

컴포넌트의 패키지에는 고유 이름이 있어야 합니다.

인터페이스
  • 고유 이름이 있는 구성원을 보유해야 함
  • 고유한 상속 오퍼레이션을 보유해야 함
  • 고유한 상속 속성을 보유해야 함

중첩 인터페이스, 패키지, 값 유형 또는 컴포넌트를 포함할 수 없습니다.
추상 인터페이스는 다른 추상 인터페이스에서만 상속할 수 있습니다.

모델
  • CORBA 키워드가 있는 요소 이름을 보유하지 않음
  • 순환 일반화 또는 구현 관계가 있는 클래스 또는 인터페이스를 보유하지 않음
  • 요소 이름 중복
  • 중첩 컴포넌트를 포함하는 것과 같이 잘못 형성된 계층 구조를 보유하지 않음
«switch» CORBA 공용체의 속성에 이 스테레오타입을 적용합니다. CORBA 공용체를 모델링하려면 이 표에 있는 «CORBAUnion» 행을 참조하십시오.

스테레오타입의 case 특성은 케이스 유형을 표시하는 문자열 리터럴입니다.
true로 설정할 때, isDefault 특성은 속성에 생성된 switch문에 대한 기본 블록이 포함됨을 표시합니다.


피드백