Interface IncrementalConstruction<A,​I>

    • Method Detail

      • findSeparatingWord

        @Nullable Word<I> findSeparatingWord​(A target,
                                             Collection<? extends I> inputs,
                                             boolean omitUndefined)
        Checks the current state of the construction against a given target model, and returns a word exposing a difference if there is one.
        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.
      • hasDefinitiveInformation

        boolean hasDefinitiveInformation​(Word<? extends I> word)
        Checks whether this class has definitive information about a given word.
        Parameters:
        word - the word
        Returns:
        true if this class has definitive information about the word, false otherwise.
      • asGraph

        Graph<?,​?> asGraph()
        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.
        Returns:
        a graph view on the current state of the construction
      • asTransitionSystem

        DeterministicTransitionSystem<?,​I,​?> asTransitionSystem()
        Retrieves a transition system view of the current state of the construction. The transition system model should be backed by the construction, i.e., subsequent changes will be reflected in the transition system.
        Returns:
        a transition system view on the current state of the construction