Interface ReasonerAdapter.IReasonerAdapter

    • Method Detail

      • isConsistent

        ReasoningResult isConsistent​(Configuration cfg,
                                     ReasonerConfiguration reasonerConfiguration,
                                     ProgressObserver observer)
        Checks whether a given variability model (project) is satisfiable.
        Parameters:
        cfg - The configuration to reason on.
        observer - an optional progress observer, shall be ProgressObserver.NO_OBSERVER if unused
        reasonerConfiguration - the reasoner configuration to be used for reasoning (e.g. taken from the UI, may be null)
        Returns:
        The result of this reasoning step. Can have the status Status.UNSUPPORTED if the concrete reasoner does not support this operation.
      • check

        ReasoningResult check​(Configuration cfg,
                              ReasonerConfiguration reasonerConfiguration,
                              ProgressObserver observer)
        Checks the configuration according to the given project structure and does not affect the configuration.
        Parameters:
        cfg - The configuration to reason on.
        reasonerConfiguration - the reasoner configuration to be used for reasoning (e.g. taken from the UI, may be null)
        observer - an optional progress observer, shall be ProgressObserver.NO_OBSERVER if unused
        Returns:
        The result of this reasoning step. Can have the status Status.UNSUPPORTED if the concrete reasoner does not support this operation.
      • propagate

        ReasoningResult propagate​(Configuration cfg,
                                  ReasonerConfiguration reasonerConfiguration,
                                  ProgressObserver observer)
        Checks the configuration according to the given model and propagates values, if possible.
        Parameters:
        cfg - The configuration to reason on (may be modified as a side effect of value propagation)
        reasonerConfiguration - the reasoner configuration to be used for reasoning (e.g. taken from the UI, may be null)
        observer - an optional progress observer, shall be ProgressObserver.NO_OBSERVER if unused
        Returns:
        The result of this reasoning step. Can have the status Status.UNSUPPORTED if the concrete reasoner does not support this operation.
      • evaluate

        EvaluationResult evaluate​(Configuration cfg,
                                  java.util.List<Constraint> constraints,
                                  ReasonerConfiguration reasonerConfiguration,
                                  ProgressObserver observer)
        Evaluates a given list of constraints (in the sense of boolean conditions) which are related to and valid in the context of the given project and configuration.
        Parameters:
        cfg - The configuration to reason on.
        constraints - the constraints (expressions which evaluate to a boolean value)
        reasonerConfiguration - the reasoner configuration to be used for reasoning (e.g. taken from the UI, may be null)
        observer - an optional progress observer, shall be ProgressObserver.NO_OBSERVER if unused
        Returns:
        The result of this reasoning step. Can have the status Status.UNSUPPORTED if the concrete reasoner does not support this operation.
      • createValue

        ValueCreationResult createValue​(Configuration cfg,
                                        AbstractVariable var,
                                        IDatatype type,
                                        ReasonerConfiguration reasonerConfiguration,
                                        ProgressObserver observer)
        Creates the value for a certain IVML type/variable.
        Parameters:
        cfg - the configuration to operate on (will not be modified)
        var - the variable to create the value for (may be null if type is given, may imply additional constraints)
        type - the type to create the value for (may be null if var is given)
        reasonerConfiguration - the reasoner configuration to be used for reasoning (e.g. taken from the UI, may be null)
        observer - an optional progress observer, shall be ProgressObserver.NO_OBSERVER if unused
        Returns:
        the value creation result