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.
VIATRA/Transformation/EVM Adapter Framework
< VIATRA | Transformation
Revision as of 16:20, 23 September 2015 by Lunk.peter.incquerylabs.com (Talk | contribs)
Contents
Motivation
The VIATRA transformation API adapter framework can be used to add user defined functionality to certain points of VIATRA based Event-driven transformations. This way useful auxiliary functionalities can be added without significantly altering the behavior of the original transformation.
High level architecture
Components
- Adapter Supporting Executor: EVM executor that contains a number of VIATRA transformation adapters. At various points during the execution of transformation rule activations, it calls the adapters' corresponding callback methods. These entry points are the following:
- Transformation initialized
- Transformation disposed
- Scheduling started
- Scheduling ended
- Activation execution started
- Activation execution ended
- Adapter Interface: contains callback method definitions for the above mentioned entry points.
- Adapter Configuration: A set of adapters which define a given functionality.
- Adapter Supporting Executor Factory: Enables the user to create adapter supporting executors, using a builder-based solution similar to the one used with VIATRA event driven transformations.
- Adapter Supporting Executor Builder: Enables the user to set the attributes of the adapter supporting executor being created (Typically adapters and adapter configurations).
Possible adapter implementations
- VIATRA Event driven transformation adapter
- Enables the definition of transformation breakpoints. If the rule activation being executed matches one of the breakpoints, the execution of the transformation will be halted.
- VIATRA Event driven transformation manual conflict resolver
- If there are conflicting rule activations, the user can manually decide which one should be executed first.
- VIATRA Event driven transformation profiler
- Measures the duration of the right hand side actions of rule activations. This way poorly designed, low performance transformation rules be can detected
- VIATRA Event driven transformation trace manager
- Creates traces of an event driven transformation, which can be analysed.
- These traces contain:
- Model objects matching the left hand side conditions of the given rule
- Model transformation rule
- Changes made to the model by the right hand side action of the transformation rule
Project location
- Git fork repository: https://github.com/lunkpeter/org.eclipse.viatra/tree/ADAPTER
- Gerrit: https://git.eclipse.org/r/#/c/56555/