Difference between revisions of "VIATRA/DSE"
< VIATRA
(→User's guide) |
(→User's guide) |
||
(7 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
+ | {{VIATRA}} | ||
= VIATRA Design Space Exploration Framework (VIATRA-DSE) = | = VIATRA Design Space Exploration Framework (VIATRA-DSE) = | ||
Line 4: | Line 5: | ||
VIATRA-DSE is Java based framework for model-driven, rule-based design space exploration with the following main concepts: | 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 [https://www.eclipse.org/modeling/emf/ EMF] models and captures constraints as [[ | + | * '''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 [https://www.eclipse.org/modeling/emf/ EMF] models and captures constraints as [[VIATRA/Query|VIATRA Query]] 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. | * '''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. | * '''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, | + | * '''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, evolutionary algorithms (e.g. NSGA-II and PESA) and more will come. Developers can easily integrate their own strategies. |
Line 15: | Line 16: | ||
* [[VIATRA/DSE/UserGuide/API|Usage of the API]] | * [[VIATRA/DSE/UserGuide/API|Usage of the API]] | ||
* [[VIATRA/DSE/UserGuide/Statecoders|State coders]] | * [[VIATRA/DSE/UserGuide/Statecoders|State coders]] | ||
− | |||
− | |||
− | |||
− | |||
− | |||
* Examples | * Examples | ||
+ | ** [[VIATRA/DSE/UserGuide/TTC2016|TTC2016 - Class responsibility assignment problem]] | ||
** [[VIATRA/DSE/UserGuide/BPMNExample|BPMN example]] | ** [[VIATRA/DSE/UserGuide/BPMNExample|BPMN example]] | ||
* [[VIATRA/DSE/Publications|Publications]] | * [[VIATRA/DSE/Publications|Publications]] | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
== Important links == | == Important links == | ||
+ | * [[VIATRA/Releases|Releases]] | ||
* Bugzilla | * Bugzilla | ||
** If you found a bug, [https://bugs.eclipse.org/bugs/enter_bug.cgi?product=Viatra report it here] | ** If you found a bug, [https://bugs.eclipse.org/bugs/enter_bug.cgi?product=Viatra report it here] | ||
Line 40: | Line 32: | ||
* [http://git.eclipse.org/c/viatra/org.eclipse.viatra.examples.git/ Examples source code] | * [http://git.eclipse.org/c/viatra/org.eclipse.viatra.examples.git/ Examples source code] | ||
* [https://hudson.eclipse.org/viatra/ Build server ] | * [https://hudson.eclipse.org/viatra/ Build server ] | ||
− | * [https://build. | + | * [https://build.incquerylabs.com/sonar/overview?id=29083 Sonar] |
* Mailing list: [mailto:viatra-dev@eclipse.org viatra-dev@eclipse.org] | * Mailing list: [mailto:viatra-dev@eclipse.org viatra-dev@eclipse.org] | ||
* [https://dev.eclipse.org/mailman/listinfo/viatra-dev Subscribe] to the mailing list | * [https://dev.eclipse.org/mailman/listinfo/viatra-dev Subscribe] to the mailing list |
Latest revision as of 09:54, 13 October 2016
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 VIATRA Query 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, evolutionary algorithms (e.g. NSGA-II and PESA) and more will come. Developers can easily integrate their own strategies.
User's guide
Important links
- Releases
- Bugzilla
- If you found a bug, report it here
- All bugs
- Active bugs
- Mailing list: viatra-dev@eclipse.org
- Subscribe to the mailing list