Model Driven Architecture-MDA e um estudo de caso.



Documentos relacionados
EMMANUEL DA COSTA GALO MODEL DRIVEN ARCHITECTURE-MDA E UM ESTUDO DE CASO

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

Proposta de abordagem de desenvolvimento de software orientado a modelos para empresas

Desenvolvimento de software orientado a características e dirigido por modelos

Transformação de modelos em processos de desenvolvimento de software

José Benedito Lopes Junior ¹, Marcello Erick Bonfim 2

Ferramenta para Geração de Código a partir da Especialização do Diagrama de Classes

PROCESSO DE DESENVOLVIMENTO DE SOFTWARE. Modelos de Processo de Desenvolvimento de Software

11/3/2009. Software. Sistemas de Informação. Software. Software. A Construção de um programa de computador. A Construção de um programa de computador

UNIVERSIDADE FEDERAL DE SANTA CATARINA CURSO DE GRADUAÇÃO EM SISTEMAS DE INFORMAÇÃO. Contribuições do MDA para o desenvolvimento de software

INTRODUÇÃO E CONFIGURAÇÃO DO PRIMEFACES MOBILE EM APLICAÇÕES JSF

UNIVERSIDADE FEDERAL DO PARANÁ UFPR Bacharelado em Ciência da Computação

Transformação de um Modelo de Empresa em Requisitos de Software

UML - Unified Modeling Language

Transformando Modelos da MDA com o apoio de Componentes de Software

ALESSANDRO RODRIGO FRANCO FERNANDO MARTINS RAFAEL ALMEIDA DE OLIVEIRA

SISTEMA COMPUTACIONAL PARA ANÁLISES DE DADOS EM AGRICULTURA DE PRECISÃO

FATEC Cruzeiro José da Silva. Ferramenta CRM como estratégia de negócios

DESENVOLVENDO APLICAÇÃO UTILIZANDO JAVA SERVER FACES

WebUML: Uma Ferramenta Colaborativa de Apoio ao Projeto e Análise de Sistemas Descritos em Classes UML

2 Diagrama de Caso de Uso

Intranets. FERNANDO ALBUQUERQUE Departamento de Ciência da Computação Universidade de Brasília 1.INTRODUÇÃO

Fase 1: Engenharia de Produto

UML 2. Guia Prático. Gilleanes T.A. Guedes. Novatec. Obra revisada e ampliada a partir do título Guia de Consulta Rápida UML 2

Arquitetura Orientado por Modelos aplicada a Linha de Produto de Software. Eduardo Barbosa da Costa

ESPECIFICAÇÃO DO AMBIENTE EXPSEE SEGUNDO O MÉTODO CATALYSIS

SISTEMA DE GESTÃO DE PROJETOS DE SOFTWARE - SGPS

Engenharia de Software: Introdução. Mestrado em Ciência da Computação 2008 Profa. Itana Gimenes

UML 01. Curso Superior de Tecnologia em Banco de Dados Disciplina: Projeto de Banco de Dados Relacional 1 Prof.: Fernando Hadad Zaidan

Web Services. Autor: Rômulo Rosa Furtado

Utilização da modelagem UML em um sistema de gerenciamento de uma franquia do setor de alimentação

TÂNIA EIKO EISHIMA PROPOSTA DE METAMODELO PARA DESENVOLVIMENTO ORIENTADO A MODELO PARA EMPRESAS DO APL DE LONDRINA

Análise e Desenvolvimento de Sistemas ADS Programação Orientada a Obejeto POO 3º Semestre AULA 03 - INTRODUÇÃO À PROGRAMAÇÃO ORIENTADA A OBJETO (POO)

Desenvolvendo uma Arquitetura de Componentes Orientada a Serviço SCA

SISTEMA DE WORKFLOW PARA MODELAGEM E EXECUÇÃO DE PROCESSOS DE SOFTWARE. Aluno: Roberto Reinert Orientador: Everaldo A. Grahl

Software automatizado para controle de consultas da clínica de fisioterapia

Um modelo é uma simplificação da realidade. Construímos modelos para compreender melhor o sistema que estamos desenvolvendo.

Introdução. Hardware X Software. Corpo Humano Parte Física. Capacidade de utilizar o corpo em atividades especificas explorando seus componentes

Spider-PM: Uma Ferramenta de Apoio à Modelagem de Processos de Software

O CONCEITO DE TDD NO DESENVOLVIMENTO DE SOFTWARE

UNIVERSIDADE FEDERAL DE SANTA CATARINA MODELAGEM DE UMA PLATAFORMA VIRTUAL PARA SISTEMAS EMBUTIDOS BASEADA EM POWERPC

A importância do PDTI na implantação da Governança de TI nas Prefeituras Brasileiras

Acadêmico: Maicon Machado Orientador: José Carlos Toniazzo

Organização e Arquitetura de Computadores I. de Computadores

DESENVOLVIMENTO WEB DENTRO DOS PARADIGMAS DO HTML5 E CSS3

Ciência da Computação ENGENHARIA DE SOFTWARE. Análise dos Requisitos de Software

Noções de. Microsoft SQL Server. Microsoft SQL Server

Modelagemde Software Orientadaa Objetos com UML

Engenharia de Domínio baseada na Reengenharia de Sistemas Legados

Objetivos. Processos de Software. Tópicos abordados. O processo de software. Modelos genéricos de modelos de processo de software.

Nome: Login: CA: Cidade: UF CARTÃO RESPOSTA QUESTÃO RESPOSTA QUESTÃO RESPOSTA

DESENVOLVIMENTO WEB UTILIZANDO FRAMEWORK PRIMEFACES E OUTRAS TECNOLOGIAS ATUAIS

Na medida em que se cria um produto, o sistema de software, que será usado e mantido, nos aproximamos da engenharia.

Instituto de Computação, Universidade Federal do Amazonas (UFAM) Manaus-AM, Brasil

Conteúdo. Disciplina: INF Engenharia de Software. Monalessa Perini Barcellos. Centro Tecnológico. Universidade Federal do Espírito Santo

Tópicos da Aula. Que é são requisitos? Tipos de Requisitos. Requisitos Funcionais. Classificação de Requisitos. Requisitos de Software.

GUIA DE CURSO. Tecnologia em Sistemas de Informação. Tecnologia em Desenvolvimento Web. Tecnologia em Análise e Desenvolvimento de Sistemas

Para construção dos modelos físicos, será estudado o modelo Relacional como originalmente proposto por Codd.

ONTOLOGIA E SUAS APLICAÇÕES EM MODELAGEM CONCEITUAL PARA BANCO DE DADOS PROPOSTA DE TRABALHO DE GRADUAÇÃO

Unidade II MODELAGEM DE PROCESSOS

Metodologias de Desenvolvimento de Sistemas. Analise de Sistemas I UNIPAC Rodrigo Videschi

Gerenciador de Log Documento Visão. Versão 2.0

AGENDA. O Portal Corporativo. Arquitetura da Informação. Metodologia de Levantamento. Instrumentos Utilizados. Ferramentas

UNIVERSIDADE FEDERAL RURAL DE PERNAMBUCO DEPARTAMENTO DE ESTATÍSTICA E INFORMÁTICA BACHARELADO EM SISTEMAS DE INFORMAÇÃO RAPID APPLICATION DEVELOPMENT

Dadas a base e a altura de um triangulo, determinar sua área.

ENGENHARIA DE SOFTWARE I

Franklin Ramalho Universidade Federal de Campina Grande - UFCG

Engenharia de Requisitos Estudo de Caso

de teste funcionais utilizando diagramas de sequência em UML

Análise de Sistemas. Visão Geral: Orientação a Objetos. Prof. José Honorato Ferreira Nunes honorato.nunes@bonfim.ifbaiano.edu.br

PROFESSOR: CRISTIANO MARIOTTI

Engenharia de Software

Requisitos de Software. Teresa Maciel DEINFO/UFRPE

3 SCS: Sistema de Componentes de Software

UFG - Instituto de Informática

Engenharia de Software. Apostila I >>> Introdução à ES - HEngholmJr

2 Engenharia de Software

Ferramenta de apoio a gerência de configuração de software. Aluno: Rodrigo Furlaneto Orientador: Everaldo Artur Grahl

Introdução à Computação

Requisitos de Software

Análise e projeto de sistemas PROF. REGILAN SILVA

Um Framework para definição de processos de testes de software que atenda ao nível 3 do TMM-e

Engenharia de Software e Gerência de Projetos Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios

Programação de Computadores - I. Profª Beatriz Profº Israel

CASE Orientada a Objetos com Múltiplas Visões e Implementação Automática de Sistemas - MVCASE

Faculdade Integrada do Ceará FIC Graduação em Redes de Computadores

ANÁLISE E PROJETO ORIENTADO A OBJETOS. Isac Aguiar isacaguiar.com.br isacaguiar@gmail.com

Casos de teste semânticos. Casos de teste valorados. Determinar resultados esperados. Gerar script de teste automatizado.

Introdução à Engenharia de Software

Desenvolvimento de um software de gerenciamento de projetos para utilização na Web

Gerenciador de Log. Documento Visão. Projeto Integrador 2015/2. Engenharia de Software. Versão 2.0. Engenharia de Software

Tópicos em Engenharia de Software (Optativa III) AULA 2. Prof. Andrêza Leite (81 )

CAPITULO 4 A ARQUITETURA LÓGICA PARA O AMBIENTE

Planejamento da disciplina: Modelagem de processos de negócio

Metodologia e Gerenciamento do Projeto na Fábrica de Software v.2

MAGREGISTER 1.0: GERADOR DE INTERFACES DE COLETAS DE DADOS PARA PDA S. Acadêmico: Gilson Chequeto Orientador: Adilson Vahldick

REVISÃO ENGENHARIA DO SOFTWARE. Isac Aguiar isacaguiar.com.br

Qualidade de Software

Transcrição:

Model Driven Architecture-MDA e um estudo de caso. Emmanuel da Costa Galo 1, Jandira Guenka Palma 1 1 Departamento de Computação Universidade Estadual de Londrina (UEL) Caixa Postal 10.011 CEP 86057-970 Londrina PR Brasil emmanuelcgalo@hotmail.com, jgpalma@uel.br Abstract. This work aims to verify the coverage of MDA(Model Driven Architecture) transformations supported by Enterprise Architect tool, using a predefined model made by the Master s group of Prof. Jandira Guenka Palma. Will be proposed the use or development of other tools that meet the needs of this template, in case study tool does not support some kinda of transformation needed, and eventually the proposed tools will be compared to Enterprise Architect. Resumo. Este trabalho visa verificar a cobertura das transformações MDA(Model Driven Architecture) suportadas pela ferramenta Enterprise Architect, usando um modelo pre-definido do grupo de Mestrado da Professora Jandira Guenka Palma. Serão propostas o uso ou desenvolvimento de outras ferramentas que supram as necessidades deste modelo, caso a ferramenta estudada não suporte algum tipo de transformação necessária, e eventualmente as ferramentas propostas serão comparadas ao Enterprise Architect. 1. Introdução A produtividade no desenvolvimento de softwares sempre foi de grande interesse no campo da engenharia de software [1].Em um sistema tradicional de desenvolvimento de software, normalmente se usa um nível básico de arquitetura, com fases como: analise de requisitos, descrição das funcionalidades, design seguidos pela programação e eventualmente testes. [5] Mesmo com uso de um sistema incremental ou cascata, muitos dos documentos são gerados nas primeiras fases, mas a partir do desenvolvimento do código o que foi escrito em todos estes documentos fica cada vez mas longe da realidade atual do software, o que faz com que os mesmos percam seu valor, e por conta do tempo que seria gasto para refazer todos os documentos de acordo com que foi modificado eles acabam perdendo valor.[5] Esse cenário tem como consequência documentos e diagramas desatualizados e muitas vezes incompreensíveis para a equipe que eventualmente venha a usar essa documentação. O que resulta em sistemas complexos com especificações inacessíveis, aumentando o custo de manutenção e possíveis erros conceituais.[11] O Model Driven Architecture - MDA que é uma padronização de modelagem encabeçado pela Object Manangent Group - OMG tem como principal objetivo, extrair valor a partir de modelos e processos de modelagem, proporcionando assim uma forma de lidar com a alta complexidade e interdependências existentes em sistemas de software[8].

Dessa forma, o padrão MDA prega que existem diversas maneiras de agregar valor a modelos em um processo de desenvolvimento, como : a) Utilização de modelos como meio de intercomunicação; b)derivações automáticas de modelos via automação; c) Simulação e execução de modelos; d)extração de informações de modelos. Entretanto, a principal característica do MDA se concentra justamente nas transformações entre modelos. O MDA adota diferentes modelos de acordo com o nível de abstração, Modelo Independente de Computação (Computation Independent Model - CIM), Modelo Independente de Plataforma (Platform Independent Model - PIM) e Modelo de Plataforma Especifica (Platform Specific Model - PIM).[5] -Modelo Independente de Computação : O CIM é uma visão do sistema em que a compreensão independe do conhecimento computacional.[11] -Modelo Independente de Plataforma: O PIM é uma visão do sistema independente da plataforma de implementação. Assim, ele pode ser reaproveitado em diferentes plataformas.[11] -Modelo Específico de Plataforma: O PSM é uma visão do sistema que considerará detalhes específicos à plataforma de desenvolvimento.[11] No MDA o foco de desenvolvimento e comumente voltado para o PIM por ser independente de qualquer tecnologia o desenvolvedor não precisa se preocupar, ou saber muito da tecnologia alvo ja que a transformação será automatizada para o PSM.kepple2003 A automação das transformações de modelos de alto-nível para sistemas de informação proporciona uma série de vantagens, a citar a redução de custos, tempo e risco de produção e manutenção de um sistema, aumento de interoperabilidade e portabilidade entre plataformas ao mesmo tempo em que atua no refinamento do sistema para o domínio específico do problema garantindo maior qualidade e reusabilidade do software produzido.[9] Entretanto, nem todos os modelos são aptos à transformações automáticas. Um modelo precisa ser suficientemente completo e preciso de forma que as informações sobre o sistema em desenvolvimento estejam bem especificadas pelos modelos, de forma que os mesmos possam ser interpretados tanto por pessoas quanto por máquinas. Dessa forma, para que as transformações entre modelos possam ser viáveis é de suma importância que ferramentas desenvolvidas para das suporte ao desenvolvimento MDA estejam em conformidade com os conceitos e diretrizes propostas pela OMG, tanto para as transformações e qualidade das mesmas como também na compatibilidade entre ferramentas. 2. Fundamentação Teórico-Metodológica e Estado da Arte 2.1. MDA Definido pela Object Manegement Group(OMG) a Model Driven Architecture (MDA) tem como objetivo essencial proporcionar maior valor a modelos e como estes modelos são produzidos com o intuito de ajudar desenvolvedores a lidar com a complexibilidade e interdependência de sistemas complexos. [9]

2.2. Modelo Um modelo deve representar um sistema de tal forma que ele possua ser usado para criar um sistema parecido, mas nunca idêntico ja que um modelo sempre tem uma maior nível de abstração, e só as principais características permaneceram.[2] Um modelo é definido segundo o contexto da MDA como informações que representem algum aspecto de um sistema tendo como base uma série de regras implícitas ou explicitas sobre o seu funcionamento, e deve ser escrito em uma linguagem (bem definida) que possua forma bem definida(sintaxe), significado(semântica), e que possa ser interpretada por um computador.[8] [5] 2.3. Modelos usados no MDA Segundo a OMG existem 3 tipos de modelos usados no MDA: -Modelo Independente de Computação (Computation Independent Model -CIM) independente do ponto de vista computacional, de alto nível de abstração e que não representa requisitos do sistema.[3] -Modelos Independente de Plataforma (Plataform Independent Model-PIM), possui um maior nível de abstração e representa uma especificação formal da estrutura e funcionamento do sistema mas independente de uma tecnologia especifica.[3] -Modelo Específico de Plataforma (Plataform Specific Model(PSM), tem como característica uma representação mais especifica para uma determinada tecnologia e ainda serve de base para a transformação de modelo para código.[3] No MDA o foco do desenvolvimento e voltado para o PIM, por ser independe de qualquer tecnologia o desenvolvedor não tem preocupação com a tecnologia alvo. Outra vantagem é a facilidade de mudar o foco do código para o PIM ou o contrario, resultando em um sistema que supre melhor as necessidades do usuário final, e em um espaço curto de tempo.[5] 2.4. Transformações MDA O ponto principal no MDA são as transformações, principalmente as automáticas entre os modelos PIM e PSM, e de PSM para código. Todas as transformações devem ser realizadas automaticamente por uma ou mais ferramentas que dão suporte ao MDA, com exceção da transformação de CIM para PIM que deve ser feita manualmente./citecaliari2007 Os três tipos de transformações são: -Depois de gerado CIM o mesmo pode transformado em um PIM através de um processo manual. -De PIM para PSM, transformação automática normalmente feita por uma ferramenta. -De PSM para código, transformação automática normalmente feita por uma ferramenta especifica. Dentro da ferramenta que da suporte ao MDA, existe uma serie de regras que regem as transformações, essas regras são conhecidas como definição de transformação. Uma transformação no contexto do MDA é a geração automática de um modelo alvo a partir de uma modelo origem, de acordo com uma definição de transformação.[5]

2.5. As quatro camadas de modelagem MDA Um metamodelo é um modelo de modelos, que define a estrutura e semântica para um família de modelos descrevendo a possível estrutura dos mesmo.[7]o metamodelo define uma linguagem de modelagem que descreve como um modelo deve ser estruturado, os tipos de elementos que podem ser usados e as propriedades destes elementos. Esta linguagem deve ser escrita de maneira que ela não seja ambígua, para que possa ser lida, escrita e interpretada por uma ferramenta.[5] Metamodelos também são usados para definir como serão as regras de transformação, estas regras usam os metamodelos de da linguagem de origem e da linguagem alvo para definir as transformações especificas. Todo os elementos utilizados na construção de um modelo usando um determinada linguagem são definidos pelo metamodelo desta linguagem, e como o próprio metamodelo também e um modelo, o mesmo precisa ser feito em uma linguagem bem-definida chamada metalinguagem.[5] A metalinguagem tambem precisa ser representada por um metamodelo escrito em outra metalinguagem o que teoricamente possibilita um numero infinito de camadas que representam as relações entre metalinguagem, metamodelos, modelos e linguagens. Porem para que a interpretação destes conceitos possa ser feita de maneira automatizada é necessário um número finito de camadas.[5] A OMG define o uso de 4 camadas de modalegem, conhecidos como metaníveis. Estas camadas são usadas como padrão para o MDA, conhecidas como camadas M0, M1, M2 e M3. -Camada M0: Instância Camada onde as instância?reais? existem, e.g., a instância de um consumidor de nome?josé? que comprou um produto?leite?. Podem existir varias instância nessa cada, e existem varias tecnologias capazes de implementar estas instância.[5] -Camada M1: Modelo do Sistema Essa camada é composta por modelos que descrevem os elementos reais do sistema, e.g. o conceito de consumidor pode ser definido pelas propriedades como nome e endereço, e o de produto como nome e quantidade. Esta camada esta diretamente ligada a camada M0, cada elemento na M0 e uma instância de um elemento na camada M1, e por consequência os elementos das camada M1 são categorizações das instância na camada M0.[5] -Camada M2:Modelo de Modelo Camada do metamodelo que esta diretamente ligada a camada M1, assim como a camada M1 esta diretamente ligada a camada M0. Cada elemento de um metamodelo classifica ou categoriza um elemento na camada M1, e cada modelo na M1 é uma instancia de um metamodelo na camada M2.[5] Portanto cada modelo na camada M2 é um modelo para descrever outros modelos da camada M1, modelos que descrevem modelos sao chamados de metamodelos como visto anteriormente. Logo a camada M2 pode ser denominada de camada de metamodelagem.[5] -Camada M3: Metametamodelo A camada M3 tem a mesma relação que a M2 tem com M1, onde cada elemento da camada M2 é uma instancia da camada M3, e cada elemento da camada M3 classifica ou

categoriza um elemento da camada M2.[5] 2.6. MOF-Meta Objetct Facilicty Para padronizar os definições de MDA a OMG usa o MOF(Meta Objetct Facilicty) como metametamodelo que define os passos as serem tomados no desenvolvimento de um modelo usando um metamodelo, ou seja, ele define a linguagem usada para definir linguagens de modelagens.[8] O MOF se encontra na camada M3 e por estar em uma camada mais alta de abstração ele próprio se define, o MOF define o próprio MOF.[8] Este padrão também fornece funcionalidades como uma interface de repositório, que permite a obtenção de informações sobre modelos que estão na camada M1 que estão em um repositório baseado em MOF. O MI( Metadata interchange) formato baseado em ML para intercâmbio de arquivos entre as camadas também e definido pelo MOF.[8] O papel do MOF dentro do MDA e de grande importância, pois se uma linguagem padrão para descrever os metamodelos as transformações automáticas não seriam viáveis. 2.7. UML-Unified Modeling Language A UML( emphunified Modeling Language) é uma linguagem de modelagem visual para construção, documentação e especificação de um modelo.[omg-uml] Por ter seu metamodelo defino pelo MOF, a UML é a linguagem de modelagem padrão para o MDA, mas não a única, ja que o MDA permite o uso de outras linguagens de modelagem.[4] 2.8. Ferramentas que dão suporte MDA Existem muitas ferramentas que dão suporte ao MDA no mercado, que podem ser de diferentes tipos. Ferramentas que dão suporte desde a criação de um modelo até ferramentas de transformações ou testes de modelos. Algumas ferramentas implementam vários tipos dando suporte desde a criação do modelo até a sua transformação e geração de código a partir do PSM. Distribuídas entre open source e software proprietário. Existem vários exemplos de ferramentas usadas para suporte MDA como : ModelAnt - Open source, da suporte desde a criação de modelos at?e as transformações além de suportar engenharia reversa de algumas linguagens para modelos. Acceleo -Open source Plug-in para Eclipse, mais focado em geração de código a partir de um modelo (PSM).[6] Entreprise Architect (EA) - Software Pro- prietário, programa com suporte robusto de MDA, que vai desde a criação e transformação de modelos até a geração de código a partir do PSM.[10] 3. Objetivos Este projeto tem como objetivo o estudo do MDA e o estudo aprofundado de uma ferramenta de suporte ao MDA, usando um modelo pre-definido proposto pelo grupo de mestrado da Orientadora Jandira Guenka Palma e verificar a cobertura das transformações que a ferramenta estudada proporciona ao modelo pre-definido, de acordo com as especificações propostas pela OMG para o MDA. Serão propostas outras ferramentas que supram as necessidades do modelo caso a ferramenta estudada não suporte algum tipo de

transformação necessária, e posteriormente as ferramentas propostas serão comparadas a ferramenta estudada. 1. Estudo sistemático de uma ferramenta da suporte a transformações de MDA EA (Entreprise Architect fabricado pela Sparx ). 2. Verificação da cobertura das transformações que a ferramenta estudada disponibiliza. 3. Propor ferramentas alternativas caso a ferramenta estudada não supra todas as necessidades de transformações do modelo proposto. 4. Procedimentos metodológicos/métodos e técnicas Inicialmente será necessário um levantamento bibliográfico baseado em artigos científicos, teses e dissertações publicados ou desenvolvidos pela comunidade acadêmica, e o estudo dos documentos oficiais que especificam os padrões MDA disponibilizados pela OMG. Depois a ferramenta EA será estudada conforme os processos de modelagem e mapeamentos que a mesma implementa, tendo como base as especificações da OMG para o MDA. Também serão aplicadas as transformações de PIM para PSM e de PSM para código usando a ferramenta citada, para modelos estruturais e comportamentais, e a validação de que a ferramenta implementa um repositório MOF para importação e exportação de modelos. Finalmente serão feitas transformações no modelo pre-definido pelo grupo de mestrado usando o EA, após serão estudadas outras ferramentas e/ou processos para cobertura de transformações não suportadas pelo EA para o modelo pre-definido. E a comparação entre as ferramentas e/ou processos propostos com o EA. 5. Cronograma de Execução Atividades: 1. Revisão de literatura baseada em artigos cientifico, livros, teses e dissertações publicados ou desenvolvidos pela comunidade acadêmica, estudo dos documentos oficiais que especificam os padrões do MDA disponibilizados pela OMG. 2. Estudo conforme os processos de modelagem e mapeamentos implementados com base nas orientações da OMG para MDA da ferramenta EA. 3. Estudo e aplicação (quando possível) das transformações de PIM para PSM da ferramenta EA, usando modelos estruturais e comportamentais. 4. Estudo e aplicação (quando possível) das transformações de PSM para Código da ferramenta EA, usando modelos estruturais e comportamentais. 5. Validação se a ferramenta implementa um repositório MOF para exportação e importação de modelos. 6. Teste do modelo proposto usando transformações suportadas na ferramenta EA. 7. Mapeamento de ferramentas e/ou processos para transformações para o modelo proposto caso não forem suportadas pelo EA.

Tabela 1. Cronograma de Execução ago set out nov dez jan fev Atividade 1 Atividade 2 Atividade 3. Atividade 4 Atividade 5 Atividade 6 Atividade 7 6. Contribuições e/ou Resultados esperados -Maior conhecimento sobre as transformações propostas pelo MDA, e sobre as regras ditadas pela OMG para esse tipo de modelo. -Capacitação para produzir transformações de PIM para PSM e de PSM para código usando o EA e/ou outras ferramentas propostas. -Identificar viabilidade técnica e econômica do desenvolvimento sistemas a partir de modelos por meio de ferramentas de suporte as transformações MDA. 7. Espaço para assinaturas Londrina, 03 agosto 2015. Referências Aluno Orientador [1] P. Almeida. MDA - Model Driven Architecture Improving Software Development Productivity in Large-Scale Enterprise Applications. Environment, page 108, 2008. [2] Giuliano L P Caliari. Transformações e mapeamentos da MDA e sua implementação em três ferramentas. USP Poli, page 137, 2007. [3] Stephen J, Steve Cochoff Cochoff, and Steve Cochoff. MDA Distilled: Principles of Model-Driven Architecture, 2006. [4] Stephen J, Steve Cochoff Cochoff, and Steve Cochoff. UML-A Foundation for Model- Driven Architecture, 2006. [5] Annek G. Kepple, Jos B. Warner, and Wim Bast. MDA Explained: The Model Driven Architecture: Practice and Promise, 2003. [6] Jonathan Musset, Étienne Juliot, Stéphane Lacrampe, William Piers, Cédric Brun, Laurent Goubet, Yvan Lussaud, and Freddy Allilaire. Acceleo user guide, 2006. [7] Omg. Object Management Group, Model Driven Architecture (MDA). SparxSystems, 2.0(June):1 15, 2003.

[8] Qvt Omg. Meta Object Facility ( MOF ) 2. 0 Query / View / Transformation Specification. Transformation, 2.0(January):1 230, 2008. [9] OMG.org. MDA Overview. SparxSystems, 1:1 17, 2007. [10] Geoffrey Sparks. Enterprise Architect User Guide, 2012. [11] Susanna Teppola, Päivi Parviainen, and Juha Takalo. Challenges in the deployment of model driven development. 4th International Conference on Software Engineering Advances, ICSEA 2009, Includes SEDES 2009: Simposio para Estudantes de Doutoramento em Engenharia de Software, pages 15 20, 2009.