Feather: A Feature Model Transformation Language

by   Ahmet Serkan Karataş, et al.

Feature modeling has been a very popular approach for variability management in software product lines. Building a feature model requires substantial domain expertise, however, even experts cannot foresee all future possibilities. Changing requirements can force a feature model to evolve in order to adapt to the new conditions. Feather is a language to describe model transformations that will evolve a feature model. This article presents the structure and foundations of Feather. First, the language elements, which consist of declarations to characterize the model to evolve and commands to manipulate its structure, are introduced. Then, semantics grounding in feature model properties are given for the commands in order to provide precise command definitions. Next, an interpreter that can realize the transformations described by the commands in a Feather script is presented. Finally, effectiveness of the language is discussed using two realistic examples, where one of the examples includes a system from a dynamic environment and the other employs a system that has a large feature model containing 1,227 features.



page 13

page 18

page 19


Multilevel Coupled Model Transformations for Precise and Reusable Definition of Model Behaviour

The use of Domain-Specific Languages (DSLs) is a promising field for the...

Requirements variability specification for data intensive software

Nowadays, the use of feature modeling technique, in software requirement...

pyfml - a textual language for feature modeling

The Feature model is a typical approach to capture variability in a soft...

Evolvable Systems for Big Data Management in Business

Big Data systems are increasingly having to be longer lasting, enterpris...

Towards Refactoring FRETish Requirements

Like software, requirements evolve and change frequently during the deve...

DReAM: Dynamic Reconfigurable Architecture Modeling (full paper)

Modern systems evolve in unpredictable environments and have to continuo...

Syntheto: A Surface Language for APT and ACL2

Syntheto is a surface language for carrying out formally verified progra...
This week in AI

Get the week's most popular data science and artificial intelligence research sent straight to your inbox every Saturday.