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.