Extension points of the CVL approach

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

BVR extends the CVL language

CVL metamodel

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.

Using OVPs to weave models with CVL

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.

Checking pre- and post-conditions with Henshin

Materialization process

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.

vEXgine support the extension of the delegation mechanism

Delegation mechanism

New M2M transformation engines to support different transformation languages such as ATL, QVT, ETL, or even executing code instead model transformations to resolve variability.