14
Automatizando Mudanças na Evolução da Engenharia Dirigida a Modelos Rayane Meneses da Silva – meneses.matemá[email protected] Raquel Machado de Sousa – [email protected] DISCIPLINA: ENGENHARIA E DESENVOLVIMENTO DE SISTEMAS PROGRAMA DE PÓS-GRADUAÇÃO EM ENGENHARIA DA ELETRICIDADE UNIVERSIDADE FEDERAL DO MARANHÃO – UFMA

Automatizando mudanças na Engenharia Dirigida a Modelos

Embed Size (px)

DESCRIPTION

Apresentação de Resumo do Artigo entitulado Automating Change Evolution in Model-Driven Engineering de Jeff Gray, Yuehua Lin and Jing Zhang

Citation preview

Page 1: Automatizando mudanças na Engenharia Dirigida a Modelos

Automatizando Mudanças na Evolução da Engenharia Dirigida a ModelosRayane Meneses da Si lva – meneses.matemática@gmai l .com

Raquel Machado de Sousa – rachel .msousanet@gmai l .com

DISCIPLINA: ENGENHARIA E DESENVOLVIMENTO DE SISTEMAS

PROGRAMA DE PÓS- GRADUAÇÃO EM ENGENHARIA DA ELETRICIDADE

UNIVERSIDADE FEDERAL DO MARANHÃO – UFMA

Page 2: Automatizando mudanças na Engenharia Dirigida a Modelos

INTRODUÇÃO A complexidade crescente de modelos de software e do sistema é o que torna difícil explorar rapidamente os efeitos de uma decisão de projeto.

Surge a necessidade urgente de administrar a mudança da evolução complexa dentro do modelo de representação.

Ferramenta que simula cada nova configuração do projeto.◦ Deve acomodar duas categorias de mudanças◦ A primeira categoria inclui mudanças que cortam a hierarquia da representação do modelo.◦ A segunda categoria envolve ampliação de partes do modelo de uma preocupação especial na

concepção de, em tempo real, sistemas de larga escala distribuídos embutidos, que podem ter milhares de componentes de granularidade alta.

Ambas as categorias da mudança da evolução beneficiaria muito com a automação.

Page 3: Automatizando mudanças na Engenharia Dirigida a Modelos

C-SAW Desenvolveu-se um mecanismo de transformação usado para manipular modelos chamado C-SAW (Aspect Weaver Constraint-Specification).

C-Saw é um plug-in para o Ambiente de Modelagem Genérico (GME) da Universidade de Vanderbilt.

O GME é um conjunto de ferramentas configurável que apoia a criação de ambientes de modelagem específicas de domínio.

Page 4: Automatizando mudanças na Engenharia Dirigida a Modelos

TRANFORMAÇÃO DE MODELO AUTOMATIZADO A ideia de transformação do modelo é permitir automação que irá remover complexidades de projeto acidentais no processo de modelagem.

A transformação do modelo pode assumir uma das duas abordagens:◦ transformação de modelo para código

◦ de modelo para modelo

Page 5: Automatizando mudanças na Engenharia Dirigida a Modelos

LINGUAGEM DE TRANSFORMAÇÃO DE MODELOS Existem várias ferramentas de modelagem, para apoiar a automatização de transformação do modelo.

É essencial que os engenheiros e desenvolvedores usem uma linguagem para especificar e executar as transformações desejadas de modelo.

Essa linguagem deve ter duas características principais:◦ Deve ser focada em um determinado domínio ou contexto do usuário;◦ Deve abordar tarefas específicas da evolução do modelo.

Page 6: Automatizando mudanças na Engenharia Dirigida a Modelos

LINGUAGEM DE TRANSFORMAÇÃO DE MODELOS Para atender a esses requisitos a C-SAW usa a Linguagem de Restrição Incorporada (ECL) que uma extensão para a Linguagem de Restrição a Objeto (OCL).

ECL reflete conceitos do domínio de modelagem do usuário e permite que os engenheiros do modelo refinam o modelo de uma forma gradual.

As construções de ECL que suportam cada transformação inclui:◦ Um tipo de sistema;◦ Um mecanismo de seleção de elemento;◦ Um conjunto de operadores para manipular os modelos de origem

Page 7: Automatizando mudanças na Engenharia Dirigida a Modelos

LINGUAGEM DE TRANSFORMAÇÃO DE MODELOS

Tipo de sistema

◦ ECL fornece um sistema de tipo básico para descrever valores e objetos de modelo de transformação

Seleção de elemento

◦ ECL suporta consultas de modelo, proporcionando a escolha do operador, de um conjunto de operadores especiais para selecionar uma coleção de objetos do modelo, e um conjunto de operadores para encontrar um único objeto de modelo.

Operações de transformação

◦ ECL fornece um conjunto de operadores para mudar a estrutura do modelo.

Page 8: Automatizando mudanças na Engenharia Dirigida a Modelos

PROPRIEDADES TRANSVERSAIS DO PROJETO Quando um interesse se espalha por um artefato, fica difícil de compreender e mudar um modelo de vários componentes.

Desenvolvimento de Software Orientado a Aspectos (AOSD) oferece técnicas para modularizar o interesse de corte transversal dos componentes do sistema.

Uma das motivações para o desenvolvimento de C-Saw foi a necessidade de especificar restrições que cortam o modelo de um sistema embarcado distribuído de tempo real.

Por exemplo, mudança de uma regra de interesse transversal em um subsistema com mais de 2000 mil componentes pode ser bastante dispendioso para a capacidade humana de localizar e modificar todos esses componentes.

Page 9: Automatizando mudanças na Engenharia Dirigida a Modelos

PROPRIEDADES TRANSVERSAIS DO PROJETO Com a Linguagem de Restrição Embutida (ECL), os engenheiros de modelo definem um aspecto de modelagem para especificar a intenção de um interesse transversal.

Page 10: Automatizando mudanças na Engenharia Dirigida a Modelos

PROPRIEDADES TRANSVERSAIS DO PROJETO C-Saw realiza cada estratégia num contexto de modelagem específica, que fornece o aspecto. O contexto pode ser um projeto inteiro, um modelo específico, átomo, ou conexão, ou uma coleção de elementos de modelagem reunidos.

Usando ECL, os engenheiros podem definir aspectos para quantificar os elementos de modelagem que deseja alterar e aplicar a estratégia de construção para executar a transformação desejada.

Page 11: Automatizando mudanças na Engenharia Dirigida a Modelos

MODELO DE ESCALABILIDADE AUTOMATIZADO Apoio a escalabilidade dentro de ferramentas de modelagem é de extrema preocupação para projetistas de sistemas embarcados de tempo real distribuídos.

O problema de escalabilidade afeta o desempenho da atividade de modelagem, bem como a correção da representação do modelo.

Transformadores de modelos que servem como replicadores podem automatizar significamente uma tarefa manual.

Por exemplo, escalar um modelo de três sites e dois gateways por site para um modelo com oito sites e sete gateways por site, o engenheiro modelo teria que inserir mais de 120 novos elementos de modelagem e quase 150 conexões entre todos os novos elementos.

Page 12: Automatizando mudanças na Engenharia Dirigida a Modelos

MODELO DE ESCALABILIDADE AUTOMATIZADO

Page 13: Automatizando mudanças na Engenharia Dirigida a Modelos

MODELO DE ESCALABILIDADE AUTOMATIZADO Utilizando estratégias reutilizáveis do C-Saw, o engenheiro de modelo pode explorar a flexibilidade do projeto, aplicando a transformação de vários sites.

É especificado um conjunto de transformações para escalar o número de sites mais externa.

Utilizando uma abordagem manual, o engenheiro deverá repetir a mesma tarefa desde o início.

Com o C-Saw, o engenheiro simplesmente entra com novos parâmetros para as estratégias.

O motor de transformação C-Saw foi aplicado em várias linguagens de modelagem no domínio do sistema em tempo real embarcados e distribuídos para modularizar propriedades transversais e replicar elementos de um modelo de núcleo.

C-Saw é apenas uma das muitas abordagens de transformação de modelos, que diferem amplamente na sua aplicação e resultados.

Page 14: Automatizando mudanças na Engenharia Dirigida a Modelos

REFERÊNCIAS Jeff Gray, Yuehua Lin, and Jing Zhang, IEEE Computer, Special Issue on Model-Driven Engineering, vol. 39, no. 2, February 2006, pp. 51- 58.