Reuso de Software - Síntese do Modelo de Features
-
Upload
thiago-pereira -
Category
Software
-
view
106 -
download
3
Transcript of Reuso de Software - Síntese do Modelo de Features
![Page 1: Reuso de Software - Síntese do Modelo de Features](https://reader034.fdocuments.net/reader034/viewer/2022042819/55c6dfc7bb61ebc5078b4620/html5/thumbnails/1.jpg)
Efficient Synthesis of Feature Models
Thiago Pereira Rosa - [email protected] Universidade Federal do Ceará - Quixadá/CEEngenharia de Software - 2015/1
![Page 2: Reuso de Software - Síntese do Modelo de Features](https://reader034.fdocuments.net/reader034/viewer/2022042819/55c6dfc7bb61ebc5078b4620/html5/thumbnails/2.jpg)
http://dl.acm.org/citation.cfm?id=2362553
Nele Andersen, Krzysztof Czarnecki, Steven She, Andrzej Wasowski (2012) "Efficient Synthesis of Feature Models”, Asia-Pacific Software Engineering Conference, Software Product Line conference (SPLC), vol. 1, pp. 106-115.
![Page 3: Reuso de Software - Síntese do Modelo de Features](https://reader034.fdocuments.net/reader034/viewer/2022042819/55c6dfc7bb61ebc5078b4620/html5/thumbnails/3.jpg)
O que é Variabilidade em Software?
"A variabilidade em um sistema de software é a capacidade para adaptar e personalizar um sistema para um determinado contexto."
-van Gurp et al., 2001
![Page 4: Reuso de Software - Síntese do Modelo de Features](https://reader034.fdocuments.net/reader034/viewer/2022042819/55c6dfc7bb61ebc5078b4620/html5/thumbnails/4.jpg)
Grandes sistemas de software contêm variabilidades espalhadas pela documentação, projeto e implementação.
Porque fazer a modelagem da variabilidade?
![Page 5: Reuso de Software - Síntese do Modelo de Features](https://reader034.fdocuments.net/reader034/viewer/2022042819/55c6dfc7bb61ebc5078b4620/html5/thumbnails/5.jpg)
Modelo de Variabilidade
Os benefícios incluem configuração gráfica e análise automatizada.
![Page 6: Reuso de Software - Síntese do Modelo de Features](https://reader034.fdocuments.net/reader034/viewer/2022042819/55c6dfc7bb61ebc5078b4620/html5/thumbnails/6.jpg)
Modelo de Features
Introduzido pela primeira vez por Kang et al Descreve um conjunto de configurações legais
![Page 7: Reuso de Software - Síntese do Modelo de Features](https://reader034.fdocuments.net/reader034/viewer/2022042819/55c6dfc7bb61ebc5078b4620/html5/thumbnails/7.jpg)
Modelo de Features
![Page 8: Reuso de Software - Síntese do Modelo de Features](https://reader034.fdocuments.net/reader034/viewer/2022042819/55c6dfc7bb61ebc5078b4620/html5/thumbnails/8.jpg)
O que é a síntese do Modelo de Features?
• É o design e concepção de um modelo, dado um conjunto de features e suas combinações legais.
![Page 9: Reuso de Software - Síntese do Modelo de Features](https://reader034.fdocuments.net/reader034/viewer/2022042819/55c6dfc7bb61ebc5078b4620/html5/thumbnails/9.jpg)
Cenários aplicáveis
• Síntese a partir de Configurações do Produto
• Ferramenta de Engenharia Reversa do Código
• Merge das operações do Modelo de Features
![Page 10: Reuso de Software - Síntese do Modelo de Features](https://reader034.fdocuments.net/reader034/viewer/2022042819/55c6dfc7bb61ebc5078b4620/html5/thumbnails/10.jpg)
A partir de Configurações do Produto
• A entrada consiste de variantes descrevendo uma linha de produtos.
Exemplo das variantes de modelo: Produtos desenvolvidos por clonagem de código. • As variantes são comparadas e os Pontos de Variação (VPS) são identificados. • VPs e configurações do VP são usado como entrada para a síntese.
![Page 11: Reuso de Software - Síntese do Modelo de Features](https://reader034.fdocuments.net/reader034/viewer/2022042819/55c6dfc7bb61ebc5078b4620/html5/thumbnails/11.jpg)
• A entrada consiste do código-fonte que contém a variabilidade
• Análise estática de declarações #ifdef identifica fragmentos de código como VPs e as dependências entre as VPs.
Ferramenta de Engenharia Reversa do Código
![Page 12: Reuso de Software - Síntese do Modelo de Features](https://reader034.fdocuments.net/reader034/viewer/2022042819/55c6dfc7bb61ebc5078b4620/html5/thumbnails/12.jpg)
Merge das operações do Modelo de Features
• A entrada consiste de Modelos de Features • Modelos de Features são traduzidos para uma fórmula preposicional
através da configuração semântica • Em seguida a fórmula é utilizada como entrada para a síntese.
![Page 13: Reuso de Software - Síntese do Modelo de Features](https://reader034.fdocuments.net/reader034/viewer/2022042819/55c6dfc7bb61ebc5078b4620/html5/thumbnails/13.jpg)
![Page 14: Reuso de Software - Síntese do Modelo de Features](https://reader034.fdocuments.net/reader034/viewer/2022042819/55c6dfc7bb61ebc5078b4620/html5/thumbnails/14.jpg)
Inovações
• She, Czarnecki, and Wasowski, “Usage scenarios for feature model synthesis,” in VARY Workshop, 2012.
• She, Lotufo, Berger, Wąsowski, Czarnecki. “The variability model of the linux kernel,” in VaMoS Workshop, 2010.
![Page 15: Reuso de Software - Síntese do Modelo de Features](https://reader034.fdocuments.net/reader034/viewer/2022042819/55c6dfc7bb61ebc5078b4620/html5/thumbnails/15.jpg)
Dúvidas?