During any development task the need may arise to provide a number of different solutions for the given task, from which we can pick the best one suited to our needs after evaluating all the alternatives. In this thesis we present a way we can modify the design space exploration approach – a model driven development approach – to solve problems in this manner more efficiently. For starters we present an example problem that we will propagate through the different technological layers. Right after we shortly describe the underlying software, the Eclipse Modeling Framework (EMF) that is a data representation tool built on the Eclipse platform and the EMF-INCQUERY engine, which is an incremental graph pattern query engine working on EMF models. The software used to execute the design space exploration task is built upon these technologies.
After the short technology introduction we describe issues arising from using the design space exploration approach and provide an abstract solution for one of these issues, for which we later provide six specific implementations describing their theoretical advantages and disadvantages. In a quantitative comparison at the end we compare the different implementations to each other and the original state, based on aspects such as the total execution time of a task, the number of visited states or the average time spent examining each state. With this data available we check the validity of the presumptions about the theoretical advantages and disadvantages of the specific implementations, also noting in what situations can we use them and in which we cannot. This thesis is concluded with a summary of the work, the results and the experience gained during the making of this work while noting possible continuations.