Features as Transformations: A Generative Approach to Software Development
- Institute of Informatics and Software Engineering, Faculty of Informatics and Information Technologies
Slovak University of Technology in Bratislava, Ilkovičova 2, 84216 Bratislava 4, Slovakia
vranic@stuba.sk, crudecrude@gmail.com
Abstract
The objective of feature modeling is to foster software reuse by enabling to explicitly and abstractly express commonality and variability in the domain. Feature modeling is used to configure other models and, eventually, code. These software assets are being configured by the feature model based on the selection of variable features. However, selecting a feature is far from a naive component based approach where feature inclusion would simply mean including the corresponding component. More often than not, feature inclusion affects several places in models or code to be configured requiring their nontrivial adaptation. Thus, feature inclusion recalls transformation and this is at heart of the approach to feature model driven generation of software artifacts proposed in this paper. Features are viewed as transformations that may be executed during the generative process conducted by the feature model configuration. The generative process is distributed in respective transformations enabling the developers to have a better control over it. This approach can be applied to modularize changes in product customization and to establish generative software product lines by gradual refactoring of existing products.
Key words
feature modeling, transformation, metatransformation, generative process, reuse, change, customization, software product lines, variability
Digital Object Identifier (DOI)
https://doi.org/10.2298/CSIS160128027V
Publication information
Volume 13, Issue 3 (November 2016)
Special issue on Trends in Software Technologies
Year of Publication: 2016
ISSN: 2406-1018 (Online)
Publisher: ComSIS Consortium
Full text
Available in PDF
Portable Document Format
How to cite
Vranić, V., Táborský, R.: Features as Transformations: A Generative Approach to Software Development. Computer Science and Information Systems, Vol. 13, No. 3, 759–778. (2016), https://doi.org/10.2298/CSIS160128027V