변환

이 컨텐츠는 버전 7.5.2 이상에 적용됩니다. 변환은 소스 요소 세트를 취하여 새 대상 요소 세트로 변경하는 메커니즘입니다.

변환은 플러그인 Manifest 파일에서 공용으로 지정하며 구성하고, 변환 구성을 사용하여 실행할 수 있는 변환 세트입니다.

소스 및 대상 요소 사이의 관계는 변환에 포함된 규칙 세트로 정의됩니다. 이러한 규칙의 적용은 요소의 소스 세트를 순회하는 방법을 지정하는 추출기에 기초합니다. 변환은 프로파일에 따라 해당 규칙에 자세한 정보를 적용할 수 있습니다.

변환을 사용하면 UML 모델을 코드로, 코드를 UML 모델로, 모델을 다른 추상 레벨에 있는 모델로 변환할 수 있습니다. 네 가지의 변환 카테고리가 있습니다.

또한 변환은 한 요소에서 다른 요소로 변환시키는 패턴을 구현할 수도 있습니다.

가장 공통적인 변환 시작점은 클래스 모델과 같은 PIM(Platform Independent Model)입니다. 클래스 모델은 구현 스펙에 대한 참조가 없는 디자인 요소를 포함합니다. 클래스 모델을 작성 및 수정하고 주석을 지정한 후 변환을 사용하여 PSM(Platform Specific Model)(예: Java™ 토픽 다이어그램) 또는 코드 레벨 텍스트를 생성할 수 있습니다.

주: MDA(Model Driven Architecture) 및 MDD(Model Driven Development)에 대한 OMG(Object Management Group) 정의 프로세스의 핵심 파트인 PIM에 대한 자세한 정보는 Object Management Group 웹 사이트를 방문하십시오.

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

특정 변환을 적용하려면 다음 네 가지 정보가 필요합니다.
변환
적용 중인 특정 변환에 대한 참조입니다.
변환 컨텍스트
모든 변환 매개변수 값을 포함합니다.
소스
변환 조작으로 전달되는 초기 오브젝트 또는 오브젝트 세트입니다.
대상 컨테이너
생성된 아티팩트가 있는 위치에 대한 참조입니다.

기본적인 모델 변환 프로세스에는 반복적으로 수행할 수 있는 다음 단계가 포함됩니다.

  1. 사용할 수 있는 추가적인 스테레오타입을 정의하는 모델에 프로파일을 적용하십시오.
  2. 기존 모델 요소에 이 스테레오타입을 적용하십시오.
  3. 이 스테레오타입이 제공하는 정보(스테레오타입 특성을 통해)와 변환에 필요한 기본 모델의 정보를 추가하십시오.
  4. Workbench로부터의 변환을 선택한 후 변환 조작을 시작하십시오.

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

변환 API를 사용하여 새 변환을 작성할 수 있습니다. 변환 구성을 사용하여 구성할 수 있는 변환을 작성하려면, com.ibm.xtools.transform.core.transformationProviders 확장을 변환이 포함되는 플러그인의 plugin.xml 파일에 추가해야 합니다. 변환 제공자는 제공하는 변환마다 변환 유형의 확장을 정의합니다. 이 확장을 추가하면 자동으로 변환 서비스와 함께 변환이 등록됩니다. 변환 서비스는 일반적이며 소스 모델, 대상 모델 또는 변환 자체의 구현에 대한 가정이 없습니다. 변환 서비스가 기본 변환 엔진을 포함하더라도 변환 작성자가 완전히 다른 엔진을 사용할 수 있습니다. 그러나 기본 엔진에 변환을 빌드하여, 변환 작성자는 논리적 디버깅 환경, 확장성 메커니즘 및 해당 아키텍처의 향후 개선을 활용할 수 있습니다.

변환 구성

변환 구성은 변환의 고유 이름, 소스 및 대상과 같은 모든 변환이 사용하는 정보를 포함하는 변환의 한 인스턴스입니다. 지정된 변환에 특정한 특성도 포함될 수 있습니다. 변환 구성에는 파일 이름 확장자로 .tc가 있습니다. 변환을 실행할 때 변환은 변환 구성에서 사용자가 제공하는 정보를 사용합니다.

변환을 실행하려면 먼저 변환 구성을 작성해야 합니다. 변환 구성을 적용할 때 변환의 인스턴스가 작성되고 구성에서 정의하는 특성으로 실행되어, 사용자가 예상하는 출력이 생성됩니다.

계층 구조 관계를 프로그램 방식으로 설정하여 다른 변환 구성과 변환 구성의 특성을 공유할 수 있습니다. 이 기능을 사용하면 변환 구성이 기본 변환 구성의 특성 값을 상속할 수 있습니다. 변환 구성은 여러 개의 상위 요소를 보유할 수 있으며 공용 API를 사용하여 관계를 지정하는 순서에 따라 여러 구성이 동일한 특성을 지정할 경우 구성 우선순위가 판별됩니다. 따라서 기본 특성 세트가 변경되면 시스템에서 해당 특성 세트를 사용하는 모든 변환 구성이 변경사항을 상속합니다.


피드백