VIATRA Design Space Exploration Framework (VIATRA-DSE)
Design space exploration (DSE) is a multi-criteria, search-based design process, which searches for good enough solutions within the possible design alternatives.
VIATRA-DSE is Java based framework for model-driven, rule-based design space exploration with the following main concepts:
- Model-driven: the problem representation is a typed attributed graph, which well fits in the processes of model-driven approaches, where models are typically graph-like structures and constraints are graph patterns. VIATRA-DSE stores the models (design candidates) as EMF models and captures constraints as IncQuery graph patterns.
- Rule-based: in certain scenarios we not only interested in a solution (e.g. sudoku), but we also need to know how to reach that solution (e.g. Rubik's cube). In VIATRA-DSE rules are defined as graph-transformation rules, while solutions are defined as a sequence of rules applications (trajectory) which transforms the initial model into a desired one.
- Multi-Objective Optimization: VIATRA-DSE is able to handle multiple objective functions, both hard objectives (shall be satisfied by a goal state) and soft objectives (should be optimized), which can be derived from the model (graph pattern, simulation, etc.) or from the trajectory.
- Meta-heuristic strategies: meta-heuristic search techniques are widely used in optimization problems. VIATRA-DSE comes with a set of built-in exploration strategies such as depth and breadth first search, fixed-priority strategy, hill climbing strategy, genetic algorithm and more will come. Developers can easily integrate their own strategies.
- Usage of the API
- State coders
- Design space
Version 0.7 has been released at 30th June 2015 in parallel with IncQuery 1.0. You can install them via the Eclipse Marketplace.
For the lastest version of the framework please go to the installation page.