Java에서 서비스 모델로 변환으로 소스 코드 해석

변환이 생성하는 소프트웨어 서비스 모델 요소는 사용자가 변환의 소스로 지정하는 Java™ 코드의 특성에 따라 결정됩니다. 변환이 Java 요소를 변환할 수 없는 경우 요소를 무시합니다.
다음 표는 변환이 Java 요소를 소프트웨어 서비스 모델의 UML 요소로 변환하는 방법을 나열합니다.
Java 요소 변환 출력
패키지 변환은 변환할 Java 요소를 포함하는 패키지의 완전한 이름이 있는 패키지를 생성합니다.
다음 Java 코드 단편을 고려하십시오.
packageB.packageC;

ClassAlpha{
}
변환은 다음 UML 표시를 생성합니다.

<package>packageB
     <package>packageC
           <class>classAlpha

Java 구현 클래스
  • 대상 모델의 해당 패키지 경로에서, Java 구현 클래스와 같은 이름을 가지고 있고 다음 항목을 포함하는 UML 컴포넌트
    • 다음 특성이 있는 <Java 구현 클래스의 이름>포트<고유 번호>의 이름 지정된 포트
      • Java 구현 클래스를 참조하는 포트의 유형 특성
      • 제공된 인터페이스의 목록에는 Java 구현 클래스가 구현하는 Java 인터페이스가 있음
    • 유형이 Java 구현 클래스로 설정되는 파트
  • 대상 모델의 해당 패키지 경로에서, 변환은 <Java 구현 클래스의 이름>Delegate로 이름 지정된 UML 컴포넌트를 생성합니다. 이 컴포넌트는 대상 모델에서 Java 구현에 대한 서비스 호출을 위임합니다. 이 컴포넌트에서, 변환은 두 개의 포트를 작성합니다.
    • 유형 특성이 UML 클래스를 참조하는 포트

      필수 인터페이스 목록에는 Java 구현 클래스가 구현하는 Java 인터페이스가 필수입니다. 생성된 포트의 이름은 <Java 구현 클래스의 이름>포트<고유 번호>입니다.

    • 해당 유형 특성이 변환에서 Java 인터페이스를 통해 생성되는 UML 인터페이스를 참조하는 포트

      변환은 포트에 대해 제공된 인터페이스의 목록에 UML 인터페이스를 추가합니다. 생성된 포트의 이름은 <UML 인터페이스의 이름>포트<고유 번호>입니다.

  • 대상 모델의 맨 위 레벨에서, 변환은 이 목록에 있는 두 개의 이전 컴포넌트를 랩핑하는 UML 컴포넌트를 생성합니다.

    변환 구성에서 선택하는 대상 프로파일에 따라, 변환은 서비스 모델링(SoaML) 프로파일의 «Participant» 스테레오타입이나 사용되지 않는 소프트웨어 서비스 프로파일의 «serviceProvider» 스테레오타입을 적용합니다.

    변환은 이 컴포넌트에서 다음 항목을 생성합니다.
    • 해당 유형 특성이 변환에서 Java 인터페이스를 통해 생성되는 UML 인터페이스를 참조하는 포트. 자세한 정보는 이 표에 있는 Java 인터페이스 행을 참조하십시오.

      변환은 제공된 인터페이스의 목록에 UML 인터페이스를 추가합니다. 생성된 포트의 이름은 <UML 인터페이스의 이름>포트<고유 번호>입니다.

    • 해당 유형 및 이름이 변환에서 Java 구현 클래스를 통해 생성되는 UML 컴포넌트에 해당되는 특성
    • 해당 유형 및 이름이 Java 구현에 대한 서비스 호출을 위임하는 생성된 UML 컴포넌트에 해당되는 특성
    • 이 컴포넌트에 있는 포트와 <Java 구현 클래스의 이름>Delegate 컴포넌트에 있는 포트 사이의 커넥터. Connector::kind 특성은 Delegation으로 설정됩니다.
    • <Java 구현 클래스의 이름>Delegate 컴포넌트에 있는 임의 포트와 Java 서비스 구현 컴포넌트에 있는 임의 포트 사이의 커넥터. Connector::kind 특성은 Assembly로 설정됩니다.
Java 인터페이스 대상 모델의 해당되는 Java 패키지 경로에서, 변환은 Java 인터페이스와 동일한 이름의 UML 인터페이스를 생성합니다.

변환 구성에서 선택하는 대상 프로파일에 따라, 변환은 서비스 모델링(SoaML) 프로파일의 «ServiceInterface» 스테레오타입이나 사용되지 않는 소프트웨어 서비스 프로파일의 «serviceSpecification» 스테레오타입을 적용합니다.

Java 클래스 변환은 변환 소스에 해당되는 인터페이스의 메소드에서 매개변수(Parameter) 유형의 Java 클래스만 변환합니다.

이 Java 클래스의 경우, 대상 모델의 해당 패키지 경로에서, 변환은 Java 클래스와 같은 이름을 가지고 있는 UML 클래스를 생성합니다.

Java 속성의 이름은 생성된 UML 클래스에서 변경되지 않습니다.

다음 Java 클래스를 고려하십시오.

Package a.b.c;
Import a.d.ClassB;
Import x.a.ClassD;

Class ClassA{
   Int x;
	 String a;
	 ClassB c;
  	 ClassD d;
}

Java 클래스 유형의 속성마다(클래스는 작업공간에 있음) 변환은 다음 예제와 같이 UML 클래스를 작성합니다.

<package>a
   <package>b
      <package>c
         <class>ClassA
			      <attribute>x //primitive type
             <attribute>a // primitve type
             <attribute>c //ClassB type
             <attribute>d //ClassC type
   <package>d
      <class>B
   
<package>x
   <package>a
      <class>ClassD

피드백