Interface IncrementalConstruction<A,I>

Type Parameters:
A - the automaton model which is constructed
I - input symbol class
All Known Subinterfaces:
AdaptiveMealyBuilder<I,O>, IncrementalDFABuilder<I>, IncrementalMealyBuilder<I,O>, IncrementalMooreBuilder<I,O>, MealyBuilder<I,O>
All Known Implementing Classes:
AbstractIncrementalDFABuilder, AdaptiveMealyTreeBuilder, DynamicIncrementalMealyTreeBuilder, IncrementalDFADAGBuilder, IncrementalDFATreeBuilder, IncrementalMealyDAGBuilder, IncrementalMealyTreeBuilder, IncrementalMooreDAGBuilder, IncrementalMooreTreeBuilder, IncrementalPCDFADAGBuilder, IncrementalPCDFATreeBuilder

public interface IncrementalConstruction<A,I>
Basic interface for incremental automata constructions. An incremental automaton construction creates an (acyclic) automaton by iterated insertion of example words.
  • Method Summary

    Modifier and Type
    Method
    Description
    Graph<?,?>
    Retrieves a graph view of the current state of the construction.
    Retrieves a transition system view of the current state of the construction.
    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.
    boolean
    hasDefinitiveInformation(Word<? extends I> word)
    Checks whether this class has definitive information about a given word.
  • Method Details

    • 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

      DeterministicAutomaton<?,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