Package de.learnlib.oracle.equivalence
Class CExFirstOracle<A extends Output<I,D>,I,D>
java.lang.Object
de.learnlib.oracle.equivalence.CExFirstOracle<A,I,D>
- Type Parameters:
A- automaton typeI- input symbol typeD- output domain type
- All Implemented Interfaces:
BlackBoxOracle<A,,I, D> EquivalenceOracle<A,,I, D> InclusionOracle<A,I, D>
- Direct Known Subclasses:
DFACExFirstOracle,MealyCExFirstOracle
public class CExFirstOracle<A extends Output<I,D>,I,D>
extends Object
implements BlackBoxOracle<A,I,D>
The strategy of this black-box oracle is to first try out a property, to see if it can be disproved. If it can not be
disproved it tries the same property to find a counter example to the hypothesis, before continuing with the next
property.
This implementation may be used when refining a hypothesis is inexpensive compared to disproving propertyOracles.
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from interface de.learnlib.oracle.BlackBoxOracle
BlackBoxOracle.DFABlackBoxOracle<I>, BlackBoxOracle.MealyBlackBoxOracle<I,O> Nested classes/interfaces inherited from interface de.learnlib.oracle.EquivalenceOracle
EquivalenceOracle.DFAEquivalenceOracle<I>, EquivalenceOracle.MealyEquivalenceOracle<I,O>, EquivalenceOracle.MMLTEquivalenceOracle<I, O>, EquivalenceOracle.MooreEquivalenceOracle<I, O> Nested classes/interfaces inherited from interface de.learnlib.oracle.InclusionOracle
InclusionOracle.DFAInclusionOracle<I>, InclusionOracle.MealyInclusionOracle<I,O> -
Constructor Summary
ConstructorsConstructorDescriptionCExFirstOracle(PropertyOracle<I, ? super A, ?, D> propertyOracle) CExFirstOracle(Collection<? extends PropertyOracle<I, ? super A, ?, D>> propertyOracles) -
Method Summary
Modifier and TypeMethodDescriptionfindCounterExample(A hypothesis, Collection<? extends I> inputs) Searches for a counterexample disproving the subjected hypothesis.List<PropertyOracle<I,? super A, ?, D>> Returns the property oracles that this black-box oracle uses to evaluate properties.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface de.learnlib.oracle.InclusionOracle
isCounterExample
-
Constructor Details
-
CExFirstOracle
public CExFirstOracle() -
CExFirstOracle
-
CExFirstOracle
-
-
Method Details
-
getPropertyOracles
Description copied from interface:BlackBoxOracleReturns the property oracles that this black-box oracle uses to evaluate properties.- Specified by:
getPropertyOraclesin interfaceBlackBoxOracle<A extends Output<I,D>, I, D> - Returns:
- the property oracles.
-
findCounterExample
Description copied from interface:EquivalenceOracleSearches for a counterexample disproving the subjected hypothesis. A counterexample is query which, when performed on the SUL, yields a different output than what was predicted by the hypothesis. If no counterexample could be found (this does not necessarily mean that none exists),nullis returned.- Specified by:
findCounterExamplein interfaceEquivalenceOracle<A extends Output<I,D>, I, D> - Parameters:
hypothesis- the conjectureinputs- the set of inputs to consider, this should be a subset of the input alphabet of the provided hypothesis- Returns:
- a query exposing different behavior, or
nullif no counterexample could be found. In case a non-nullvalue is returned, the output field in theDefaultQuerycontains the SUL output for the respective query.
-