Efficient Synthesis of
Feature Models
Thiago Pereira Rosa - thiagor@engineer.com
Universidade Federal do Ceará - Quixadá/CE

Engenharia de Software - 2015/1
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.
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
Grandes sistemas de software
contêm variabilidades espalhadas
pela documentação, projeto e
implementação.
Porque fazer a modelagem
da variabilidade?
Modelo de Variabilidade
Os benefícios incluem configuração gráfica e análise automatizada.
Modelo de Features
Introduzido pela primeira vez por Kang et al
Descreve um conjunto de configurações legais
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.
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
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.
• 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
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.
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.
Dúvidas?

Reuso de Software - Síntese do Modelo de Features

  • 1.
    Efficient Synthesis of FeatureModels Thiago Pereira Rosa - thiagor@engineer.com Universidade Federal do Ceará - Quixadá/CE Engenharia de Software - 2015/1
  • 2.
    http://dl.acm.org/citation.cfm?id=2362553 Nele Andersen, KrzysztofCzarnecki, 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.
  • 3.
    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
  • 4.
    Grandes sistemas desoftware contêm variabilidades espalhadas pela documentação, projeto e implementação. Porque fazer a modelagem da variabilidade?
  • 5.
    Modelo de Variabilidade Osbenefícios incluem configuração gráfica e análise automatizada.
  • 6.
    Modelo de Features Introduzidopela primeira vez por Kang et al Descreve um conjunto de configurações legais
  • 7.
  • 8.
    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.
  • 9.
    Cenários aplicáveis • Síntesea partir de Configurações do Produto • Ferramenta de Engenharia Reversa do Código • Merge das operações do Modelo de Features
  • 10.
    A partir deConfiguraçõ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.
  • 11.
    • A entradaconsiste 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
  • 12.
    Merge das operaçõesdo 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.
  • 14.
    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.
  • 15.