Plug and Play Variability for Eclipse

Delta modeling is an approach to structured reuse within software product lines. Delta modules manifest changes associated with different configurations in realization artifacts, such as source code, by adding, modifying or removing affected elements. However, a dedicated delta language is required for each realization language, e.g., DeltaJava for Java.

DeltaEcore is a tool suite for swift creation of delta languages that can seamlessly be integrated into the provided variant derivation procedure of a software product line. Its main constituents are a use-friendly graphical editor for feature models, a powerful configurator to allow valid selections of features and their versions as well as a variant derivation procedure to allow creation of specific products of a software product line.

The project HyVar utilizes DeltaEcore to model variability in Hyper-Feature Models, define a delta language for Yakindu and generate variants from state charts. Furthermore, HyVar extends the tool suite to make it suitable for capturing variability in time in Temporal Feature Models (TFMs), to allow easy and flexible reconfiguration by interfacing with HyVarRec and to make product lines context-aware through models specifically tailored to modeling context and its evolution.

The consequent model-based implementation of the HyVar tool chain allows for traceability of artifacts and changes on them, so that analyzes can identify and reduce potential errors in the complex overall structure of a software product line. Hence, the development on DeltaEcore and the research in HyVar are symbiotic in that they create an enhanced expressiveness and increased quality in software product line development along with an improved user experience through dedicated editors.