Extending the CVL approach
Despiste the great flexibility of the CVL language, several approaches have had to extend and/or modify CVL in different ways to fulfill the industrial needs of variability modeling in SPLs.
vEXgine can be extended to meet the needs of architects and developers through the extension points of the CVL approach.
There are four ways in which the CVL approach can be potentially extended without losing the main principales of the CVL language for specifying and resolving variability:
Extension points of CVL
Extending the CVL metamodel allows modifying the variability and resolution models by defining new constructs to specify more complex variability relationships, and adding new kind of variation points.
Opaque Variation Points
Opaque Variation Points (OVPs) allow users to define new custom model transformations that are not pre-defined in CVL, as for example more complex transformations to “weave” models.
Additional steps before and/or after the materalization of the variability can be introduced to check pre- and post-conditions, or to identify the places where the variation points can be safety applied.
New M2M transformation engines to support different transformation languages such as ATL, QVT, ETL, or even executing code instead model transformations to resolve variability.