Outline Introduction Motivation Software Product Line

advertisement
14/10/2014
Outline
SPLConfig: Product Configuration
in Software Product Line
Lucas Machado, Juliana Pereira, Lucas
Garcia, Eduardo Figueiredo
Computer Science Department
Federal University of Minas Gerais, Brazil
Belo Horizonte - May 6, 2014
Introduction and Motivation
Problem Description and Goal
SPL Management Tools
SPLConfig Tool
Computational Results
Related Work
Conclusion and Future Work
Software Engineering Lab (LabSoft)
http://labsoft.dcc.ufmg.br/
Introduction
Motivation
Software Product Line (SPL)
2
Software Engineering Lab (LabSoft)
http://labsoft.dcc.ufmg.br/
How to develop customized systems…
Portfolio of similar products
Examples: cars, cell phones, cameras, systems
…at low cost?
…with short time
to market?
…at desired quality?
4
Software Engineering Lab (LabSoft)
http://labsoft.dcc.ufmg.br/
3
Software Product Line
Domain Engineering
Two development processes
Software Engineering Lab (LabSoft)
http://labsoft.dcc.ufmg.br/
Software Engineering Lab (LabSoft)
http://labsoft.dcc.ufmg.br/
5
Responsible for defining the commonality
and variability of the SPL
Software Engineering Lab (LabSoft)
http://labsoft.dcc.ufmg.br/
6
1
14/10/2014
Application Engineering
Search-Based Software Engineering
Ability of a product to be configured,
customized, extended, or changed for use
Optimization techniques are used to address
problems in software engineering
Search-based techniques in SPL
Manual Product Configuration
Problem Description and Goal
Complex process
Time-consuming task
Error-prone task
7
Software Engineering Lab (LabSoft)
http://labsoft.dcc.ufmg.br/
Constraint Satisfaction Problem (CSP), Binary
Decision Diagrams (BDD), SAT solvers…
Software Engineering Lab (LabSoft)
http://labsoft.dcc.ufmg.br/
8
SPL Management Tools
There are still a lack of support for businesses
during product configuration to the customer
Propose an automatic product configuration
method using search-based techniques
Software Engineering Lab (LabSoft)
http://labsoft.dcc.ufmg.br/
9
Software Engineering Lab (LabSoft)
http://labsoft.dcc.ufmg.br/
10
Chosen Tool
Automatic organization of the features
Shortcuts for the mostly used functions
Save multiple product configurations
Integration with others tools
Code generation
The Proposed Approach
Software Engineering Lab (LabSoft)
http://labsoft.dcc.ufmg.br/
11
FeatureIDE is extended to provide
support to customer requirements
The problem is modeled as an
optimization problem
Search-based algorithm is proposed
Software Engineering Lab (LabSoft)
http://labsoft.dcc.ufmg.br/
12
2
14/10/2014
SPLConfig
SPLConfig Architecture
Derive an optimized feature selection that
satisfies a set of customer requirements
Eclipse plugin implemented in Java
Requires one additional plugin: FeatureIDE
2
3
1
13
Software Engineering Lab (LabSoft)
http://labsoft.dcc.ufmg.br/
SPLConfig View in the Eclipse IDE
Software Engineering Lab (LabSoft)
http://labsoft.dcc.ufmg.br/
14
SPLConfig Main View
B
A
D
C
Software Engineering Lab (LabSoft)
http://labsoft.dcc.ufmg.br/
15
SPLConfig Preference Page
Software Engineering Lab (LabSoft)
http://labsoft.dcc.ufmg.br/
16
Computational Results
Core 2 Duo E7500,
2.93 GHz
3 GB of RAM memory
and 3 MB of cache
Algorithms implemented in Java
Algorithms compiled with Eclipse (version
X.X).
Software Engineering Lab (LabSoft)
http://labsoft.dcc.ufmg.br/
17
Software Engineering Lab (LabSoft)
http://labsoft.dcc.ufmg.br/
18
3
14/10/2014
Benchmark instances
Feature Model
Mobile Media
Email System
Smart Home
Devolution
Gasparc
Web Portal
FraSCAti
Model Transformation
Battle of Tanks
e-Shop
Greedy Heuristic Algorithm
|V| |E| |M| |O| #xor #or height
17
23
28
32
1
0
3
0
8
3
3
11
4
3
4
6
#conf
9
20
25
21
1
1
1
1
1
0
1
4
126
5.632
182.280
19.656
38 0
43 6
63 28
89 0
144 0
23 15
9 34
19 44
19 70
8 136
4
3
2
11
9
1
3
0
14
1
6
352
5 2.120.800
5
> 1×109
8
> 1×109
4
> 1×109
213 32
74 139
0
43
8
What are the gains in terms of performance
produced by the greedy heuristic?
FM
Mobile Media
Email System
Smart Home
Devolution
Gasparc
Web Portal
FraSCAti
Model Transformation
Battle of Tanks
e-Shop
> 1×109
http://homepages.dcc.ufmg.br/~juliana.pereira/SPLConfig
ࡿ∗
320
200
780
840
460
1.280
*1.320
620
*1.080
*2.420
H
320
200
760
840
460
1.280
1.360
620
1.240
2.540
GAP Time (ms)
0%
0,35
0%
0,21
3%
1,41
0%
1,98
0%
0,81
0%
2,05
-3%
3,26
0%
0,93
-15%
1,63
-5%
6,07
* Better solution found up to 7200000 milliseconds (not optimal solutions).
Software Engineering Lab (LabSoft)
http://labsoft.dcc.ufmg.br/
19
Related Work
SPLConfig: extension of the FeatureIDE tool with
a decision support tool for business that reduces
the effort required for product configuration.
Modeling of the problem as an optimization
problem and proposition of a heuristic algorithm to
be integrated with the tool.
Extension of the algorithm to include nonfunctional features, consider “feature interaction”,
and to recommend feature(s) for a product upgrade.
Van Deursen and Klint, 2002; Mannion, 2002
Botterweck et al., 2007; Mendonça et al., 2009;
Thüm et al., 2014
Exact algorithms
Benavides et al., 2005
White et al., 2009
Bagheri et al., 2010 Approximate algorithms
Software Engineering Lab (LabSoft)
http://labsoft.dcc.ufmg.br/
20
Conclusion and Future Work
Search-based techniques to address SPL
product configuration problems
Software Engineering Lab (LabSoft)
http://labsoft.dcc.ufmg.br/
21
Software Engineering Lab (LabSoft)
http://labsoft.dcc.ufmg.br/
22
Further Information
Machado, L., Pereira, J., Garcia, L. and Figueiredo, E. (2014). SPLConfig: Product
Configuration in Software Product Line. In: Congresso Brasileiro de Software
(CBSoft), Sessão de Ferramentas, 2014, Maceio: SBC, 2014. v. 1. p. 1-8.
Pereira, J., Figueiredo, E., and Noronha, T. F. (2013). Modelo Computacional para
Apoiar a Configuração de Produtos em Linha de Produtos de Software. In: Workshop
de Engenharia de Software Baseada em Busca (WESB), co-located at CBSoft.
Pereira, J., Souza, C. G., Figueiredo, E., Abilio, R., Vale, G., and Costa, H. (2013).
Software Variability Management: An Exploratory Study with Two Feature Modeling
Tools. In: Simpósio Brasileiro de Componentes, Arquiteturas e Reutilização de
Software (SBCARS), co-located at CBSoft.
Thank you!
lucasmdo@dcc.ufmg.br
Jualvespeira@gmail.com
lucas.sg@dcc.ufmg.br
figueiredo@dcc.ufmg.br
Pereira, J. and Figueiredo, E. (2013). Configuração de Produtos em Linha de Produtos
de Software. In: Workshop de Teses e Dissertações do CBSoft (WTDSoft), co-located
at CBSoft.
Pereira, J., Figueiredo, E., and Costa, H. (2012). Linha de Produtos de Software:
Conceitos e Ferramentas. In: VII Escola Regional de Informática de Minas Gerais
(ERI-MG), co-located at SMC.
Software Engineering Lab (LabSoft)
http://labsoft.dcc.ufmg.br/
23
Software Engineering Lab (LabSoft)
http://labsoft.dcc.ufmg.br/
4
Download