Skip to main content
Jump to: navigation, search

Difference between revisions of "VIATRA/CEP"

(Developer's guide for setting up the environment)
(Important links)
 
(6 intermediate revisions by 2 users not shown)
Line 1: Line 1:
 +
{{VIATRA}}
 
= VIATRA Complex Event Processing framework (VIATRA-CEP) =
 
= VIATRA Complex Event Processing framework (VIATRA-CEP) =
  
Line 4: Line 5:
  
 
CEP plays an important role in the model-driven engineering (MDE) as a supporting technique in various scenarios. The VIATRA project delivers a state-of-the-art event processing framework for the MDE scene, called VIATRA-CEP. The main features of the framework:
 
CEP plays an important role in the model-driven engineering (MDE) as a supporting technique in various scenarios. The VIATRA project delivers a state-of-the-art event processing framework for the MDE scene, called VIATRA-CEP. The main features of the framework:
*'''A model-driven event processing engine'''. We not just designed the engine using model-driven techniques, but it actually employs an explicit runtime model to process events. The runtime model is captured via EMF and put into motion using the VIATRA-EMF model transformation framework and the EMF-IncQuery incremental graph pattern search engine.
+
*'''A model-driven event processing engine'''. We not just designed the engine using model-driven techniques, but it actually employs an explicit runtime model to process events. The runtime model is captured via EMF and put into motion using the VIATRA model transformation framework and the VIATRA Incremental Query (formerly: EMF-IncQuery) graph pattern matcher engine.
 
*'''A textual domain-specific language for modeling event patterns and executable actions.''' The VIATRA Event Processing Language (VEPL) is based on our event algebra and relies on formal techniques like temporal logic and automaton theory. The user, however, is not expected to reason about event patterns on this level, thanks to the Xtext-based implementation of the DSL and the user-friendly editor the framework comes with.
 
*'''A textual domain-specific language for modeling event patterns and executable actions.''' The VIATRA Event Processing Language (VEPL) is based on our event algebra and relies on formal techniques like temporal logic and automaton theory. The user, however, is not expected to reason about event patterns on this level, thanks to the Xtext-based implementation of the DSL and the user-friendly editor the framework comes with.
 
*'''An integrated modeling environment.''' It comprises an editor for VEPL models (featuring syntax highlighting, on-the-fly validation, intelligent content-assist and automated generation of high-quality Java code); as well as wizards for enabling a more efficient workflow.
 
*'''An integrated modeling environment.''' It comprises an editor for VEPL models (featuring syntax highlighting, on-the-fly validation, intelligent content-assist and automated generation of high-quality Java code); as well as wizards for enabling a more efficient workflow.
*<b id=cep-with-iq>Tight integration with the EMF-IncQuery engine.</b> This enables processing change events in EMF models, facilitating MDE techniques like [http://link.springer.com/chapter/10.1007%2F978-3-319-11653-2_5 streaming model transformations] and [http://link.springer.com/chapter/10.1007/978-3-642-21470-7_7 operation-based model representation and reasoning].
+
*<b id=cep-with-iq>Tight integration with the VIATRA Incremental Query engine.</b> This enables processing change events in EMF models, facilitating MDE techniques like [http://link.springer.com/chapter/10.1007%2F978-3-319-11653-2_5 streaming model transformations] and [http://link.springer.com/chapter/10.1007/978-3-642-21470-7_7 operation-based model representation and reasoning].
  
 
==Versions==
 
==Versions==
Line 13: Line 14:
 
**0.7 - Initial release
 
**0.7 - Initial release
 
**0.8 - [[VIATRA/Releases/NewAndNoteWorthy0.8 | Release notes]]
 
**0.8 - [[VIATRA/Releases/NewAndNoteWorthy0.8 | Release notes]]
*Current development version (available from [https://hudson.eclipse.org/viatra/job/viatra-master/lastSuccessfulBuild/artifact/releng/org.eclipse.viatra.update/target/repository/ CI] and [http://git.eclipse.org/c/viatra/org.eclipse.viatra.git the Git repository]): 0.9
+
*Current development version (available from [https://hudson.eclipse.org/viatra/job/viatra-master/lastSuccessfulBuild/artifact/releng/org.eclipse.viatra.update/target/repository/ CI] and [http://git.eclipse.org/c/viatra/org.eclipse.viatra.git the Git repository]): 0.13
  
 
==Installation==
 
==Installation==
Line 21: Line 22:
 
====Alternative #2: Install the latest CI version====
 
====Alternative #2: Install the latest CI version====
  
#Download the latest [https://eclipse.org/downloads/packages/eclipse-modeling-tools/lunasr2 Eclipse Luna Modeling] package.
+
#Download the latest [https://www.eclipse.org/downloads/packages Eclipse Modeling] package.
#Install the following plugins or import their source plug-ins into a running Eclipse instance:
+
#Install the [https://hudson.eclipse.org/viatra/job/viatra-master/lastSuccessfulBuild/artifact/releng/org.eclipse.viatra.update/target/repository/ VIATRA 1.3.0] plugins or import their [http://git.eclipse.org/c/viatra/org.eclipse.viatra.git sources] into a running Eclipse instance
#; EMF-IncQuery 1.1.0 : [http://download.eclipse.org/incquery/updates/integration CI update site]
+
#; VIATRA 0.9.0 : [https://hudson.eclipse.org/viatra/job/viatra-master/lastSuccessfulBuild/artifact/releng/org.eclipse.viatra.update/target/repository/ CI update site]
+
  
 
==User's manual==
 
==User's manual==
Line 31: Line 30:
 
**[[VIATRA/CEP/Language/0.7|Release 0.7]]
 
**[[VIATRA/CEP/Language/0.7|Release 0.7]]
 
**[[VIATRA/CEP/Language/0.8|Release 0.8]]
 
**[[VIATRA/CEP/Language/0.8|Release 0.8]]
**[[VIATRA/CEP/Language|0.9 (CI)]]
+
**[[VIATRA/CEP/Language|0.13 (CI)]]
 
*[[VIATRA/CEP/Examples|Examples]]
 
*[[VIATRA/CEP/Examples|Examples]]
  
 
==Developer's guide for setting up the environment==
 
==Developer's guide for setting up the environment==
#Download the latest [https://eclipse.org/downloads/packages/eclipse-modeling-tools/lunasr2 Eclipse Luna Modeling] package.
+
Please consult the general VIATRA DevEnv [https://wiki.eclipse.org/VIATRA/DeveloperDocumentation/DevEnvironment setup guide].
#Install Xtext 2.9.x : [http://download.eclipse.org/modeling/tmf/xtext/updates/composite/releases/ Release update site]
+
#Install or import EMF-IncQuery 1.2.0 source plug-ins
+
##Install from the [http://download.eclipse.org/incquery/updates/integration CI update site], or
+
##Import from the [http://git.eclipse.org/c/incquery/org.eclipse.incquery.git Git repository]
+
#Import the VIATRA source plug-ins from the [http://git.eclipse.org/c/viatra/org.eclipse.viatra.git Git repository]
+
#Generate the metamodels for the CEP module by running the <code>src/org.eclipse.viatra.cep.core.metamodels.generator/GenerateMetamodels.mwe2</code> workflow in the <code>org.eclipse.viatra.cep.core.metamodels</code> plugin.
+
#Generate the DSL by running the <code>src/org.eclipse.viatra.cep.vepl/GenerateVepl.mwe2</code> workflow in the <code>org.eclipse.viatra.cep.vepl</code> plugin.
+
#Clean and build the projects.
+
  
 
==Important links==
 
==Important links==
Line 50: Line 41:
 
**Found a bug? Submit it [https://bugs.eclipse.org/bugs/enter_bug.cgi?product=Viatra here]!
 
**Found a bug? Submit it [https://bugs.eclipse.org/bugs/enter_bug.cgi?product=Viatra here]!
 
*Read our related papers
 
*Read our related papers
**On [http://link.springer.com/chapter/10.1007%2F978-3-319-11653-2_5 streaming model transformations] @MoDELS2014 (available for download from [http://msdl.cs.mcgill.ca/people/istvan/pub/viatra-cep-models2014.pdf here])
+
**On [http://link.springer.com/chapter/10.1007%2F978-3-319-11653-2_5 streaming model transformations] @MoDELS2014
**On [http://link.springer.com/chapter/10.1007/978-3-319-21155-8_8 the new VIATRA platform in general] @ICMT2015 (available for download from [http://msdl.cs.mcgill.ca/people/istvan/pub/viatra3-icmt2015 here])
+
**On [http://link.springer.com/article/10.1007%2Fs10270-016-0533-1 streaming model transformations with more details on the semantics] @SoSyM
 +
**On [http://link.springer.com/chapter/10.1007/978-3-319-21155-8_8 the new VIATRA platform in general] @ICMT2015
 +
*Known uses
 +
**[https://www.youtube.com/watch?v=I6XwXy65KPE TeqBox]

Latest revision as of 11:02, 14 June 2016

VIATRA Complex Event Processing framework (VIATRA-CEP)

Complex event processing (CEP) aims to predict high-level events likely to result from specific sets of low-level factors. CEP identifies and analyzes cause-and-effect relationships among events in real time, allowing personnel to proactively take effective actions in response to specific scenarios. [source]

CEP plays an important role in the model-driven engineering (MDE) as a supporting technique in various scenarios. The VIATRA project delivers a state-of-the-art event processing framework for the MDE scene, called VIATRA-CEP. The main features of the framework:

  • A model-driven event processing engine. We not just designed the engine using model-driven techniques, but it actually employs an explicit runtime model to process events. The runtime model is captured via EMF and put into motion using the VIATRA model transformation framework and the VIATRA Incremental Query (formerly: EMF-IncQuery) graph pattern matcher engine.
  • A textual domain-specific language for modeling event patterns and executable actions. The VIATRA Event Processing Language (VEPL) is based on our event algebra and relies on formal techniques like temporal logic and automaton theory. The user, however, is not expected to reason about event patterns on this level, thanks to the Xtext-based implementation of the DSL and the user-friendly editor the framework comes with.
  • An integrated modeling environment. It comprises an editor for VEPL models (featuring syntax highlighting, on-the-fly validation, intelligent content-assist and automated generation of high-quality Java code); as well as wizards for enabling a more efficient workflow.
  • Tight integration with the VIATRA Incremental Query engine. This enables processing change events in EMF models, facilitating MDE techniques like streaming model transformations and operation-based model representation and reasoning.

Versions

Installation

Alternative #1: Install the latest release

You can do that directly from the Eclipse Marketplace: https://marketplace.eclipse.org/content/viatra

Alternative #2: Install the latest CI version

  1. Download the latest Eclipse Modeling package.
  2. Install the VIATRA 1.3.0 plugins or import their sources into a running Eclipse instance

User's manual

Developer's guide for setting up the environment

Please consult the general VIATRA DevEnv setup guide.

Important links

Back to the top