Abstract | ||
---|---|---|
Software product lines (SPL) is a paradigm to structure software development assets in a common and reusable form. Out of this common asset base - which includes the application's source code, documentation, and configuration -- concrete product variants can be created. The variants are differing in terms of the features, which are basically an increment in functionality important for a stakeholder. Feature-oriented programming (FOP) provides the capability to compose those different variants. In earlier work we presented rbFeatures, a FOP implementation in Ruby. With rbFeatures, features become are first-class entities of the language that facilitate runtime changes of the program. This paper presents an extension to rbFeatures that implements product lines and their variants as first-class entities too. The entities allow powerful runtime-adaptation and configuration, like to add new features or constraints to the product line and the instantiation of several variants with different feature configurations. The particular contributions are to show how Ruby's metaprogramming capabilities are used to design first-class entities and an explanation of the usage of our approach with a common case study. |
Year | DOI | Venue |
---|---|---|
2010 | 10.1145/1868688.1868700 | FOSD |
Keywords | Field | DocType |
concrete product variant,different feature configuration,fop implementation,product line,dynamically adaptable software product,different variant,common asset base,common case study,ruby metaprogramming,structure software development asset,software product line,first-class entity,source code,domain specific language,domain specific languages,software development,metaprogramming | Domain-specific language,Metaprogramming,Programming language,Software engineering,Source code,Computer science,Feature model,Software,Documentation,Software development,Feature-oriented programming | Conference |
Citations | PageRank | References |
4 | 0.37 | 16 |
Authors | ||
2 |
Name | Order | Citations | PageRank |
---|---|---|---|
Sebastian Günther | 1 | 84 | 13.27 |
Sagar Sunkle | 2 | 119 | 18.43 |