Class Reasoner

java.lang.Object
net.ssehub.easy.reasoning.sseReasoner.Reasoner
All Implemented Interfaces:
net.ssehub.easy.reasoning.core.reasoner.IReasoner

public class Reasoner extends Object implements net.ssehub.easy.reasoning.core.reasoner.IReasoner
This class is the EASy Producer Reasoner implementation for reasoning over IVML projects and configurations.
Author:
El-Sharkawy, Sizonenko
  • Nested Class Summary

    Nested Classes
    Modifier and Type
    Class
    Description
    private class 
    A reusable reasoner instance.
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    private static final Descriptor
     
    private net.ssehub.easy.reasoning.core.reasoner.IReasonerInterceptor
     
    private static final net.ssehub.easy.basics.logger.EASyLoggerFactory.EASyLogger
     
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    protected void
    activate(org.osgi.service.component.ComponentContext context)
    Private method to activate plugin.
    net.ssehub.easy.reasoning.core.reasoner.ReasoningResult
    check(net.ssehub.easy.varModel.confModel.Configuration cfg, net.ssehub.easy.reasoning.core.reasoner.ReasonerConfiguration reasonerConfig, net.ssehub.easy.basics.progress.ProgressObserver observer)
     
    private net.ssehub.easy.varModel.confModel.Configuration
    createConfiguration(net.ssehub.easy.varModel.model.Project project, net.ssehub.easy.varModel.confModel.Configuration cfg, net.ssehub.easy.reasoning.core.reasoner.ReasonerConfiguration rConfig, boolean freshConfig)
    Method for creating a clean Configuration if required.
    net.ssehub.easy.reasoning.core.frontend.IReasonerInstance
    createInstance(net.ssehub.easy.varModel.confModel.Configuration cfg, net.ssehub.easy.reasoning.core.reasoner.ReasonerConfiguration reasonerConfiguration)
     
    net.ssehub.easy.reasoning.core.reasoner.ValueCreationResult
    createValue(net.ssehub.easy.varModel.confModel.Configuration cfg, net.ssehub.easy.varModel.model.AbstractVariable var, net.ssehub.easy.varModel.model.datatypes.IDatatype type, net.ssehub.easy.reasoning.core.reasoner.ReasonerConfiguration reasonerConfiguration, net.ssehub.easy.basics.progress.ProgressObserver observer)
     
    protected void
    deactivate(org.osgi.service.component.ComponentContext context)
    Private method to to de-activate plugin.
    net.ssehub.easy.reasoning.core.reasoner.EvaluationResult
    evaluate(net.ssehub.easy.varModel.confModel.Configuration cfg, List<net.ssehub.easy.varModel.model.Constraint> constraints, net.ssehub.easy.reasoning.core.reasoner.ReasonerConfiguration reasonerConfig, net.ssehub.easy.basics.progress.ProgressObserver observer)
     
    net.ssehub.easy.reasoning.core.reasoner.ReasonerDescriptor
     
    net.ssehub.easy.reasoning.core.reasoner.ReasoningResult
    initialize(net.ssehub.easy.varModel.confModel.Configuration cfg, net.ssehub.easy.reasoning.core.reasoner.ReasonerConfiguration reasonerConfig, net.ssehub.easy.basics.progress.ProgressObserver observer)
     
    net.ssehub.easy.reasoning.core.reasoner.ReasoningResult
    isConsistent(net.ssehub.easy.varModel.model.Project project, net.ssehub.easy.reasoning.core.reasoner.ReasonerConfiguration reasonerConfig, net.ssehub.easy.basics.progress.ProgressObserver observer)
     
    void
    notify(net.ssehub.easy.reasoning.core.reasoner.IReasonerMessage message)
     
    net.ssehub.easy.reasoning.core.reasoner.ReasoningResult
    propagate(net.ssehub.easy.varModel.confModel.Configuration cfg, net.ssehub.easy.reasoning.core.reasoner.ReasonerConfiguration reasonerConfig, net.ssehub.easy.basics.progress.ProgressObserver observer)
     
    void
    setInterceptor(net.ssehub.easy.reasoning.core.reasoner.IReasonerInterceptor interceptor)
     
    net.ssehub.easy.reasoning.core.reasoner.ReasoningResult
    upgrade(URI url, net.ssehub.easy.basics.progress.ProgressObserver observer)
     

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • LOGGER

      private static final net.ssehub.easy.basics.logger.EASyLoggerFactory.EASyLogger LOGGER
    • DESCRIPTOR

      private static final Descriptor DESCRIPTOR
    • interceptor

      private net.ssehub.easy.reasoning.core.reasoner.IReasonerInterceptor interceptor
  • Constructor Details

    • Reasoner

      public Reasoner()
  • Method Details

    • getDescriptor

      public net.ssehub.easy.reasoning.core.reasoner.ReasonerDescriptor getDescriptor()
      Specified by:
      getDescriptor in interface net.ssehub.easy.reasoning.core.reasoner.IReasoner
    • upgrade

      public net.ssehub.easy.reasoning.core.reasoner.ReasoningResult upgrade(URI url, net.ssehub.easy.basics.progress.ProgressObserver observer)
      Specified by:
      upgrade in interface net.ssehub.easy.reasoning.core.reasoner.IReasoner
    • isConsistent

      public net.ssehub.easy.reasoning.core.reasoner.ReasoningResult isConsistent(net.ssehub.easy.varModel.model.Project project, net.ssehub.easy.reasoning.core.reasoner.ReasonerConfiguration reasonerConfig, net.ssehub.easy.basics.progress.ProgressObserver observer)
      Specified by:
      isConsistent in interface net.ssehub.easy.reasoning.core.reasoner.IReasoner
    • check

      public net.ssehub.easy.reasoning.core.reasoner.ReasoningResult check(net.ssehub.easy.varModel.confModel.Configuration cfg, net.ssehub.easy.reasoning.core.reasoner.ReasonerConfiguration reasonerConfig, net.ssehub.easy.basics.progress.ProgressObserver observer)
      Specified by:
      check in interface net.ssehub.easy.reasoning.core.reasoner.IReasoner
    • propagate

      public net.ssehub.easy.reasoning.core.reasoner.ReasoningResult propagate(net.ssehub.easy.varModel.confModel.Configuration cfg, net.ssehub.easy.reasoning.core.reasoner.ReasonerConfiguration reasonerConfig, net.ssehub.easy.basics.progress.ProgressObserver observer)
      Specified by:
      propagate in interface net.ssehub.easy.reasoning.core.reasoner.IReasoner
    • initialize

      public net.ssehub.easy.reasoning.core.reasoner.ReasoningResult initialize(net.ssehub.easy.varModel.confModel.Configuration cfg, net.ssehub.easy.reasoning.core.reasoner.ReasonerConfiguration reasonerConfig, net.ssehub.easy.basics.progress.ProgressObserver observer)
      Specified by:
      initialize in interface net.ssehub.easy.reasoning.core.reasoner.IReasoner
    • evaluate

      public net.ssehub.easy.reasoning.core.reasoner.EvaluationResult evaluate(net.ssehub.easy.varModel.confModel.Configuration cfg, List<net.ssehub.easy.varModel.model.Constraint> constraints, net.ssehub.easy.reasoning.core.reasoner.ReasonerConfiguration reasonerConfig, net.ssehub.easy.basics.progress.ProgressObserver observer)
      Specified by:
      evaluate in interface net.ssehub.easy.reasoning.core.reasoner.IReasoner
    • activate

      protected void activate(org.osgi.service.component.ComponentContext context)
      Private method to activate plugin.
      Parameters:
      context - Context.
    • deactivate

      protected void deactivate(org.osgi.service.component.ComponentContext context)
      Private method to to de-activate plugin.
      Parameters:
      context - Context.
    • notify

      public void notify(net.ssehub.easy.reasoning.core.reasoner.IReasonerMessage message)
      Specified by:
      notify in interface net.ssehub.easy.reasoning.core.reasoner.IReasoner
    • createConfiguration

      private net.ssehub.easy.varModel.confModel.Configuration createConfiguration(net.ssehub.easy.varModel.model.Project project, net.ssehub.easy.varModel.confModel.Configuration cfg, net.ssehub.easy.reasoning.core.reasoner.ReasonerConfiguration rConfig, boolean freshConfig)
      Method for creating a clean Configuration if required.
      Parameters:
      project - Project for Configuration
      cfg - the initial configuration
      rConfig - the reasoner configuration
      freshConfig - use a fresh (new) configuration (true) instance or operate on cfg (false)
      Returns:
      Created Configuration
    • createInstance

      public net.ssehub.easy.reasoning.core.frontend.IReasonerInstance createInstance(net.ssehub.easy.varModel.confModel.Configuration cfg, net.ssehub.easy.reasoning.core.reasoner.ReasonerConfiguration reasonerConfiguration)
      Specified by:
      createInstance in interface net.ssehub.easy.reasoning.core.reasoner.IReasoner
    • setInterceptor

      public void setInterceptor(net.ssehub.easy.reasoning.core.reasoner.IReasonerInterceptor interceptor)
      Specified by:
      setInterceptor in interface net.ssehub.easy.reasoning.core.reasoner.IReasoner
    • createValue

      public net.ssehub.easy.reasoning.core.reasoner.ValueCreationResult createValue(net.ssehub.easy.varModel.confModel.Configuration cfg, net.ssehub.easy.varModel.model.AbstractVariable var, net.ssehub.easy.varModel.model.datatypes.IDatatype type, net.ssehub.easy.reasoning.core.reasoner.ReasonerConfiguration reasonerConfiguration, net.ssehub.easy.basics.progress.ProgressObserver observer)
      Specified by:
      createValue in interface net.ssehub.easy.reasoning.core.reasoner.IReasoner