Interface IChainingReasoner

  • All Superinterfaces:
    IReasoner
    All Known Implementing Classes:
    AbstractChainedReasoner

    public interface IChainingReasoner
    extends IReasoner
    A specialized interface for reasoners, which, in principle, can be chained, i.e., composed to a chain of reasoners, passing along results and configurations. The last reasoner in a chain shall create the final reasoning result, potentially taking over results of the previous ones or complementing the reasoning by resolving problems that the previous reasoners cannot solve.
    Author:
    Holger Eichelberger
    • Method Detail

      • setState

        void setState​(Configuration config,
                      ReasoningResult result)
        Sets the state determined by the last reasoner. If not null, project and configuration passed in through the interface of IReasoner shall be ignored.
        Parameters:
        config - the configuration (may be null, shall be ignored then). config may be an internal result
        result - the last reasoning result (may be null, shall be ignored then, identifies beginning of chain). It is assumed that the constraints and variables mentioned in reasoning result fit to configuration
      • getLastConfiguration

        Configuration getLastConfiguration()
        Returns the last, potentially internal configuration. Shall be past into setState(Configuration, ReasoningResult) of the next reasoner. Shall clear the attribute holding the last config.
        Returns:
        the last, potentially internal configuration