• No results found

Este capítulo apresentou um estudo exploratório de investigação de mecanismos de integração entre modelos de features e linguagens específicas de domínio, utilizando tecnologias atuais de engenharia dirigidas por modelos e aplicando o método proposto neste trabalho, com o objetivo de responder a segunda questão de pesquisa desta dissertação, que questionava “como implementar abordagens generativas que envolvam a composição de múltiplas DSLs usando tecnologias atuais de engenharia dirigida por modelos”. Duas subquestões estavam envolvidas neste questionamento, a primeira busca investigar “como a composição de DSLs pode ser especificada e implementada durante a engenharia de domínio” e a segunda “como estratégias de derivação de produtos/sistemas de abordagens generativas que envolvam a composição de DSLs podem ser implementadas na engenharia de aplicação”.

Com os resultados do estudo, pudemos explorar a utilização de tecnologias que estão em evidência atualmente na acadêmica e na indústria, e que são baseadas em engenharia dirigida por modelos, para implementar sintaxes de DSLs, especificando os pontos de sobreposições existentes entre elas, e assim responder aos questionamentos mencionados. Além disso, uma linguagem para transformações de modelos pode ser utilizada para implementar as transformações necessárias para geração dos artefatos finais da abordagem. Especificamente, dois

frameworks foram utilizados e avaliados neste estudo, o xText, baseado no Eclipse Modeling Framework (EMF), e o FeatureMapper. O xText já apresenta nativamente

uma série de recursos que podem ser aproveitados para desenvolvimento com composição de DSLs. Já o FeatureMapper é útil para conectar features de um modelo de features com fragmentos de modelagens construídas usando as DSLs do

xText, automatizando assim o reuso de modelagens na execução da estratégia de

derivação que combina FMs e DSLs. Como previsto nos estudos relacionados, os resultados do nosso estudo mostraram também que é possível derivar produtos em abordagens generativas com composição de DSLs, utilizando apenas DSLs ou combinando-as com FMs. O uso de DSLs é útil para ampliar os limites de expressividade dos FMs e ainda fornecer ao usuário final novas experiências de interação (wizard, arquivos de configuração, modelos, etc.). DSLs podem ainda ser implementadas por tecnologias atuais de engenharia dirigida por modelos, tal como

xText, e mapeadas à features em um FM, usando frameworks de mapeamento de

variabilidades com modelos, tais como o FeatureMapper, ambos utilizados e avaliados neste estudo.

Além disso, com a aplicação do método, foi possível observar que a separação de um domínio em partes menores favorece reuso dos artefatos modelados na abordagem generativa. Desse modo, identificar subdomínios, separando-os e identificando sobreposições entre eles, ainda na fase de projeto de domínio é de fundamental importância para permitir a especificação separada de

features pertencentes a diferentes domínios do sistema, assim como o reuso futuro

das DSLs em outras abordagens generativas. Foi possível também observar que os problemas reconhecidos pela literatura envolvendo composição de DSLs, tais como, as violações às restrições dos modelos e gerenciamento de inconsistências, foram identificados e devidamente tratados pelo método, e assim contempladas soluções para os mesmos durante o estudo. As DSLs implementadas também podem ser reutilizadas em outros domínios e os fragmentos das modelagens baseadas nas linguagens específicas de domínio.

Por fim, como todo estudo empírico, este também apresentou algumas ameaças à sua validade que precisam ser apresentadas e discutidas (Seção 4.8.1). Por outro lado, o estudo também trouxe importantes contribuições, que estão expostas na Seção 4.8.2.

4.8.1. Ameaças à Validade e Limitações do Estudo

Estudos empíricos, de modo geral, estão sujeitos às ameaças. Assim, não diferente, o mesmo ocorre com o estudo exploratório realizado nesta pesquisa. Todavia, identificá-las previamente pode minimizar o seu efeito. Em alguns casos tais ameaças geram limitações do estudo que precisam ser de mesmo modo observadas para serem corrigidas em trabalhos futuros. Especificamente neste estudo, as ameaças principais que podem limitá-lo são:

A quantidade de domínios envolvidos na investigação é uma das limitações do estudo exploratório. No estudo, o método foi aplicado a apenas um domínio, o que pode ter limitado os resultados obtidos. Tal fato impediu que

pudéssemos analisar o comportamento do método para diferentes domínios, traçando comparações entre as aplicações para que pudesse ser possível delimitar qual o foco específico de atuação do método, ou seja, os domínios que melhor são contemplados pelas atividades do método. Em estudos futuros, certamente, estaremos interessados em avaliar novos domínios, diferentes do que foi avaliado neste estudo.

A aplicação do método pelos próprios pesquisadores que o projetaram é outra limitação do estudo que pode ter causado algum efeito de aprendizado. Para lidar com tal limitação, a ideia seria conduzir experimentos controlados com a participação explicita de subjects que não fizessem parte do método proposto, mas por limitação de pessoal e tempo para conclusão da pesquisa, não foi realizada neste estudo.

O uso de tecnologias específicas para aplicação do método trouxe-nos resultados de implementação da abordagem também específicos para tais tecnologias utilizadas, não podendo ser expandidos para outras tecnologias sem prévia análise das mesmas.

4.8.2. Principais Contribuições do Estudo

As principais contribuições deste estudo foram: (i) a avaliação de um método proposto para abordagens generativas com composição de DSLs; (ii) a investigação dos problemas e soluções da integração de DSLs com FMs; e (iii) o desenvolvimento de uma abordagem generativa de experimentos controlados usando composição de DSLs.