A Model-Driven Infrastructure for Developing Product Line Architectures Using CVL

  • Amanda S. Nascimento UNICAMP
  • Cecília M. F. Rubira UNICAMP
  • Rachel Burrows University of Bath
  • Fernando Castor UFPE

Resumo


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.
Palavras-chave: Unified modeling language, Programmable logic arrays, Software, Object oriented modeling, Computer architecture, Fault tolerance, Fault tolerant systems, Software Product Lines, Model-driven Method, Common Variability Language
Publicado
29/09/2013
NASCIMENTO, Amanda S.; RUBIRA, Cecília M. F.; BURROWS, Rachel; CASTOR, Fernando. A Model-Driven Infrastructure for Developing Product Line Architectures Using CVL. In: SIMPÓSIO BRASILEIRO DE COMPONENTES, ARQUITETURAS E REUTILIZAÇÃO DE SOFTWARE (SBCARS), 7. , 2013, Brasília/DF. Anais [...]. Porto Alegre: Sociedade Brasileira de Computação, 2013 . p. 119-128.