I. Groher, M. Voelter. Aspect-Oriented Model-Driven Software Product Line Engineering. S. Katz et al. (Eds.): Transactions on AOSD VI, Special Issue on Aspects and Model-Driven Engineering, LNCS 5560, Springer-Verlag Berlin Heidelberg, pp. 111-152, 2009, doi:10.1007/978-3-642-03764-1_4
Software product line engineering aims to reduce development time, effort, cost, and complexity by taking advantage of the commonality within a portfolio of similar products. The effectiveness of a software product line approach directly depends on how well feature variability within the portfolio is implemented and managed throughout the development lifecycle, from early analysis through maintenance and evolution. This article presents an approach that facilitates variability implementation, management, and tracing by integrating model-driven and aspect-oriented software development. Features are separated in models and composed of aspect-oriented composition techniques on model level. Model transformations support the transition from problem to solution space models. Aspect-oriented techniques enable the explicit expression and modularization of variability on model, template, and code level. The presented concepts are illustrated with a case study of a home automation system.