Reuso de Software - Síntese do Modelo de Features

15
Efficient Synthesis of Feature Models Thiago Pereira Rosa - [email protected] Universidade Federal do Ceará - Quixadá/CE Engenharia de Software - 2015/1

Transcript of Reuso de Software - Síntese do Modelo de Features

Page 1: Reuso de Software - Síntese do Modelo de Features

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

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

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

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

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

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

Modelo de Features

Page 8: Reuso de Software - Síntese do Modelo de Features

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

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

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

• 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

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
Page 14: Reuso de Software - Síntese do Modelo de Features

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

Dúvidas?