Interpretação de Código de Origem pelas Transformações de Java em Modelo de Serviço

Os elementos do modelos de serviços de suporte a software que a transformação gera dependem das características do código Java™ especificado como a origem da transformação. Se a transformação não puder transformar um elemento Java, ela ignora o elemento.
A tabela a seguir lista como a transformação transforma elementos Java em elementos UML em um modelo de serviços de suporte a software.
Elemento Java Saída da Transformação
Pacote A transformação gera um pacote que tem o nome completo do pacote que contém os elementos Java a transformar.
Considere o seguinte fragmento de código Java:
packageB.packageC;

ClassAlpha{
}
A transformação gera a seguinte representação UML:

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

Classe de implementação Java
  • No modelo de destino, no caminho do pacote correspondente, um componente UML que tem o mesmo nome que a classe de implementação Java, e que contém os seguintes itens:
    • Uma porta chamada <Nome da classe de implementação Java>Porta<Número exclusivo> que tem as seguintes características:
      • A propriedade Tipo da porta referencia a classe de implementação Java
      • A lista de interfaces fornecidas contém a interface Java que a classe de implementação Java implementa
    • Uma parte cujo tipo é definido para classe de implementação Java
  • No modelo de destino, no caminho do pacote correspondente, a transformação gera um componente UML denominado <Nome da classe de implementação Java>Delegate. Esse componente delega chamadas de serviço para a implementação Java no modelo de destino. Nesse componente, a transformação cria duas portas:
    • Uma porta cuja propriedade Tipo faz referência a uma classe UML

      A lista de interfaces necessárias contém a interface Java que essa classe de implementação Java implementa.O nome dessa porta gerada é <Nome da classe de implementação Java >Porta<Número exclusivo>.

    • Uma porta cuja propriedade Tipo referencia a interface UML que a transformação gera a partir da interface Java

      A transformação inclui a interface UML na lista de interfaces fornecidas para a porta. O nome dessa porta gerada é <Nome da interface UML>Port<Número exclusivo>.

  • No nível superior do modelo de destino, uma transformação gera um componente UML que agrupa os dois componentes anteriores nessa lista.

    Dependendo do perfil de destino que você selecionar na configuração de transformação, a transformação aplica e estereótipo «Participant» a partir do perfil Modelagem de Serviços (SoaML) ou o estereótipo «serviceProvider» a partir do perfil reprovadoServiços de Software.

    A transformação gera os seguintes itens nesse componente:
    • Uma porta cuja propriedade Tipo referencia a interface UML que a transformação gera a partir da interface JavaPara obter informações adicionais, consulte a linha da interface Java nessa tabela.

      A transformação inclui a interface UML na lista de interfaces fornecidas. O nome dessa porta gerada é <Nome da interface UML>Port<Número exclusivo>.

    • Uma propriedade cujo tipo e nome correspondem ao componente UML gerado pela transformação a partir da classe de implementação Java
    • Uma propriedade cujo tipo e nome correspondem ao componente UML gerado que delega chamadas de serviço à implementação Java.
    • Um conector entre a porta nesse componente e a porta no componente <Nome da classe de implementação Java>Delegate. A propriedade Connector::kind é configurada para Delegação.
    • Um conector entre uma das portas no componente <Nome da classe de implementação Java>Delegate e uma das portas no componente de implementação de serviçoJava. A propriedade Connector::kind é configurada para Montagem.
Interface Java No modelo de destino, no caminho correspondente do pacote Java, as transformações geram uma interface UML que tem o mesmo nome que a interface Java.

Dependendo do perfil de destino que você selecionar na configuração de transformação, a transformação aplica e estereótipo «ServiceInterface» a partir do perfil Modelagem de Serviços (SoaML) ou o estereótipo «serviceSpecification» a partir do perfil reprovadoServiços de Software.

Classe Java A transformação transforma somente as classes Java que são tipos Parâmetro nos métodos da interface que corresponde à origem de transformação.

Para essas classes Java, no modelo de destino, no caminho do pacote correspondente, a transformação gera uma classe UML que tem o mesmo nome que a classe Java.

Os nomes dos atributos Java não são alterados na classe UML gerada.

Considere a seguinte classe Java:

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

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

Para cada atributo do tipo classe Java, em que a classe existe no espaço de trabalho, a transformação cria uma classe UML, como no exemplo a seguir:

<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

Feedback