Module de.learnlib.oracle.property
Package de.learnlib.oracle.property
Class BasePropertyOracle<I,A extends Output<I,D>,P,D,R extends A>
java.lang.Object
de.learnlib.oracle.property.BasePropertyOracle<I,A,P,D,R>
- Type Parameters:
I- the input typeA- the automaton typeP- the property typeD- the output typeR- the result type of model checker
- All Implemented Interfaces:
EquivalenceOracle<A,,I, D> InclusionOracle<A,,I, D> PropertyOracle<I,A, P, D>
- Direct Known Subclasses:
DFAFinitePropertyOracle,DFALassoPropertyOracle,MealyFinitePropertyOracle,MealyLassoPropertyOracle
public class BasePropertyOracle<I,A extends Output<I,D>,P,D,R extends A>
extends Object
implements PropertyOracle<I,A,P,D>
A
PropertyOracle that uses InclusionOracles and EmptinessOracles to evaluate potential
counterexamples produced by a given ModelChecker.-
Nested Class Summary
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> Nested classes/interfaces inherited from interface de.learnlib.oracle.PropertyOracle
PropertyOracle.DFAPropertyOracle<I,P>, PropertyOracle.MealyPropertyOracle<I, O, P> -
Constructor Summary
ConstructorsConstructorDescriptionBasePropertyOracle(P property, InclusionOracle<A, I, D> inclusionOracle, EmptinessOracle<R, I, D> emptinessOracle, ModelChecker<I, A, P, R> modelChecker) -
Method Summary
Modifier and TypeMethodDescriptiondisprove(A hypothesis, Collection<? extends I> inputs) Try to disprove the property with the givenhypothesis.doFindCounterExample(A hypothesis, Collection<? extends I> inputs) Unconditionally find a counterexample, i.e., regardless of whether the property can be disproved.Returns the counterexample for the property ifPropertyOracle.isDisproved(),nullotherwise.Returns the property.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
isCounterExampleMethods inherited from interface de.learnlib.oracle.PropertyOracle
findCounterExample, isDisproved
-
Constructor Details
-
BasePropertyOracle
public BasePropertyOracle(P property, InclusionOracle<A, I, D> inclusionOracle, EmptinessOracle<R, I, D> emptinessOracle, ModelChecker<I, A, P, R> modelChecker)
-
-
Method Details
-
getProperty
Description copied from interface:PropertyOracleReturns the property.- Specified by:
getPropertyin interfacePropertyOracle<I,A extends Output<I, D>, P, D> - Returns:
- the property.
-
getCounterExample
Description copied from interface:PropertyOracleReturns the counterexample for the property ifPropertyOracle.isDisproved(),nullotherwise.If this method does not return
null, a previous call toPropertyOracle.disprove(Output, Collection)must have returned aDefaultQuery.- Specified by:
getCounterExamplein interfacePropertyOracle<I,A extends Output<I, D>, P, D> - Returns:
- the counterexample for the property if
PropertyOracle.isDisproved(),nullotherwise.
-
doFindCounterExample
public @Nullable DefaultQuery<I,D> doFindCounterExample(A hypothesis, Collection<? extends I> inputs) Description copied from interface:PropertyOracleUnconditionally find a counterexample, i.e., regardless of whether the property can be disproved. In fact,PropertyOracle.disprove(Output, Collection)is not even be called.- Specified by:
doFindCounterExamplein interfacePropertyOracle<I,A extends Output<I, D>, P, D> - Parameters:
hypothesis- the hypothesis to find a counterexample toinputs- the input symbols to consider for finding a counterexample- Returns:
- a counterexample for the current hypothesis. May be
nullof none can be found - See Also:
-
disprove
Description copied from interface:PropertyOracleTry to disprove the property with the givenhypothesis.- Specified by:
disprovein interfacePropertyOracle<I,A extends Output<I, D>, P, D> - Parameters:
hypothesis- the hypothesisinputs- the inputs- Returns:
- the
DefaultQuerythat is a counterexample to the property, ornull, if the property could not be disproved.
-