A Model-Driven Infrastructure for Developing Product Line Architectures Using CVL - Nascimento, Amanda S.; Rubira, Cecília M. F.; Burrows, Rachel; Castor, Fernando (Anais do Simpósio Brasileiro de Componentes, Arquiteturas e Reutilização de Software (SBCARS), 2013)
Over recent years, software engineers have been evaluating the benefits of combining Software Product Line and Model-Driven Engineering, which is referred to as Model-Driven Product Line Engineering (MD-PLE), to achieve software architecture evolvability. In general terms, existing solutions for MD-PLE support high-level model refinement into lower level abstractions in order to reach code implementation of product line architectures. Nevertheless, the applicability of such approaches is limited due to either the unsystematic processes that do not clearly specify how to refine models to decrease the level of abstraction, or the lack of automation support. In this paper, we propose an infrastructure for MD-PLE. The infrastructure encompasses a model-driven, systematic and semi-automated engineering method that combines a set of existing process, tools, languages and models to implement product line architectures. Common Variability Language (CVL) is adopted to specify and resolve architectural variability explicitly and systematically. We employ our solution to develop a family of software fault tolerance techniques for service-oriented architectures. The results obtained suggest the proposed solution is useful and efficient to implement product line architectures. We report lessons learned from this case study and present directions for future work.