odyssey-mda: uma ferramenta para transformações de modelos uml natanael maia ana paula blois...

17
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

Upload: anna-serrao

Post on 07-Apr-2016

214 views

Category:

Documents


0 download

TRANSCRIPT

Page 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

Odyssey-MDA: Uma Ferramenta para

Transformações de Modelos UML

Natanael MaiaAna Paula BloisCláudia Werner

Grupo de Reutilização de SoftwareOutubro/2005

Page 2: 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

05/Out/2005 Odyssey-MDA 2

Roteiro

Arquitetura Orientada por Modelos (MDA) Odyssey-MDA

Transformações Mapeamentos Finders Mecanismos Extensão

Utilização Considerações Finais

Page 3: 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

05/Out/2005 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

Page 4: 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

05/Out/2005 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 ↔ ModeloModelo ↔ Texto

Page 5: 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

05/Out/2005 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)

Page 6: 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

05/Out/2005 Odyssey-MDA 6

Odyssey-MDA

Page 7: 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

05/Out/2005 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)

Page 8: 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

05/Out/2005 Odyssey-MDA 8

Mapeamentos

Classe → ClasseClasse → Interfaceetc.

Atributo → AtributoOperação → Atributoetc.

Classe → AtributoOperação → Classeetc.

Page 9: 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

05/Out/2005 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”.

Page 10: 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

05/Out/2005 Odyssey-MDA 10

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)

Mecanismos

ClassClass ClassInterface ClassAttribute ClassOperation InterfaceInterface InterfaceAttribute

InterfaceOperation AttributeAttribute AttributeOperation OperationOperation RelationshipGenerator etc.

Page 11: 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

05/Out/2005 Odyssey-MDA 11

Extensão

O usuário pode definir seus próprios mecanismos e incluir na ferramenta (plug-in)

Page 12: 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

05/Out/2005 Odyssey-MDA 12

Utilização

Stand-alone

Page 13: 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

05/Out/2005 Odyssey-MDA 13

Utilização

Odyssey-plug-in

Page 14: 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

05/Out/2005 Odyssey-MDA 14

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

Considerações finais

Page 15: 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

Odyssey-MDA: Uma Ferramenta para

Transformações de Modelos UML

Natanael [email protected]

Grupo de Reutilização de SoftwareOutubro/2005

Page 16: 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

05/Out/2005 Odyssey-MDA 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>

Page 17: 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

05/Out/2005 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>