Interface ExecEnv

All Superinterfaces:
org.eclipse.emf.ecore.EObject, org.eclipse.emf.common.notify.Notifier
All Known Implementing Classes:
ExecEnvImpl

public interface ExecEnv extends org.eclipse.emf.ecore.EObject
A representation of the model object 'Exec Env'.
See Also:
  • Method Details

    • getModules

      Map<String,Module> getModules()
      Returns the value of the 'Modules' attribute.

      If the meaning of the 'Modules' reference list isn't clear, there really should be more of a description here...

      Returns:
      the value of the 'Modules' attribute.
      See Also:
    • getMatches

      TraceLinkSet getMatches()
      Returns the value of the 'Matches' reference.

      If the meaning of the 'Matches' reference isn't clear, there really should be more of a description here...

      Returns:
      the value of the 'Matches' reference.
      See Also:
    • getTraces

      TraceLinkSet getTraces()
      Returns the value of the 'Traces' reference.

      If the meaning of the 'Traces' reference isn't clear, there really should be more of a description here...

      Returns:
      the value of the 'Traces' reference.
      See Also:
    • getUniqueResults

      Map<TraceLink,Object> getUniqueResults()
      Returns the value of the 'Unique Results' attribute.

      If the meaning of the 'Unique Results' attribute isn't clear, there really should be more of a description here...

      Returns:
      the value of the 'Unique Results' attribute.
      See Also:
    • isJitDisabled

      boolean isJitDisabled()
      Returns the value of the 'Jit Disabled' attribute.

      If the meaning of the 'Jit Disabled' attribute isn't clear, there really should be more of a description here...

      Returns:
      the value of the 'Jit Disabled' attribute.
      See Also:
    • setJitDisabled

      void setJitDisabled(boolean value)
      Sets the value of the 'Jit Disabled' attribute.
      Parameters:
      value - the new value of the 'Jit Disabled' attribute.
      See Also:
    • getCurrentPhase

      RuleMode getCurrentPhase()
      Returns the value of the 'Current Phase' attribute. The default value is "manual". The literals are from the enumeration RuleMode.

      If the meaning of the 'Current Phase' attribute isn't clear, there really should be more of a description here...

      Returns:
      the value of the 'Current Phase' attribute.
      See Also:
    • getMonitor

      VMMonitor getMonitor()

      Returns the VMMonitor for the currently running VM instance.

      Returns:
      the VMMonitor for the currently running VM instance.
      See Also:
    • setMonitor

      void setMonitor(VMMonitor monitor)
    • registerMetaModel

      void registerMetaModel(String name, Metamodel metamodel)
      Registers metamodel under name.
      Parameters:
      name - the name under which to register
      metamodel - the metamodel to register
    • registerInputModel

      void registerInputModel(String name, Model model)
      Registers model as an input model under name.
      Parameters:
      name - the name under which to register
      model - the model to register
    • registerInOutModel

      void registerInOutModel(String name, Model model)
      Registers model as an in/out model under name.
      Parameters:
      name - the name under which to register
      model - the model to register
    • registerOutputModel

      void registerOutputModel(String name, Model model)
      Registers model as an output model under name.
      Parameters:
      name - the name under which to register
      model - the model to register
    • clearModels

      void clearModels()
      Removes all registered input, in/out, and output models from this ExecEnv.
    • getMetaModel

      Metamodel getMetaModel(org.eclipse.emf.ecore.resource.Resource resource)
      Returns the Metamodel for the given resource, or null.
      Parameters:
      resource - the EMF Resource of the Metamodel
      Returns:
      the Metamodel
    • queueForSet

      void queueForSet(org.eclipse.emf.ecore.EStructuralFeature feature, org.eclipse.emf.ecore.EObject object, Object value, StackFrame frame)
      Queues the given object and value for setting the given feature.
      Parameters:
      feature - the feature to set
      object - the object for which to set the feature
      value - the feature value to set
      frame - the stack frame context in which to set the feature value
    • queueForSet

      void queueForSet(Field field, Object object, Object value, StackFrame frame)
      Queues the given object and value for setting the given field.
      Parameters:
      field - the field to set
      object - the object for which to set the field
      value - the field value to set
      frame - the stack frame context in which to set the field value
    • queueXmiIDForSet

      void queueXmiIDForSet(org.eclipse.emf.ecore.EObject object, Object value, StackFrame frame)
      Queues the given object and value for setting the XMI ID.
      Parameters:
      object - the object for which to set the field
      value - the field value to set
      frame - the stack frame context in which to set the field value
    • queueForAdd

      void queueForAdd(org.eclipse.emf.ecore.EStructuralFeature feature, org.eclipse.emf.ecore.EObject object, Object value, int index, StackFrame frame)
      Queues the given object and value for adding a value to the given feature.
      Parameters:
      feature - the feature to add to
      object - the object for which to add to the feature
      value - the feature value to add
      index - the index at which to add, or -1
      frame - the stack frame context in which to add to the feature value
    • queueForAdd

      void queueForAdd(Field field, Object object, Object value, int index, StackFrame frame)
      Queues the given object and value for adding a value to the given feature.
      Parameters:
      field - the field to add to
      object - the object for which to add to the field
      value - the field value to add
      index - the index at which to add, or -1
      frame - the stack frame context in which to add to the field value
    • queueXmiIDForAdd

      void queueXmiIDForAdd(org.eclipse.emf.ecore.EObject object, Object value, int index, StackFrame frame)
      Queues the given object and value for adding to the XMI ID.
      Parameters:
      object - the object for which to add to the field
      value - the field value to add
      index - the index at which to add, or -1
      frame - the stack frame context in which to add to the field value
    • queueForRemove

      void queueForRemove(org.eclipse.emf.ecore.EStructuralFeature feature, org.eclipse.emf.ecore.EObject object, Object value, StackFrame frame)
      Queues the given object and value for removing a value from the given feature.
      Parameters:
      feature - the feature to remove from
      object - the object for which to remove from the feature
      value - the feature value to remove
      frame - the stack frame context in which to remove from the feature value
    • queueForRemove

      void queueForRemove(Field field, Object object, Object value, StackFrame frame)
      Queues the given object and value for removing a value from the given feature.
      Parameters:
      field - the field to remove from
      object - the object for which to remove from the field
      value - the field value to remove
      frame - the stack frame context in which to remove from the field value
    • queueXmiIDForRemove

      void queueXmiIDForRemove(org.eclipse.emf.ecore.EObject object, Object value, StackFrame frame)
      Queues the given object and value for removing from the XMI ID.
      Parameters:
      object - the object for which to remove from the field
      value - the field value to remove
      frame - the stack frame context in which to remove from the field value
    • setQueue

      void setQueue()
      Processes all elements in the "set" queue. Sets all queued features and fields, and clears the queue.
    • queueForRemap

      void queueForRemap(org.eclipse.emf.ecore.EObject source, org.eclipse.emf.ecore.EObject target, StackFrame frame)
      Queues the given source and target value for remapping.
      Parameters:
      source - the source value to remap
      target - the target value to map to
      frame - the stack frame context in which to remap
    • remapQueue

      void remapQueue()
      Processes all element in the "remap" queue. Remaps all queued source/target value pairs, and clears the queue.
    • getMetaModels

      Map<String,Metamodel> getMetaModels()
      Returns the value of the 'Meta Models' attribute. The default value is "".

      If the meaning of the 'Meta Models' attribute isn't clear, there really should be more of a description here...

      Returns:
      the value of the 'Meta Models' attribute.
      See Also:
    • getInputModels

      Map<String,Model> getInputModels()
      Returns the value of the 'Input Models' attribute. The default value is "".

      If the meaning of the 'Input Models' attribute isn't clear, there really should be more of a description here...

      Returns:
      the value of the 'Input Models' attribute.
      See Also:
    • getInoutModels

      Map<String,Model> getInoutModels()
      Returns the value of the 'Inout Models' attribute. The default value is "".

      If the meaning of the 'Inout Models' attribute isn't clear, there really should be more of a description here...

      Returns:
      the value of the 'Inout Models' attribute.
      See Also:
    • getOutputModels

      Map<String,Model> getOutputModels()
      Returns the value of the 'Output Models' attribute. The default value is "".

      If the meaning of the 'Output Models' attribute isn't clear, there really should be more of a description here...

      Returns:
      the value of the 'Output Models' attribute.
      See Also:
    • loadModule

      Module loadModule(ModuleResolver resolver, String name)
      Loads the module with the given name and its imports closure into this ExecEnv using the resolver, and registers its contents for execution.
      Parameters:
      resolver - the module file resolver
      name - the module name
      Returns:
      the loaded module
    • loadModule

      Module loadModule(ModuleResolver resolver, String name, boolean validate)
      Loads the module with the given name and its imports closure into this ExecEnv using the resolver, and registers its contents for execution.
      Parameters:
      resolver - the module file resolver
      name - the module name
      validate - if true, validates the loaded bytecode
      Returns:
      the loaded module
    • findOperation

      Operation findOperation(Object context, String name, Object[] parameterTypes)
      Finds an Operation registered within this ExecEnv.
      Parameters:
      context - the context type of the operation
      name - the operation name
      parameterTypes - the parameter types of the operation
      Returns:
      the Operation with the given properties, or null if none registered
    • findOperation

      Operation findOperation(Object context, String name)
      Finds an Operation registered within this ExecEnv.
      Parameters:
      context - the context type of the operation
      name - the operation name
      Returns:
      the Operation with the given properties, or null if none registered
    • findOperation

      Operation findOperation(Object context, String name, Object parameterType)
      Finds an Operation registered within this ExecEnv.
      Parameters:
      context - the context type of the operation
      name - the operation name
      parameterType - the parameter type of the operation
      Returns:
      the Operation with the given properties, or null if none registered
    • hasOperation

      boolean hasOperation(String name, int argcount)
      Returns true iff this execution environment has any registered operations with the given name and argcount.
      Parameters:
      name - the operation name
      argcount - the number of operation arguments (excluding self)
      Returns:
      true iff this execution environment has any registered operations with the given name and argcount
    • findStaticOperation

      Operation findStaticOperation(Object context, String name, Object[] parameterTypes)
      Finds a static Operation registered within this ExecEnv.
      Parameters:
      context - the context type of the operation
      name - the operation name
      parameterTypes - the parameter types of the operation
      Returns:
      the static Operation with the given properties, or null if none registered
    • findStaticOperation

      Operation findStaticOperation(Object context, String name)
      Finds a static Operation registered within this ExecEnv.
      Parameters:
      context - the context type of the operation
      name - the operation name
      Returns:
      the static Operation with the given properties, or null if none registered
    • findStaticOperation

      Operation findStaticOperation(Object context, String name, Object parameterType)
      Finds a static Operation registered within this ExecEnv.
      Parameters:
      context - the context type of the operation
      name - the operation name
      parameterType - the parameter type of the operation
      Returns:
      the static Operation with the given properties, or null if none registered
    • hasStaticOperation

      boolean hasStaticOperation(String name, int argcount)
      Returns true iff this execution environment has any registered static operations with the given name and argcount.
      Parameters:
      name - the operation name
      argcount - the number of operation arguments
      Returns:
      true iff this execution environment has any registered static operations with the given name and argcount
    • findField

      Field findField(Object context, String name)
      Finds a Field registered within this ExecEnv.
      Parameters:
      context - the context type of the field
      name - the operation name
      Returns:
      the Field with the given properties, or null if none registered
    • hasField

      boolean hasField(String name)
      Returns true iff this execution environment has any registered fields with the given name.
      Parameters:
      name - the field name
      Returns:
      true iff this execution environment has any registered fields with the given name
    • findStaticField

      Field findStaticField(Object context, String name)
      Finds a static Field registered within this ExecEnv.
      Parameters:
      context - the context type of the field
      name - the operation name
      Returns:
      the static Field with the given properties, or null if none registered
    • hasStaticField

      boolean hasStaticField(String name)
      Returns true iff this execution environment has any registered static fields with the given name.
      Parameters:
      name - the field name
      Returns:
      true iff this execution environment has any registered static fields with the given name
    • findRule

      Rule findRule(String name)
      Finds a Rule registered within this ExecEnv.
      Parameters:
      name - the rule name
      Returns:
      the Rule with the given name, or null if none registered
    • findType

      Object findType(String modelName, String typeName) throws ClassNotFoundException
      Finds the type for the given (meta-)modelName and typeName.
      Parameters:
      modelName - the name under which the metamodel that contains the type is registered
      typeName - the type/metaclass name (may be fully qualified using '::')
      Returns:
      the type/metaclass
      Throws:
      ClassNotFoundException - if the type is not found
    • run

      Object run(TimingData timingData)
      Executes the loaded modules and returns the execution result.
      Parameters:
      timingData - the timing data object, or null
      Returns:
      the execution result of the last loaded module's main operation
    • getRules

      LazyList<Rule> getRules()
      Returns all rules registered in this ExecEnv.
      Returns:
      all rules registered in this ExecEnv.
    • getModelOf

      Model getModelOf(org.eclipse.emf.ecore.EObject object)
      Returns the Model that is registered in this ExecEnv, and that contains object.
      Parameters:
      object - the object for which to look up the containing model
      Returns:
      the Model that contains object, or null if not found.
    • getModelID

      String getModelID(Model model)
      Returns the ID under which model is registered within this ExecEnv.
      Parameters:
      model - the registered Model to retrieve the ID for
      Returns:
      the ID under which model is registered within this ExecEnv.
    • getMetaModelID

      String getMetaModelID(Metamodel metamodel)
      Returns the ID under which metamodel is registered within this ExecEnv.
      Parameters:
      metamodel - the registered Metamodel to retrieve the ID for
      Returns:
      the ID under which metamodel is registered within this ExecEnv.
    • queueForDelete

      void queueForDelete(org.eclipse.emf.ecore.EObject element, StackFrame frame)
      Queues element for deletion.
      Parameters:
      element - the element to delete
      frame - the stack frame context in which to perform the deletion
    • deleteQueue

      void deleteQueue()
      Deletes all elements in the deletion queue.
    • getInputModelOf

      Model getInputModelOf(org.eclipse.emf.ecore.EObject object)
      Returns the input Model that is registered in this ExecEnv, and that contains object.
      Parameters:
      object - the object for which to look up the containing model
      Returns:
      the input Model that contains object, or null if not found.
    • getInoutModelOf

      Model getInoutModelOf(org.eclipse.emf.ecore.EObject object)
      Returns the in/out Model that is registered in this ExecEnv, and that contains object.
      Parameters:
      object - the object for which to look up the containing model
      Returns:
      the in/out Model that contains object, or null if not found.
    • getOutputModelOf

      Model getOutputModelOf(org.eclipse.emf.ecore.EObject object)
      Returns the output Model that is registered in this ExecEnv, and that contains object.
      Parameters:
      object - the object for which to look up the containing model
      Returns:
      the output Model that contains object, or null if not found.
    • getJITCompiler

      CodeBlockJIT getJITCompiler()
      Returns the JIT compiler instance for this execution environment.
      Returns:
      the JIT compiler instance