Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Difference between revisions of "VIATRA/DSE"

(User's guide)
 
(4 intermediate revisions by the same user not shown)
Line 5: 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 [[EMFIncQuery|IncQuery]] graph patterns.
+
* '''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, genetic algorithm and more will come. Developers can easily integrate their own strategies.
+
* '''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 16: 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]]
* [[VIATRA/DSE/UserGuide/Strategy|Strategies]]
 
** [[VIATRA/DSE/UserGuide/NewAlgorithms|Developing new algorithms]]
 
** [[VIATRA/DSE/UserGuide/BasicAlgorithms|Basic algorithms]]
 
** [[VIATRA/DSE/UserGuide/Genetic|Genetic algorithm (NSGA-II)]]
 
* [[VIATRA/DSE/UserGuide/DesignSpace|Design space]]
 
 
* 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]]
 
== Contributors guide ==
 
 
== Releases ==
 
 
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 [[VIATRA/DSE/UserGuide/Installation|installation page]].
 
  
 
== 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 43: 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.inf.mit.bme.hu/sonar/dashboard/index/12090?did=1 Sonar]
+
* [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

Copyright © Eclipse Foundation, Inc. All Rights Reserved.