Active Components a Software Product Line Infrastructure Bas Geertsema Slinger Jansen Information and Computing Sciences University Utrecht VARI-ARCH Workshop August 23, 2010
Introduction app for healthcare organisations app for insurance vendors Software Product Population Software Product Family
How to.. Define the variant ? (design) Reuse the design (with small adaptations)?
Question Which software product line infrastructure supports software product populations and step-wise refinements of software products? Case: A Dutch ISV developing for a wide range of industries using an application generator
Active Components Very adaptive, self-describing components Active because invoked during derivation (empowered!) Domain-specific models to express variability Propagate variability using transformations (MDE)
Applications Applications consist of: component composition design in domain-specific models Applications are incrementally defined (pos. variability)
Derivation
Variability in models Domain-specific models Variability specified close to problem domain Flexible (graph) Orthogonal variability models Ease of use (features) Standardized in SPL Composition of components Component model
Stakeholders SPL developer Orchestrate variability mechanisms Develop integration framework of SPL Component developer Define domain-specific meta-models Propagate variability in component Application developer Decision maker or modeler
Architectural Views Architecture can be expressed in a DSL architectural meta-models defined in the SPL Transformation of architectural models/views based on (variability) models upon derivation
Discussion