A tag-based approach to software product line implementation

  • Christophe Gauthier

Student thesis: Master typesMaster in Computer science

Abstract

Developing a set of similar softwares separately is time and money consuming. Software Product Line (SPL) aims at developing the set of software as a whole. It uses features as an abstraction for functions that can be selected or not. Compositional approaches imply changes in paradigm and language to implement SPL; annotative approaches do not. Compositional approaches implement features in distinct modules that are composed to generate a specific product. Annotative approaches use annotations to register which portion of source code are associated to a feature, and using this information can generate products. Annotative approaches provide a lightweight approach to implementing SPL. However, compositional approaches provide better feature traceability and safety. Beyond the different annotative approaches, the tagging approach provides a tool independent and syntactically safe approach while remaining a lightweight approach. It uses tags of features to associate source code with features.
The tagging approach is tool independent, but the disadvantages when contrasted to the comparative approaches can be reduced by using a tool to support the approach. The tool’s main requirements are: the integration with a Feature Model (FM), the traceability function, pruning, configuration (the selection of features) and the program understanding for SPL. The tool called XToF uses an architecture made of plugins, is extensible to new languages and provides many functions to support the approach. Among them, visualization at source code and project levels enables the developer to understand how features are implemented.
Date of Award2010
LanguageEnglish
Awarding Institution
  • University of Namur
SupervisorPatrick Heymans (Supervisor), Quentin Boucher (Co-Supervisor) & Arnaud Hubaux (Co-Supervisor)

Cite this

A tag-based approach to software product line implementation
Gauthier, C. (Author). 2010

Student thesis: Master typesMaster in Computer science