org.eclipse.viatra.transformation.evm.api

## Class ExecutionSchema

- java.lang.Object
- - org.eclipse.viatra.transformation.evm.api.RuleEngine
  - - org.eclipse.viatra.transformation.evm.api.ExecutionSchema

-     public class ExecutionSchema
      extends RuleEngine

  An execution schema is a special rule engine and a facade for accessing the EVM. In addition to the RuleEngine, it uses a scheduler for firing activations.

- - ### Constructor Summary

    Constructors
    Modifier | Constructor and Description
    --- | ---
    `protected` | `ExecutionSchema(Scheduler scheduler)` Creates a facade for the EVM represented by the given scheduler

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `static ExecutionSchema` | `create(Scheduler scheduler)` Creates a facede for the EVM represented by the given scheduler.
    `void` | `dispose()` Disposes of the scheduler.
    `Context` | `getContext()`
    `protected Scheduler` | `getScheduler()`
    `void` | `startUnscheduledExecution()` Starts the executor without waiting for a scheduling event.

    - ### Methods inherited from class org.eclipse.viatra.transformation.evm.api.RuleEngine

      `addRule, addRule, containsRule, containsRule, create, createScopedConflictSet, createScopedConflictSet, createScopedConflictSet, getActivations, getActivations, getActivations, getActivations, getActivations, getActivations, getConflictingActivations, getEventRealm, getLogger, getNextActivation, getRuleBase, getRuleSpecificationMultimap, removeRule, removeRule, setConflictResolver`

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

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

- - ### Constructor Detail

    - #### ExecutionSchema

          protected ExecutionSchema(Scheduler scheduler)

      Creates a facade for the EVM represented by the given scheduler
      Parameters:
        `scheduler` -

  - ### Method Detail

    - #### create

          public static ExecutionSchema create(Scheduler scheduler)

      Creates a facede for the EVM represented by the given scheduler.
      Parameters:
        `scheduler` -
      Returns:
        the created facade

    - #### dispose

          public void dispose()

      Disposes of the scheduler.
      Overrides:
        `dispose` in class `RuleEngine`

    - #### getScheduler

          protected Scheduler getScheduler()

      Returns:
        the scheduler

    - #### getContext

          public Context getContext()

      Returns:
        the context of the executor

    - #### startUnscheduledExecution

          public void startUnscheduledExecution()

      Starts the executor without waiting for a scheduling event. Can be used for executing enabled activations of added rules without waiting for or otherwise forcing a scheduling event.