Variability management with feature models - TICSw

Transcripción

Variability management with feature models - TICSw
Líneas de Producto de
Software – Variability
management with feature
models
Rubby Casallas
Departamento de Sistemas y
Computación
Universidad de los Andes, Bogotá
Referencias
Danilo Beuche, Holger Papajewski, and
Wolfgang Schreder-Preikschat. 2004.
Variability management with feature
models. Sci. Comput. Program. 53, 3
(December 2004), 333-352.
http://www.pure-systems.com
Agenda
Enfoque
Manejo de Variabilidad
Las herramientas “Pure:Variants”
Enfoque
Uso de modelos para representar diferencias
y aspectos comunes entre varios productos
resultado o fragmentos de implementación
El primer modelo es el resultado del análisis
de dominio
El último es el resultado del proceso de
diseño del dominio y de la implementación
“SOFTWARE VARIABILITY IS THE
ABILITY OF A SOFTWARE
SYSTEM OR ARTIFACT TO BE
CHANGED, CUSTOMIZED
...
OR CONFIGURED FOR USE IN A
PARTICULAR CONTEXT”
Manejo de variabilidad
Es un “cross-cutting problem”
Afecta todos y cada uno de los artefactos del ciclo
de desarrollo
Problema:
Mezcla de distintas formas de expresar variabilidad
dependiendo de dónde se produce
Difícil hacer trazas
Difícil consolidar
Las herramientas “Pure:Variants”
Antes se llamaba CONSUL (CONfiguration
SUpport Library)
Problema domain:
Design Domain
Feature models
CCFM: component family model
Deployment time
Feature sets (configuration)
Problema domain: Feature models
FODA +
valores tipados
para las
variantes +
restricciones
entre los
features
"Freeze Point" requires "Temperature"
Design Domain CCFM: component
family model
Un componentes
encapsula unas
funcionalidades
No hay explicito la
nocion de interface
o conector
Esto debe ser
manejado caso por
caso dependiendo
del modelo de
componentes
concreto que se
maneje
Family Model
Family models have a hierarchical structure,
consisting of logical items of the solution
architecture, e.g. components,
classes and objects. These logical items can
be augmented with information about "real"
solution elements such as
source code files, in order to enable
automatic production of a solution from a
valid feature model configuration
For each family model element a rule is
created to link it to the solution space. For
example, the Web
Server implementation component is only
included if the Web Server feature has been
selected from the problem space.
To achieve this, a hasFeature('Web Server')
rule is attached to the "Web Server"
component . Any item below “Web
Server” in the Family model can only be
included in the solution if the corresponding
The family model captures both the structure
of the solution space with its variation points
and the connection of
solution and problem space.

Documentos relacionados