Interface PartialTransitionAnalyzer<S,​I>

  • Type Parameters:
    S - (hypothesis) state type
    I - input alphabet type
    All Known Implementing Classes:
    ADTLearner

    public interface PartialTransitionAnalyzer<S,​I>
    During the refinement process of the hypothesis, ADS/Ts may be computed on partially defined automata. These computations may want to skip undefined transitions (as closing them results in resets, which we want to omit) and only determine the information if necessary. This interface mediates between the learner and ADS/T computations by defining the basic forms of communication.
    • Method Detail

      • isTransitionDefined

        boolean isTransitionDefined​(S state,
                                    I input)
        Check whether the transition in question is defined or not.
        Parameters:
        state - the (source) state of the transition in question
        input - the input symbol of the transition in question
        Returns:
        true if the transition (and thus the successor/output) is defined, false otherwise
      • closeTransition

        void closeTransition​(S state,
                             I input)
        Determine the successor/output of the transition in question (which is usually achieved by sifting the corresponding long-prefix through the ADT).
        Parameters:
        state - the (source) state of the transition in question
        input - the input symbol of the transition in question
        Throws:
        PartialTransitionAnalyzer.HypothesisModificationException - if closing the transition (sifting in the ADT) discovered a new hypothesis state and thus potentially invalidates previously observed behavior