A Generic Framework for Design Space Exploration
As the complexity of software systems rises, designers are often faced with the challenge of identifying potential design solutions from a large space of possible design alternatives before the actual implementation. Design space exploration (DSE) is the process of searching through the design space to find feasible and optimal design solutions that additionally satisfy a set of conflicting requirements. Adequate tool support is required to automate the exploration in order to retrieve solutions in a reasonable amount of time. Over the years, experts have frequently relied on different search techniques (mathematical programming, constraint techniques, heuristics) from artificial intelligence and operations research to automate DSE. Existing approaches automate DSE by integrating general purpose search techniques into domain-specific design environments, thereby restricting the focus to a class of problems from a given domain. However, given the time and effort required to create such an environment, and the power of general purpose search techniques, it would be advantageous to have a single framework that can be used to automate DSE for a wide range of problems from a variety of domains. In this dissertation, we present a model-based generic framework for automated design space exploration. The framework can be used to model design spaces and automate exploration for a variety of problems from different domains. The two distinctive features of the generic framework are: (a) configurable modeling support, which enables use of domain-specific notations to model the problem, and (b) generic solver support, that enables solving a problem modeled in the framework using different solvers.