Class DefensiveADS<S,​I,​O>

  • Type Parameters:
    S - (hypothesis) state type
    I - input alphabet type
    O - output alphabet type

    public final class DefensiveADS<S,​I,​O>
    extends Object
    A variant of the backtracking ADS search (see ADS, BacktrackingSearch), that works on partially defined automata. It tries to find an ADS based on defined transitions and successively closes transitions if no ADS has been found.
    • Method Detail

      • compute

        public static <S,​I,​O> Optional<ADTNode<S,​I,​O>> compute​(MealyMachine<S,​I,​?,​O> automaton,
                                                                                       Alphabet<I> alphabet,
                                                                                       Set<S> states,
                                                                                       PartialTransitionAnalyzer<S,​I> pta)
        Compute an adaptive distinguishing sequence (as an ADT) for the given automaton and the given set of states.
        Type Parameters:
        S - (hypothesis) state type
        I - input alphabet type
        O - output alphabet type
        Parameters:
        automaton - the automaton for which an ADS should be computed
        alphabet - the input alphabet of the automaton
        states - the set of states which should be distinguished by the computed ADS
        pta - the analyzer to inspect and close partial transitions
        Returns:
        Optional.empty() if there exists no ADS that distinguishes the given states, a valid ADS otherwise.