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/CEP/Language"

< VIATRA‎ | CEP
(Setting up the environment)
(Language essentials)
Line 7: Line 7:
  
 
===Language essentials===
 
===Language essentials===
//TODO
+
This section is a comprehensive overview on the features of the VIATRA Event Processing Language (VEPL).
 +
 
 +
====Packages====
 +
 
 +
====Atomic events====
 +
'''AtomicEvent''' ''name'' '''('''''parameters''''')''' '''{'''''body'''''}'''
 +
*The name of the atomic event must be unique among the model.
 +
*The parameters are typed and use the JVM type hierarchy. An example parameter list could be <tt>'''('''name:String, id:'''int)'''</tt>. Parameters are evaluated at runtime. To see the main motivation behind this, see the ..link:complex events...
 +
*The body is currently not in used, but it will be soon: https://bugs.eclipse.org/bugs/show_bug.cgi?id=440748.
 +
 
 +
From this structure, two types of source code is generated: atomic events and atomic event patterns. The former ones are used by applications to be instantiated and forwarded to the engine; while the latter ones are actual patterns which can be reused in /link complex event pattern definitions or /link rules.
 +
 
 +
====Complex events====
 +
'''ComplexEvent''' ''name'' '''('''''parameters''''')''' '''{'''
 +
      '''definition:''' ''complex pattern definition''
 +
'''}'''
 +
 
 +
 
 +
====Rules====
 +
'''Rule''' ''name'' '''{'''
 +
      '''events:''' ''complex pattern definition''
 +
      '''action{'''
 +
          ''executable code block using XBase syntax''
 +
      '''}'''
 +
'''}'''
 +
 
 +
'''Rule''' ''name'' '''{'''
 +
      '''events:''' ''complex pattern definition''
 +
      '''actionHandler:''' ''reference to an action handler, i.e. a class implementing the IActionHandler interface''
 +
'''}'''
  
 
==Setting up the environment==
 
==Setting up the environment==

Revision as of 11:40, 11 January 2015

VIATRA-CEP User's guide

The following contents introduce the VIATRA-CEP complex event processing stack and its main features. Basic knowledge on complex event processing is advised, although not strictly required. Should this guide prove to be insufficient, please do not hesitate to ask your question on our mailing list.

Getting started

The VIATRA-CEP stack

//TODO

Language essentials

This section is a comprehensive overview on the features of the VIATRA Event Processing Language (VEPL).

Packages

Atomic events

AtomicEvent name (parameters) {body}
  • The name of the atomic event must be unique among the model.
  • The parameters are typed and use the JVM type hierarchy. An example parameter list could be (name:String, id:int). Parameters are evaluated at runtime. To see the main motivation behind this, see the ..link:complex events...
  • The body is currently not in used, but it will be soon: https://bugs.eclipse.org/bugs/show_bug.cgi?id=440748.

From this structure, two types of source code is generated: atomic events and atomic event patterns. The former ones are used by applications to be instantiated and forwarded to the engine; while the latter ones are actual patterns which can be reused in /link complex event pattern definitions or /link rules.

Complex events

ComplexEvent name (parameters) {
     definition: complex pattern definition
}


Rules

Rule name {
     events: complex pattern definition
     action{
          executable code block using XBase syntax
     }
}
Rule name {
     events: complex pattern definition
     actionHandler: reference to an action handler, i.e. a class implementing the IActionHandler interface
}

Setting up the environment

  1. Download the latest Eclipse Luna Modeling (currently SR1) package.
  2. Install the following plugins or import their source plug-ins into a running Eclipse instance:
    EMF-IncQuery 0.9.0 
    CI update site
    VIATRA 0.7.0 (required components are VIATRA2-EMF and VIATRA-CEP) 
    CI update site

Examples

You can find demonstrative examples here.

Important links

Back to the top