Class IncrementalMealyDAGBuilder<I,​O>

    • Constructor Detail

      • IncrementalMealyDAGBuilder

        public IncrementalMealyDAGBuilder​(Alphabet<I> inputAlphabet)
        Constructor.
        Parameters:
        inputAlphabet - the input alphabet to use
    • Method Detail

      • lookup

        public boolean lookup​(Word<? extends I> word,
                              List<? super O> output)
        Description copied from interface: MealyBuilder
        Retrieves the output word for the given input word. If no definitive information for the input word exists, the output for the longest known prefix will be returned.
        Specified by:
        lookup in interface MealyBuilder<I,​O>
        Parameters:
        word - the input word
        output - a consumer for constructing the output word
        Returns:
        true if the information contained was complete (in this case, word.length() == output.size() will hold), false otherwise.
      • insert

        public void insert​(Word<? extends I> word,
                           Word<? extends O> outputWord)
        Description copied from interface: IncrementalMealyBuilder
        Incorporates a pair of input/output words into the stored information.
        Specified by:
        insert in interface IncrementalMealyBuilder<I,​O>
        Parameters:
        word - the input word
        outputWord - the corresponding output word
      • findSeparatingWord

        public @Nullable Word<I> findSeparatingWord​(MealyMachine<?,​I,​?,​O> target,
                                                    Collection<? extends I> inputs,
                                                    boolean omitUndefined)
        Description copied from interface: IncrementalConstruction
        Checks the current state of the construction against a given target model, and returns a word exposing a difference if there is one.
        Specified by:
        findSeparatingWord in interface IncrementalConstruction<I,​O>
        Parameters:
        target - the target automaton model
        inputs - the set of input symbols to consider
        omitUndefined - if this is set to true, then undefined transitions in the target model will be interpreted as "unspecified/don't know" and omitted in the equivalence test. Otherwise, they will be interpreted in the usual manner (e.g., non-accepting sink in case of DFAs).
        Returns:
        a separating word, or null if no difference could be found.
      • asGraph

        public Graph<?,​?> asGraph()
        Description copied from interface: IncrementalConstruction
        Retrieves a graph view of the current state of the construction. The graph model should be backed by the construction, i.e., subsequent changes will be reflected in the graph model.
        Specified by:
        asGraph in interface IncrementalConstruction<I,​O>
        Returns:
        a graph view on the current state of the construction