1 / 17

Odyssey-MDA: Uma Ferramenta para Transformações de Modelos UML

Odyssey-MDA: Uma Ferramenta para Transformações de Modelos UML. Natanael Maia Ana Paula Blois Cláudia Werner Grupo de Reutilização de Software Outubro/2005. Roteiro. Arquitetura Orientada por Modelos (MDA) Odyssey-MDA Transformações Mapeamentos Finders Mecanismos Extensão Utilização

Télécharger la présentation

Odyssey-MDA: Uma Ferramenta para Transformações de Modelos UML

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Odyssey-MDA: Uma Ferramenta para Transformações de Modelos UML Natanael Maia Ana Paula Blois Cláudia Werner Grupo de Reutilização de Software Outubro/2005

  2. Roteiro • Arquitetura Orientada por Modelos (MDA) • Odyssey-MDA • Transformações • Mapeamentos • Finders • Mecanismos • Extensão • Utilização • Considerações Finais Odyssey-MDA

  3. Arquitetura Orientada por Modelos • Abordagem que visa permitir: • Especificação do software de forma independente de uma plataforma (tecnologia) em particular • Realização de transformações para aplicação de conceitos de plataforma sobre a especificação inicial • Separação entre especificação da funcionalidade e a sua implementação numa tecnologia qualquer • Facilidade na obtenção da especificação do sistema na plataforma escolhida Odyssey-MDA

  4. Arquitetura Orientada por Modelos • Conceitos • Plataforma: Conjunto de subsistemas e tecnologias que disponibilizam serviços através de interfaces e padrões de utilização • PIM – Platform Independent Model • PSM – Platform Specific Model • Transformações Modelo ↔ Modelo Modelo ↔ Texto Odyssey-MDA

  5. Odyssey-MDA • Framework para especificação e execução de transformações sobre modelos UML • PIM ↔ PIM , PIM ↔ PSM , PSM ↔ PSM • Padrões utilizados • MOF – Linguagem abstrata que é usada para descrever outras linguagens • JMI – Permite a geração de interfaces Java para manipulação de elementos de um modelo cujo meta-modelo é descrito em MOF • XMI – Permite o intercâmbio (em XML) de modelos entre ferramentas (meta-modelo MOF) Odyssey-MDA

  6. Odyssey-MDA Odyssey-MDA

  7. Transformações • Transformação de modelos • Especificação declarativa: • Mapeamentos • Seleção de elementos: finders • Configuração dos mecanismos: properties • Configuração dos relacionamentos entre elementos • Parte Imperativa: mecanismos • Pré-definidos (built-ins) • Definidos pelo usuário (plug-ins) Odyssey-MDA

  8. Mapeamentos Classe → Classe Classe → Interface etc. Atributo → Atributo Operação → Atributo etc. Classe → Atributo Operação → Classe etc. Odyssey-MDA

  9. Finders • Selecionam elementos a serem transformados • Critérios de seleção de elementos: • Nome → todas os elementos com nome “create” • Tipo → todas as Classes, Interfaces • Estereótipos → todos os elementos <<entity>> • Etiquetas → todos os elementos que tenham a etiqueta “persistent” com valor “true”. Odyssey-MDA

  10. Mecanismos • Transformam elementos do modelo de entrada em elementos do modelo de saída • São bidirecionais (forward e reverse) • Pré-definidos (built-ins): • Novos mecanismos (plug-ins) • ClassClass • ClassInterface • ClassAttribute • ClassOperation • InterfaceInterface • InterfaceAttribute • InterfaceOperation • AttributeAttribute • AttributeOperation • OperationOperation • RelationshipGenerator • etc. Odyssey-MDA

  11. Extensão • O usuário pode definir seus próprios mecanismos e incluir na ferramenta (plug-in) Odyssey-MDA

  12. Utilização • Stand-alone Odyssey-MDA

  13. Utilização • Odyssey-plug-in Odyssey-MDA

  14. Considerações finais • Geração de código (Odyssey-MDA-codegen) • Engenharia reversa (ARES) • Trabalhos futuros • Utilização de outros meta-modelos baseados no MOF • Estudo de caso para avaliar a utilização da ferramenta Odyssey-MDA

  15. Odyssey-MDA: Uma Ferramenta para Transformações de Modelos UML Natanael Maia ntmaia@cos.ufrj.br Grupo de Reutilização de Software Outubro/2005

  16. Properties • Permitem a configuração dos mecanismos utilizados nas transformações (built-ins/plug-ins) <property name="stereotype" value="EntityBean" direction="forward" /> <property name="nameTransformation" direction="forward" value="#CLASSIFIER_NAME#Bean" /> <property name="nameTransformation" direction="reverse"> <property name="input" value="#CLASSIFIER_NAME#" /> <property name="regex" value="(.*)Bean$" /> <property name="subst" value="$1" /> </property> Odyssey-MDA

  17. Relacionamentos • A geração de relacionamentos entre os elementos gerados na transformação é configurada na especificação declarativa <relationship name="Dependency (entityBean -> entityRemoteInterface)" type="Dependency" direction="LEFT_TO_RIGHT"> <element id="entityRemoteInterface" /> <element id="entityBean" /> </relationship> Odyssey-MDA

More Related