A Core Language for Separate Variability Modeling

Alexandru Florin Iosif-Lazăr, Andrzej Wasowski, Ina Schaefer

Publikation: Artikel i tidsskrift og konference artikel i tidsskriftKonferenceartikelForskningpeer review

Abstract

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.
OriginalsprogEngelsk
BogserieLecture Notes in Computer Science
Vol/bind8802
Sider (fra-til)257-272
ISSN0302-9743
DOI
StatusUdgivet - 2014

Emneord

  • Separate variability modeling
  • Featherweight VML
  • Common Variability Language (CVL)
  • Variant derivation
  • Software artifacts transformation

Fingeraftryk

Dyk ned i forskningsemnerne om 'A Core Language for Separate Variability Modeling'. Sammen danner de et unikt fingeraftryk.

Citationsformater