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"

(Important links)
(User's guide)
 
(12 intermediate revisions by 2 users not shown)
Line 1: Line 1:
= VIATRA-DSE Wiki Documentation =
+
{{VIATRA}}
 +
= 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 defines design candidates as EMF models, goals and constraints as [[EMFIncQuery|EMF-IncQuery]] patterns and alters the model via domain specific transformation rules.
+
Design space exploration (DSE) is a multi-criteria, search-based design process, which searches for good enough solutions within the possible design alternatives.
  
== Main features ==
+
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 [[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.
 +
* '''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.
  
* Based on EMF and EMF-IncQuery
 
* Supports parallel algorithms
 
* There are already a number of implemented algorithms:
 
** Depth first search
 
** Breadth first search
 
** Fixed priority search
 
** Hill climbing strategy
 
** Non-dominated Sorting Genetic Algorithm (NSGA-II)
 
* Easy to use API
 
* Parts of the framework can be changed via interfaces
 
  
 
== User's guide ==
 
== User's guide ==
Line 20: Line 15:
 
* [[VIATRA/DSE/UserGuide/Installation|Installation]]
 
* [[VIATRA/DSE/UserGuide/Installation|Installation]]
 
* [[VIATRA/DSE/UserGuide/API|Usage of the API]]
 
* [[VIATRA/DSE/UserGuide/API|Usage of the API]]
* [[VIATRA/DSE/UserGuide/Statecoders|Statecoders]]
+
* [[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]]
== Contributors guide ==
+
 
+
== Releases ==
+
 
+
There are no releases yet. We plan to make our first release (0.7) at the end of June 2015.
+
  
 
== 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 45: 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.incquerylabs.com/sonar/overview?id=29083 Sonar]
  
* [https://wiki.eclipse.org/EMFIncQuery EMF-IncQuery]
+
* Mailing list: [mailto:viatra-dev@eclipse.org viatra-dev@eclipse.org]
 +
* [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

Back to the top