Modern mechanical systems, such as , airplanes, wind turbines and other machinery, are controlled by software. For safety of passengers, operators and so , such software must be correct and extremely reliable, and therefore must be subject to strict quality control, validation and certification.

This presents a challenge. For economical reasons, mechanical systems are designed to form product portfolios, and the controlling software is structured the same way: as software product families with highly parametrized and combinable components.

It is completely infeasible to test and certify all the possible software configurations individually, yet this appears necessary: due to the discrete nature of software, the successful certification of one software variant predicts little about the correctness of the next, only slightly different, variant. This is hardest for component suppliers, who can’t control how the components are configured by customers.

The goal of the VARIETE project is to develop techniques to harness the variability in software product portfolios, ensuring that (i) all derivable variants are correct, (ii) transformations applied to models and code during software development do not introduce errors. This requires a concerted effort to advance modelling and automated reasoning within model-driven software development. We will achieve this by building on and strengthening our national and international network in academia, industry and standardisation organisations.


Partners and Staff

The team at the recent research retreat (including a handful of visitors).


1 April 2013 to 1 April 2017


The VARIETE project has been generously funded by within The Danish Council for Independent Research (DFF) the Sapere Aude research excellence program (level 2). It is also co-sponsored by IT University of Copenhagen.