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

VIATRA2/Live Transformations/HelloWorld

Outdated page

This page contains obsolete information about the VPM based VIATRA2 and preserved for archive purposes only.
The currently maintained wiki is available at http://wiki.eclipse.org/VIATRA


The following "hello world" trigger is actually the simplest trigger one can write. If we start this trigger, then the action sequence will be executed after each entity creation in the model space.

machine HelloTriggerWorld
{
  @Trigger(priority='100', mode='always', sensitivity='rise', startup='passive', execution='iterate')
  gtrule testTrigger(inout E) =
  {
    // This pattern triggers the action sequence.
    precondition pattern lhs(E)=
    {
      entity(E);
    }
 
    // The action sequence.
    action
    {
      println( "Trigger Action triggered by: " + E );
    }
  } 
 
  //Main rule, the startTrigger() method invokes the engine.
  rule main() =
    seq
    {
      println ( startTrigger("testTrigger") );
    }
}

Back to the top