A Model-Driven Software Reuse Approach (in portuguese)
A Model-Driven Software Reuse Approach (in portuguese)
A Model-Driven Software Reuse Approach (in portuguese)
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
(PÉREZ-MARTÍNEZ; SIERRA-ALONSO, 2006).<br />
A exemplo dos geradores baseados em templates utilizados nesta tese, o mapeamento<br />
proposto por Pérez-Martínez e Sierra-Alonso (2006) utiliza regras imperativas, mais simples<br />
de implementar, mas mais complicadas quando se deseja promover rastreamento e realizar a<br />
transformação ida-e-volta.<br />
Os modelos de dest<strong>in</strong>o são descritos utilizando um perfil UML2 desenvolvido<br />
exclusivamente para o C2, uma vez que a UML soz<strong>in</strong>ha não é capaz de representar todos os<br />
elementos deste estilo, como por exemplo conectores, portas, mensagens, etc.<br />
Diferentemente desta tese, porém, o trabalho de Pérez-Martínez e Sierra-Alonso (2006)<br />
assume que os modelos de análise são ricos o suficiente para serem automaticamente<br />
transformados em uma arquitetura. A abordagem desta tese defende a idéia de que é necessário<br />
trabalho manual e criativo considerável entre análise e projeto arquitetural, de forma a <strong>in</strong>cluir as<br />
preocupações de todos os stakeholders. Assum<strong>in</strong>do-se um único e pré-def<strong>in</strong>ido mapeamento,<br />
corre-se o risco de se projetar uma arquitetura <strong>in</strong>capaz de atender a todos os requisitos de forma<br />
adequada. Além disso, um único estilo arquitetural (C2) é suportado.<br />
F<strong>in</strong>almente, a abordagem de Pérez-Martínez e Sierra-Alonso (2006) é focada no<br />
desenvolvimento de produtos únicos, não cobr<strong>in</strong>do aspectos relativos à reutilização, como<br />
suporte à variabilidade e derivação de produtos, como é o caso desta tese.<br />
Völter e Groher (2007) descrevem um conjunto de técnicas para comb<strong>in</strong>ar MDD e l<strong>in</strong>has<br />
de produtos de software. Suas idéias sobre a comb<strong>in</strong>ação de técnicas estão de acordo com a<br />
filosofia da abordagem desta tese, tais como o suporte aos dois tipos pr<strong>in</strong>cipais de variabilidade:<br />
baseada em features (configuração) e DSLs (construção criativa). Adicionalmente, os autores<br />
utilizam técnicas orientadas a aspectos para facilitar a modelagem e implementação das<br />
variabilidades ortogonais, o que não é tratado nesta tese. A pr<strong>in</strong>cipal diferença desta tese em<br />
relação ao trabalho de Völter e Groher é que aqui é proposta uma abordagem sistemática, com<br />
atividades e diretrizes concretas para desenvolver a <strong>in</strong>fraestrutura de reutilização orientada a<br />
modelos para o domínio. Além disto, a abordagem desta tese também identifica a necessidade<br />
do suporte simultâneo a múltiplos subdomínios, o que não é mencionado por Völter e Groher.<br />
Robbes e Lanza (2008) descrevem um sistema de suporte à transformação de programas<br />
baseada em exemplos. Neste sistema, o programador realiza um exemplo de mudança<br />
manualmente, que é então submetido ao sistema e posteriormente generalizado para outros<br />
contextos, tornando-se uma transformação reutilizável. O sistema baseia-se no monitoramento<br />
do ambiente de programação para detectar automaticamente as modificações feitas pelo<br />
desenvolvedor em algum artefato de código. Estas são então registradas como operações de<br />
219