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/Releases/NewAndNoteWorthy0.8"

(The DSE component)
(VIATRA-CEP)
 
(3 intermediate revisions by 3 users not shown)
Line 5: Line 5:
  
 
== MWE integration ==
 
== MWE integration ==
* [[VIATRA/Transformation_API/MWE2_Integration]]
+
* Added a class library that allows the definition of heterogeneous model transformation chains using a specialized description language.
 +
** Used base language is the Xtext MWE2
 +
** Sequence of model transformation steps can be easily specified and maintained.
 +
** Nontrivial side-effect relations between transformation steps can be handled.
 +
** The execution of event-driven transformations can be explicitly controlled.
 +
** Because of the specialized language, the description code base is short and easily expandable.
 +
* Details at: [[VIATRA/Transformation_API/MWE2_Integration]]
  
 
== VIATRA-DSE component ==
 
== VIATRA-DSE component ==
* Previously VIATRA-DSE 0.7 had a slow and sometimes buggy state coder (which is needed for identifying recurring state in the search space) but at least worked for any problem domain. In 0.8 a new state coder is introduced which is much more simple and therefore faster but. It simply encodes 1) all the attribute values and 2) all the attribute values of the referenced EObjects of all the EObjects. The disadvantage of the new state coder is that it may fail in certain scenarios (e.g., if a rule can add "A"s, another can delete "A"s and a third one can make references between them). From 0.8 this is the default state coder. When used, the metamodel (EPackage) of the domain must be defined for the DSE framework. [[VIATRA/DSE/UserGuide/API#State_coding]]
+
* '''New state coder.''' Previously VIATRA-DSE 0.7 had a slow and sometimes buggy state coder (which is needed for identifying recurring state in the search space) but at least worked for any problem domain. In 0.8 a new state coder is introduced which is much more simple and therefore faster but. It simply encodes 1) all the attribute values and 2) all the attribute values of the referenced EObjects of all the EObjects. The disadvantage of the new state coder is that it may fail in certain scenarios (e.g., if a rule can add "A"s, another can delete "A"s and a third one can make references between them). From 0.8 this is the default state coder. When used, the metamodel (EPackage) of the domain must be defined for the DSE framework. [[VIATRA/DSE/UserGuide/API#State_coding]]
  
 
== VIATRA-CEP ==
 
== VIATRA-CEP ==
* Redesigned compiler: https://bugs.eclipse.org/bugs/show_bug.cgi?id=460537
+
* '''Redesigned event pattern compiler'''
* Check expression support in atomic event patterns: https://bugs.eclipse.org/bugs/show_bug.cgi?id=440748
+
** https://bugs.eclipse.org/bugs/show_bug.cgi?id=460537
* Introduced traits: https://bugs.eclipse.org/bugs/show_bug.cgi?id=464457
+
** The compiler responsible for mapping the user-defined complex event patterns and rules onto the execution model, have been redesigned. Previously implemented purely in Java, the current version is fully based on model-to-model transformations, powered by the VIATRA transformation engine.
* Native support for processing events of the Notification API: https://bugs.eclipse.org/bugs/show_bug.cgi?id=463346
+
 
 +
* '''Check expression support in atomic event patterns'''
 +
** https://bugs.eclipse.org/bugs/show_bug.cgi?id=440748
 +
** Atomic event patterns support check expressions, which are statically evaluated constraints on the events' parameters. Similarly to EMF-IncQuery, check expressions can be specified via the Xbase language.
 +
 
 +
* '''Introduced traits'''
 +
** https://bugs.eclipse.org/bugs/show_bug.cgi?id=464457
 +
** Traits have been introduced as an abstraction mechanism in VEPL. For details, please consult the [[VIATRA/CEP/Language/0.8 | language specification]].
 +
 
 +
* Native support for processing events of the Notification API
 +
** https://bugs.eclipse.org/bugs/show_bug.cgi?id=463346
 +
** We modeled the EMF notification API via VEPL and packaged it into a small library. By importing <code>org.eclipse.viatra.cep.emf.notification.model.*</code>, the basic EMF operations become available in the current VEPL model.

Latest revision as of 13:56, 10 December 2015

New and Noteworthy - VIATRA 0.8.0

Compatibility with EMF-IncQuery 1.1

MWE integration

  • Added a class library that allows the definition of heterogeneous model transformation chains using a specialized description language.
    • Used base language is the Xtext MWE2
    • Sequence of model transformation steps can be easily specified and maintained.
    • Nontrivial side-effect relations between transformation steps can be handled.
    • The execution of event-driven transformations can be explicitly controlled.
    • Because of the specialized language, the description code base is short and easily expandable.
  • Details at: VIATRA/Transformation_API/MWE2_Integration

VIATRA-DSE component

  • New state coder. Previously VIATRA-DSE 0.7 had a slow and sometimes buggy state coder (which is needed for identifying recurring state in the search space) but at least worked for any problem domain. In 0.8 a new state coder is introduced which is much more simple and therefore faster but. It simply encodes 1) all the attribute values and 2) all the attribute values of the referenced EObjects of all the EObjects. The disadvantage of the new state coder is that it may fail in certain scenarios (e.g., if a rule can add "A"s, another can delete "A"s and a third one can make references between them). From 0.8 this is the default state coder. When used, the metamodel (EPackage) of the domain must be defined for the DSE framework. VIATRA/DSE/UserGuide/API#State_coding

VIATRA-CEP

  • Redesigned event pattern compiler
    • https://bugs.eclipse.org/bugs/show_bug.cgi?id=460537
    • The compiler responsible for mapping the user-defined complex event patterns and rules onto the execution model, have been redesigned. Previously implemented purely in Java, the current version is fully based on model-to-model transformations, powered by the VIATRA transformation engine.
  • Check expression support in atomic event patterns
  • Native support for processing events of the Notification API
    • https://bugs.eclipse.org/bugs/show_bug.cgi?id=463346
    • We modeled the EMF notification API via VEPL and packaged it into a small library. By importing org.eclipse.viatra.cep.emf.notification.model.*, the basic EMF operations become available in the current VEPL model.

Back to the top