Engineering Languages for Specifying Product-Derivation Processes in Software Product Lines

  • Authors:
  • Pablo Sánchez;Neil Loughran;Lidia Fuentes;Alessandro Garcia

  • Affiliations:
  • Dpto. de Lenguajes y Ciencias de la Computación, Universidad de Málaga, Málaga, Spain;Computing Department, InfoLab 21, Lancaster University, UK. LA1 4WA;Dpto. de Lenguajes y Ciencias de la Computación, Universidad de Málaga, Málaga, Spain;Computing Department, InfoLab 21, Lancaster University, UK. LA1 4WA

  • Venue:
  • Software Language Engineering
  • Year:
  • 2009

Quantified Score

Hi-index 0.00

Visualization

Abstract

The goal of a Software Product Line (SPL) is to provide a set of reusable software assets for the rapid production of a software systems family aimed at a specific market segment. The main objective of SPL engineering is to construct, as automatically as possible, specific products after selecting the particular set of features that must be included in them. Unlike traditional engineering of single systems, SPL engineering often requires dealing with three different languages at each stage of the software lifecycle: (1) a language for specifying the variability of the SPL (e.g. a feature model); (2) a language for designing the reusable software assets (e.g. UML 2.0); and (3) a language that specifies how these reusable assets must be composed for constructing specific products. There are currently available enough languages for variability specification and software assets design, but there is a general lack of languages for specifying and automating the composition of these assets. This paper presents as a novel contribution a process to engineer this kind of language. The process produces an editor and a "compiler", which automates the composition of reusable assets, for a particular language. To explain this process a language has been developed to compose reusable assets of architectural models.