Generating Constraint Programs for Variability Model Reasoning: A DSL and Solver Agnostic Approach
Résumé
Verifying and configuring large Software Product Lines (SPL) requires automation tools. Current state-of-the-art approaches involve translating Variability Models (VM) into a formalism accepted as input by a constraint solver. There are currently no standards for the Variability Modeling Languages (VML). There is also a variety of constraint solver input languages. This has resulted in a multiplication of ad-hoc architectures and tools specialized for a single pair of VML and solver, fragmenting the SPL community. To overcome this limitation, we propose a novel architecture based on model-driven code generation, where the syntax and semantics of VMLs can be declaratively specified as data, and a standard, humanreadable, formal pivot language is used between the VML and the solver input language. This architecture is the first to be fully generic by being agnostic to both VML and the solver paradigm. To validate the genericity of the approach, we have implemented a prototype tool together with declarative specifications for the syntax and semantics of two different VMLs and two different solver Families. One VML is for classic, static SPL (Feature Model) and the other is for run-time reconfigurable dynamic SPL with soft constraints to be optimized during configuration. The two solver families are Constraint Satisfaction Program (CSP) and Constraint Logic Programming (CLP). CCS Concepts: • Software and its engineering → Software product lines; Software architectures; • Computing methodologies → Model verification and validation.
Origine | Fichiers produits par l'(les) auteur(s) |
---|