Package org.eclipse.viatra.transformation.evm.api

## Class EventDrivenVM

- java.lang.Object
- - org.eclipse.viatra.transformation.evm.api.EventDrivenVM

-     public final class EventDrivenVM
      extends java.lang.Object

  Utility class for creating new rule engines and execution schemes. The static create methods use the provided parameters to set up the EVM and return a facade object for accessing it.

- - ### Method Summary

    All Methods Static Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `static ExecutionSchema` | `createExecutionSchema​(EventRealm eventRealm, Scheduler.ISchedulerFactory schedulerFactory, java.util.Set<RuleSpecification<?>> specifications)` | Creates a new execution schema that is initialized over the given EventRealm, creates an executor and rule base with the given rule specifications and prepares a scheduler using the provided factory.
    `static RuleEngine` | `createRuleEngine​(EventRealm eventRealm)` | Creates a new rule engine that is initialized over the given EventRealm and a rule base without rules.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Method Detail

    - #### createRuleEngine

          public static RuleEngine createRuleEngine​(EventRealm eventRealm)

      Creates a new rule engine that is initialized over the given EventRealm and a rule base without rules.
      Parameters:
        `eventRealm` -
      Returns:
        the prepared rule engine

    - #### createExecutionSchema

          public static ExecutionSchema createExecutionSchema​(EventRealm eventRealm,
                                                              Scheduler.ISchedulerFactory schedulerFactory,
                                                              java.util.Set<RuleSpecification<?>> specifications)

      Creates a new execution schema that is initialized over the given EventRealm, creates an executor and rule base with the given rule specifications and prepares a scheduler using the provided factory.
      Parameters:
        `eventRealm` -
        `schedulerFactory` -
        `specifications` -
      Returns:
        the prepared execution schema