001package de.learnlib.eqtests.basic; 002 003import net.automatalib.automata.UniversalDeterministicAutomaton; 004import net.automatalib.automata.concepts.Output; 005import de.learnlib.api.MembershipOracle; 006 007public abstract class EquivalenceQueries { 008 009 private EquivalenceQueries() { 010 } 011 012 public static <A extends UniversalDeterministicAutomaton<?,I,?,?,?> & Output<I,O>,I,O> 013 WMethodEQOracle<A, I, O> wMethod(int maxDepth, MembershipOracle<I, O> sulOracle) { 014 return new WMethodEQOracle<>(maxDepth, sulOracle); 015 } 016 017 public static <A extends UniversalDeterministicAutomaton<?,I,?,?,?> & Output<I,O>,I,O> 018 WpMethodEQOracle<A, I, O> wpMethod(int maxDepth, MembershipOracle<I,O> sulOracle) { 019 return new WpMethodEQOracle<>(maxDepth, sulOracle); 020 } 021 022 public static <A extends UniversalDeterministicAutomaton<?,I,?,?,?> & Output<I,O>,I,O> 023 SimulatorEQOracle<I, O> simulator(A target) { 024 A automaton = target; 025 return new SimulatorEQOracle<I,O>(automaton); 026 } 027 028}