Features as transformations: A generative approach to software development
Author(s) -
Valentino Vranić,
Roman Táborský
Publication year - 2016
Publication title -
computer science and information systems
Language(s) - English
Resource type - Journals
SCImago Journal Rank - 0.244
H-Index - 24
eISSN - 2406-1018
pISSN - 1820-0214
DOI - 10.2298/csis160128027v
Subject(s) - feature model , computer science , software product line , feature (linguistics) , feature oriented domain analysis , domain engineering , generative grammar , component (thermodynamics) , model transformation , code refactoring , software , software engineering , process (computing) , separation of concerns , model driven architecture , goal driven software development process , programming language , software development , artificial intelligence , software development process , component based software engineering , linguistics , philosophy , physics , consistency (knowledge bases) , thermodynamics
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.
Accelerating Research
Robert Robinson Avenue,
Oxford Science Park, Oxford
OX4 4GP, United Kingdom
Address
John Eccles HouseRobert Robinson Avenue,
Oxford Science Park, Oxford
OX4 4GP, United Kingdom