An Infrastructure for Composing Build Systems of Software Product Lines

Research output: Chapter in book/report/conference proceedingConference contributionResearchpeer review

Authors

  • Christoph Elsner
  • Daniel Lohmann
  • Wolfgang Schröder-Preikschat

External Research Organisations

  • Siemens AG
  • Friedrich-Alexander-Universität Erlangen-Nürnberg (FAU Erlangen-Nürnberg)
View graph of relations

Details

Original languageEnglish
Title of host publicationSPLC '11: Proceedings of the 15th International Software Product Line Conference
Volume2
Publication statusPublished - Aug 2011
Externally publishedYes
Event15th International Software Product Line Conference, SPLC'11 - Munich, Germany
Duration: 21 Aug 201126 Aug 2011

Abstract

Deriving a product from a software product line may require various build tasks, such as model transformations, source code generation, preprocessing, compiling, as well as linking and packaging the compiled sources. Usually implemented using simple scripting languages, such as Apache ant or GNU make, build systems tend to become monolithic entities, which are intricate to adapt and maintain. This makes developing the build system for a multi-product-line, which is composed of several sub-product-lines and maybe other configurable components, particularly challenging. Several, previously independent build systems- possibly implemented using different build tools (ant, make, etc.)-need to be integrated. In this paper, we approach this by using models to describe the involved build tasks (including their input and output parameters) as well as their composition. An interpreter evaluates the models and executes the tasks in the composed order with the configured parameters to produce the final product. Our approach enables the interaction of build systems implemented with different tools with only little development effort, whereas the build order and parameter flow is made explicit in the models. We have started to apply our tooling to model the build system of two multi-product-lines, where it reveals sufficient expressiveness and clarifies the build system interaction.

Keywords

    Build system integration, Software product line

ASJC Scopus subject areas

Cite this

An Infrastructure for Composing Build Systems of Software Product Lines. / Elsner, Christoph; Lohmann, Daniel; Schröder-Preikschat, Wolfgang.
SPLC '11: Proceedings of the 15th International Software Product Line Conference. Vol. 2 2011.

Research output: Chapter in book/report/conference proceedingConference contributionResearchpeer review

Elsner, C, Lohmann, D & Schröder-Preikschat, W 2011, An Infrastructure for Composing Build Systems of Software Product Lines. in SPLC '11: Proceedings of the 15th International Software Product Line Conference. vol. 2, 15th International Software Product Line Conference, SPLC'11, Munich, Germany, 21 Aug 2011. https://doi.org/10.1145/2019136.2019157
Elsner, C., Lohmann, D., & Schröder-Preikschat, W. (2011). An Infrastructure for Composing Build Systems of Software Product Lines. In SPLC '11: Proceedings of the 15th International Software Product Line Conference (Vol. 2) https://doi.org/10.1145/2019136.2019157
Elsner C, Lohmann D, Schröder-Preikschat W. An Infrastructure for Composing Build Systems of Software Product Lines. In SPLC '11: Proceedings of the 15th International Software Product Line Conference. Vol. 2. 2011 doi: 10.1145/2019136.2019157
Elsner, Christoph ; Lohmann, Daniel ; Schröder-Preikschat, Wolfgang. / An Infrastructure for Composing Build Systems of Software Product Lines. SPLC '11: Proceedings of the 15th International Software Product Line Conference. Vol. 2 2011.
Download
@inproceedings{00c82ec30d3f4fcd91bf7f3b176fdef9,
title = "An Infrastructure for Composing Build Systems of Software Product Lines",
abstract = "Deriving a product from a software product line may require various build tasks, such as model transformations, source code generation, preprocessing, compiling, as well as linking and packaging the compiled sources. Usually implemented using simple scripting languages, such as Apache ant or GNU make, build systems tend to become monolithic entities, which are intricate to adapt and maintain. This makes developing the build system for a multi-product-line, which is composed of several sub-product-lines and maybe other configurable components, particularly challenging. Several, previously independent build systems- possibly implemented using different build tools (ant, make, etc.)-need to be integrated. In this paper, we approach this by using models to describe the involved build tasks (including their input and output parameters) as well as their composition. An interpreter evaluates the models and executes the tasks in the composed order with the configured parameters to produce the final product. Our approach enables the interaction of build systems implemented with different tools with only little development effort, whereas the build order and parameter flow is made explicit in the models. We have started to apply our tooling to model the build system of two multi-product-lines, where it reveals sufficient expressiveness and clarifies the build system interaction.",
keywords = "Build system integration, Software product line",
author = "Christoph Elsner and Daniel Lohmann and Wolfgang Schr{\"o}der-Preikschat",
year = "2011",
month = aug,
doi = "10.1145/2019136.2019157",
language = "English",
isbn = "9781450307895",
volume = "2",
booktitle = "SPLC '11: Proceedings of the 15th International Software Product Line Conference",
note = "15th International Software Product Line Conference, SPLC'11 ; Conference date: 21-08-2011 Through 26-08-2011",

}

Download

TY - GEN

T1 - An Infrastructure for Composing Build Systems of Software Product Lines

AU - Elsner, Christoph

AU - Lohmann, Daniel

AU - Schröder-Preikschat, Wolfgang

PY - 2011/8

Y1 - 2011/8

N2 - Deriving a product from a software product line may require various build tasks, such as model transformations, source code generation, preprocessing, compiling, as well as linking and packaging the compiled sources. Usually implemented using simple scripting languages, such as Apache ant or GNU make, build systems tend to become monolithic entities, which are intricate to adapt and maintain. This makes developing the build system for a multi-product-line, which is composed of several sub-product-lines and maybe other configurable components, particularly challenging. Several, previously independent build systems- possibly implemented using different build tools (ant, make, etc.)-need to be integrated. In this paper, we approach this by using models to describe the involved build tasks (including their input and output parameters) as well as their composition. An interpreter evaluates the models and executes the tasks in the composed order with the configured parameters to produce the final product. Our approach enables the interaction of build systems implemented with different tools with only little development effort, whereas the build order and parameter flow is made explicit in the models. We have started to apply our tooling to model the build system of two multi-product-lines, where it reveals sufficient expressiveness and clarifies the build system interaction.

AB - Deriving a product from a software product line may require various build tasks, such as model transformations, source code generation, preprocessing, compiling, as well as linking and packaging the compiled sources. Usually implemented using simple scripting languages, such as Apache ant or GNU make, build systems tend to become monolithic entities, which are intricate to adapt and maintain. This makes developing the build system for a multi-product-line, which is composed of several sub-product-lines and maybe other configurable components, particularly challenging. Several, previously independent build systems- possibly implemented using different build tools (ant, make, etc.)-need to be integrated. In this paper, we approach this by using models to describe the involved build tasks (including their input and output parameters) as well as their composition. An interpreter evaluates the models and executes the tasks in the composed order with the configured parameters to produce the final product. Our approach enables the interaction of build systems implemented with different tools with only little development effort, whereas the build order and parameter flow is made explicit in the models. We have started to apply our tooling to model the build system of two multi-product-lines, where it reveals sufficient expressiveness and clarifies the build system interaction.

KW - Build system integration

KW - Software product line

UR - http://www.scopus.com/inward/record.url?scp=80052666622&partnerID=8YFLogxK

U2 - 10.1145/2019136.2019157

DO - 10.1145/2019136.2019157

M3 - Conference contribution

AN - SCOPUS:80052666622

SN - 9781450307895

VL - 2

BT - SPLC '11: Proceedings of the 15th International Software Product Line Conference

T2 - 15th International Software Product Line Conference, SPLC'11

Y2 - 21 August 2011 through 26 August 2011

ER -