-
Notifications
You must be signed in to change notification settings - Fork 1
VIATRA CEP
######Tags: CEP EMF Kinect model transformations publication streaming transformations viatra VIATRA-CEP
###Introduction
Streaming model transformations represent a novel class of transformations dealing with models whose elements are continuously produced or modified by a background process. Executing streaming transformations requires efficient techniques to recognize the activated transformation rules on a potentially infinite input stream. Detecting a series of events triggered by compound structural changes is especially challenging for a high volume of rapid modifications, a characteristic of an emerging class of applications built on runtime models.
In this paper, we propose a novel approach for streaming model transformations by combining incremental model query techniques with complex event processing (CEP) and reactive (event-driven) transformations. The event stream is automatically populated from elementary model changes by the incremental query engine, and the CEP engine is used to identify complex event combinations, which are used to trigger the execution of transformation rules. We demonstrate our approach in the context of automated gesture recognition over live models populated by real-time Kinect sensor data.
###How to obtain the source code
The implementation consists of three main parts.
- The plug-in project org.eclipse.viatra.cep.core.metamodels contains the Ecore metamodels used for modeling complex event patterns and the underlying automaton-based formalism for detecting event patterns.
- The plug-in project org.eclipse.viatra.cep.core contains the actual complex event processing engine, including an API.
- Plug-in projects org.eclipse.viatra.cep.vepl and org.eclipse.viatra.cep.vepl.ui provide a textual domain-specific language (DSL) for modeling complex event patterns and the rules for executable actions.
For example codes see org.eclipse.viatra.cep.examples.core.
###Setting up the environment
Setting up the environment requires the following steps.
- Download the latest Eclipse Modeling package.
- Install the following plugins or import them into a running Eclipse instance:
- Import the above four CEP plugins.
- Run a new Eclipse application with a run configuration containing all these plugins.
###Case study source code
The source code for the case study is available over here as an Eclipse plug-in project. For running the example, follow the instructions here.