TY - GEN
T1 - A Core Language for Separate Variability Modeling
AU - Iosif-Lazăr, Alexandru Florin
AU - Wasowski, Andrzej
AU - Schaefer, Ina
PY - 2014
Y1 - 2014
N2 - Separate variability modeling adds variability to a modeling language without requiring modifications of the language or the supporting tools. We define a core language for separate variability modeling using a single kind of variation point to define transformations of software artifacts in object models. Our language, Featherweight VML, has several distinctive features. Its architecture and operations are inspired by the recently proposed Common Variability Language (CVL). Its semantics is considerably simpler than that of CVL, while remaining confluent (unlike CVL). We simplify complex hierarchical dependencies between variation points via copying and flattening. Thus, we reduce a model with intricate dependencies to a flat executable model transformation consisting of simple unconditional local variation points. The core semantics is extremely concise: it boils down to two operational rules, which makes it suitable to serve as a specification for implementations of trustworthy variant derivation. Featherweight VML offers insights in the execution of other variability modeling languages such as the Orthogonal Variability Model and Delta Modeling. To the best of our knowledge, this is the first attempt to comprehensively formalize variant derivation, encompassing feature models, variation points, implementation artifacts and transformations.
AB - Separate variability modeling adds variability to a modeling language without requiring modifications of the language or the supporting tools. We define a core language for separate variability modeling using a single kind of variation point to define transformations of software artifacts in object models. Our language, Featherweight VML, has several distinctive features. Its architecture and operations are inspired by the recently proposed Common Variability Language (CVL). Its semantics is considerably simpler than that of CVL, while remaining confluent (unlike CVL). We simplify complex hierarchical dependencies between variation points via copying and flattening. Thus, we reduce a model with intricate dependencies to a flat executable model transformation consisting of simple unconditional local variation points. The core semantics is extremely concise: it boils down to two operational rules, which makes it suitable to serve as a specification for implementations of trustworthy variant derivation. Featherweight VML offers insights in the execution of other variability modeling languages such as the Orthogonal Variability Model and Delta Modeling. To the best of our knowledge, this is the first attempt to comprehensively formalize variant derivation, encompassing feature models, variation points, implementation artifacts and transformations.
KW - Separate variability modeling
KW - Featherweight VML
KW - Common Variability Language (CVL)
KW - Variant derivation
KW - Software artifacts transformation
KW - Separate variability modeling
KW - Featherweight VML
KW - Common Variability Language (CVL)
KW - Variant derivation
KW - Software artifacts transformation
U2 - 10.1007/978-3-662-45234-9_19
DO - 10.1007/978-3-662-45234-9_19
M3 - Conference article
SN - 0302-9743
VL - 8802
SP - 257
EP - 272
JO - Lecture Notes in Computer Science
JF - Lecture Notes in Computer Science
ER -