A Code Tagging Approach to Software Product Line Development

An Application to Satellite Communication Libraries

Patrick Heymans, Quentin Boucher, Andreas Classen, Arnaud Bourdoux, Laurent Demonceau

Research output: Contribution to journalArticle

115 Downloads (Pure)

Abstract

Software product line engineering seeks to systematise reuse when developing families of similar software systems so as to minimise development time, cost and defects. To realise variability at the code level, product line methods classically advocate usage of inheritance, components, frameworks, aspects or generative techniques. However, these might require unaffordable paradigm shifts for developers if the software was not thought at the outset as a product line. Furthermore, these techniques can be conflicting with a company's coding practices or external regulations. These concerns were the motivation for the industry-university collaboration described in this paper in which we developed a minimally intrusive coding technique based on tags. The approach was complemented with traceability from code to feature diagrams which were exploited for automated configuration. It is supported by a toolchain and is now in use in the partner company for the development of flight grade satellite communication software libraries.
Original languageEnglish
Pages (from-to)553-566
Number of pages14
JournalInternational Journal on Software Tools for Technology Transfer (STTT)
Issue number5
Publication statusPublished - 2012

Fingerprint

Communication satellites
Industry
Defects
Costs

Cite this

@article{3cce7ed9f77441ecaff69fdaf026b870,
title = "A Code Tagging Approach to Software Product Line Development: An Application to Satellite Communication Libraries",
abstract = "Software product line engineering seeks to systematise reuse when developing families of similar software systems so as to minimise development time, cost and defects. To realise variability at the code level, product line methods classically advocate usage of inheritance, components, frameworks, aspects or generative techniques. However, these might require unaffordable paradigm shifts for developers if the software was not thought at the outset as a product line. Furthermore, these techniques can be conflicting with a company's coding practices or external regulations. These concerns were the motivation for the industry-university collaboration described in this paper in which we developed a minimally intrusive coding technique based on tags. The approach was complemented with traceability from code to feature diagrams which were exploited for automated configuration. It is supported by a toolchain and is now in use in the partner company for the development of flight grade satellite communication software libraries.",
author = "Patrick Heymans and Quentin Boucher and Andreas Classen and Arnaud Bourdoux and Laurent Demonceau",
note = "M1 - Article",
year = "2012",
language = "English",
pages = "553--566",
journal = "International Journal on Software Tools for Technology Transfer (STTT)",
issn = "1433-2779",
publisher = "Springer Verlag",
number = "5",

}

TY - JOUR

T1 - A Code Tagging Approach to Software Product Line Development

T2 - An Application to Satellite Communication Libraries

AU - Heymans, Patrick

AU - Boucher, Quentin

AU - Classen, Andreas

AU - Bourdoux, Arnaud

AU - Demonceau, Laurent

N1 - M1 - Article

PY - 2012

Y1 - 2012

N2 - Software product line engineering seeks to systematise reuse when developing families of similar software systems so as to minimise development time, cost and defects. To realise variability at the code level, product line methods classically advocate usage of inheritance, components, frameworks, aspects or generative techniques. However, these might require unaffordable paradigm shifts for developers if the software was not thought at the outset as a product line. Furthermore, these techniques can be conflicting with a company's coding practices or external regulations. These concerns were the motivation for the industry-university collaboration described in this paper in which we developed a minimally intrusive coding technique based on tags. The approach was complemented with traceability from code to feature diagrams which were exploited for automated configuration. It is supported by a toolchain and is now in use in the partner company for the development of flight grade satellite communication software libraries.

AB - Software product line engineering seeks to systematise reuse when developing families of similar software systems so as to minimise development time, cost and defects. To realise variability at the code level, product line methods classically advocate usage of inheritance, components, frameworks, aspects or generative techniques. However, these might require unaffordable paradigm shifts for developers if the software was not thought at the outset as a product line. Furthermore, these techniques can be conflicting with a company's coding practices or external regulations. These concerns were the motivation for the industry-university collaboration described in this paper in which we developed a minimally intrusive coding technique based on tags. The approach was complemented with traceability from code to feature diagrams which were exploited for automated configuration. It is supported by a toolchain and is now in use in the partner company for the development of flight grade satellite communication software libraries.

M3 - Article

SP - 553

EP - 566

JO - International Journal on Software Tools for Technology Transfer (STTT)

JF - International Journal on Software Tools for Technology Transfer (STTT)

SN - 1433-2779

IS - 5

ER -