Module de.learnlib.oracle.property
Package de.learnlib.oracle.property
Class MealyLassoPropertyOracle<I,O,P>
- java.lang.Object
-
- de.learnlib.oracle.property.MealyLassoPropertyOracle<I,O,P>
-
- Type Parameters:
I- the input typeO- the output typeP- the property type
- All Implemented Interfaces:
EquivalenceOracle<net.automatalib.automaton.transducer.MealyMachine<?,I,?,O>,I,net.automatalib.word.Word<O>>,EquivalenceOracle.MealyEquivalenceOracle<I,O>,InclusionOracle<net.automatalib.automaton.transducer.MealyMachine<?,I,?,O>,I,net.automatalib.word.Word<O>>,InclusionOracle.MealyInclusionOracle<I,O>,PropertyOracle<I,net.automatalib.automaton.transducer.MealyMachine<?,I,?,O>,P,net.automatalib.word.Word<O>>,PropertyOracle.MealyPropertyOracle<I,O,P>
public class MealyLassoPropertyOracle<I,O,P> extends Object implements PropertyOracle.MealyPropertyOracle<I,O,P>
A property oracle for Mealy machines that can check lassos from the model checker.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface de.learnlib.oracle.EquivalenceOracle
EquivalenceOracle.DFAEquivalenceOracle<I>, EquivalenceOracle.MealyEquivalenceOracle<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
Constructors Constructor Description MealyLassoPropertyOracle(P property, InclusionOracle.MealyInclusionOracle<I,O> inclusionOracle, LassoEmptinessOracle.MealyLassoEmptinessOracle<I,O> emptinessOracle, net.automatalib.modelchecking.ModelCheckerLasso.MealyModelCheckerLasso<I,O,P> modelChecker)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description @Nullable DefaultQuery<I,D>disprove(A hypothesis, Collection<? extends I> inputs)Try to disprove the property with the givenhypothesis.@Nullable DefaultQuery<I,D>doFindCounterExample(A hypothesis, Collection<? extends I> inputs)Unconditionally find a counterexample, i.e., regardless of whether the property can be disproved.@Nullable DefaultQuery<I,D>getCounterExample()Returns the counterexample for the property ifPropertyOracle.isDisproved(),nullotherwise.PgetProperty()Returns the property.protected @Nullable net.automatalib.modelchecking.Lasso.MealyLasso<I,O>modelCheck(net.automatalib.automaton.transducer.MealyMachine<?,I,?,O> hypothesis, Collection<? extends I> inputs)protected @Nullable DefaultQuery<I,D>setCounterExample(@Nullable DefaultQuery<I,D> counterExample)-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface de.learnlib.oracle.InclusionOracle
isCounterExample
-
Methods inherited from interface de.learnlib.oracle.PropertyOracle
disprove, doFindCounterExample, findCounterExample, getCounterExample, getProperty, isDisproved
-
-
-
-
Constructor Detail
-
MealyLassoPropertyOracle
public MealyLassoPropertyOracle(P property, InclusionOracle.MealyInclusionOracle<I,O> inclusionOracle, LassoEmptinessOracle.MealyLassoEmptinessOracle<I,O> emptinessOracle, net.automatalib.modelchecking.ModelCheckerLasso.MealyModelCheckerLasso<I,O,P> modelChecker)
-
-
Method Detail
-
modelCheck
protected @Nullable net.automatalib.modelchecking.Lasso.MealyLasso<I,O> modelCheck(net.automatalib.automaton.transducer.MealyMachine<?,I,?,O> hypothesis, Collection<? extends I> inputs)
-
setCounterExample
protected @Nullable DefaultQuery<I,D> setCounterExample(@Nullable DefaultQuery<I,D> counterExample)
-
getProperty
public P getProperty()
Description copied from interface:PropertyOracleReturns the property.- Specified by:
getPropertyin interfacePropertyOracle<I,A extends net.automatalib.automaton.concept.Output<I,D>,P,D>- Returns:
- the property.
-
getCounterExample
public @Nullable DefaultQuery<I,D> 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 net.automatalib.automaton.concept.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 net.automatalib.automaton.concept.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:
PropertyOracle.findCounterExample(Output, Collection)
-
disprove
public @Nullable DefaultQuery<I,D> disprove(A hypothesis, Collection<? extends I> inputs)
Description copied from interface:PropertyOracleTry to disprove the property with the givenhypothesis.- Specified by:
disprovein interfacePropertyOracle<I,A extends net.automatalib.automaton.concept.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.
-
-