변환

변환은 요소의 소스 세트를 사용하여 요소의 새 대상 세트로 변경하는 메커니즘입니다. Rational Rose®의 라운드트립 엔지니어(RTE)처럼, 변환 결과는 모델에서 생성된 코드일 수 있습니다. 그러나 변환은 사용자 정의할 수 있으며 수행할 수 있는 작업면에서 RTE보다 훨씬 막강합니다.
주: 비주얼 편집 및 언어 변환과 같은 기능은 Software Modeler에서 제공되지 않습니다.

소스와 대상 요소 간의 관계는 변환 내에 포함된 규칙 세트로 정의됩니다. 규칙의 실행은 요소의 소스 세트를 순회하는 방법을 이해하는 규칙 세트를 기반으로 합니다. 변환은 규칙에 자세한 정보를 적용할 프로파일에 따라 다를 수 있습니다.

변환 서비스(및 패턴)는 UML 모델과 코드 간의 그리고 여러 다른 추상 레벨의 모델 간 격차를 메웁니다. 가능한 변환은 다음과 같습니다.

또한 변환은 한 요소에서 다른 요소로 변환시키는 패턴을 구현할 수도 있습니다. 제품에 대해 설치된 변환은 Rational® Software Architect의 명령을 통해 사용 가능합니다.

변환의 가장 일반적인 시작점은 클래스 모델과 같은 플랫폼 독립 모델(PIM)입니다. 클래스 모델은 구현 스펙에 대한 참조가 없는 디자인 요소를 포함합니다. 클래스 모델을 작성 및 수정하고 어노테이션을 달고 나서 변환을 사용하여 Java™ 토픽 다이어그램이나 코드 레벨 텍스트와 같은 플랫폼 특정 모델(PSM)을 생성할 수 있습니다.

주: 모델 기반 아키텍처(MDA) 및 모델 기반 개발(MDD)에 대한 OMG(Object Management Group)의 정의된 프로세스의 핵심 파트인 PIM에 대한 자세한 정보는 OMG 웹 사이트를 참조하십시오.

패키징의 일부로, 패턴은 특정 레벨의 추상이나 특정 메타 모델을 교차시킬 때 실행할 추가 규칙을 정의하는 변환 확장기능을 정의하고 제공할 수도 있습니다. 이러한 개념에 대한 공통적인 구현은 특정 코드를 생성하는 변환 규칙을 제공하는 디자인 패턴입니다. 이 규칙은 코드 변환(예를 들어, Java 또는 C++ 변환)을 확장하여 패턴별 코드를 생성된 출력에 제공합니다.

특정 변환을 적용하려면 다음 네 부분의 정보가 필요합니다.

모델 변환의 기본 프로세스는 다음과 같습니다.

  1. 선택된 변환에 필요한 경우 사용 가능한 추가 스테레오타입을 정의하는 모델에 프로파일을 적용하십시오.
  2. 필요에 따라 이 스테레오타입을 기존 모델 요소에 적용하십시오.
  3. 이 스테레오타입이 제공한 새 정보(스테레오타입 특성을 통해) 및 변환에 필요한 기본 모델의 정보를 채우십시오.
  4. IDE에서 변환을 선택하고 변환 오퍼레이션을 시작하십시오.
주: 다음 단계를 반복적으로 수행할 수 있습니다.

완료된 변환의 결과는 대상 모델이나 텍스트 및 추적을 위한 변환의 레코드입니다. 모델에서 텍스트로의 변환에서는, 출력이 Java나 C++ 코드, 데이터베이스 작성 및 채우기를 위한 DDL 파일, 유닛 테스트 또는 해당 모델 다이어그램에 일치하는 시각화 다이어그램일 수 있습니다. 변환 레코드는 소스 모델의 요소에서 해당 대상 요소로의 맵핑을 포함하며, 변환의 각 파트에 사용된 맵핑 파트를 표시합니다.

변환 API를 사용하여 새 변환을 작성할 수 있습니다. 변환 서비스는 일반적이며 소스 모델, 대상 모델 또는 변환 자체의 구현에 대한 가정이 없습니다. 변환 서비스가 기본 변환 엔진을 포함하더라도 변환 작성자가 완전히 다른 엔진을 사용할 수 있습니다. 그러나 기본 엔진에서 변환을 빌드하여 변환 작성자는 논리 디버깅 환경, 확장성 메커니즘 및 이 아키텍처로의 이후의 개선사항을 이용할 수 있습니다.


피드백