I - the input type.A - the automaton type.P - the property type.D - the output type.public class PropertyOracleChain<I,A extends Output<I,D>,P,D> extends Object implements PropertyOracle<I,A,P,D>
For example you may want to construct a chain that first uses a model checker for monitors, and next, one that uses a model checker for full LTL. This strategy tends to give shorter counter examples for properties, and these counter examples can be found more quickly (as in smaller hypothesis size and less learning queries).
PropertyOracle.DFAPropertyOracle<I,P>, PropertyOracle.MealyPropertyOracle<I,O,P>InclusionOracle.DFAInclusionOracle<I>, InclusionOracle.MealyInclusionOracle<I,O>EquivalenceOracle.DFAEquivalenceOracle<I>, EquivalenceOracle.MealyEquivalenceOracle<I,O>| Constructor and Description |
|---|
PropertyOracleChain(Collection<? extends PropertyOracle<I,? super A,P,D>> oracles) |
PropertyOracleChain(PropertyOracle<I,? super A,P,D>... oracles) |
| Modifier and Type | Method and Description |
|---|---|
void |
addOracle(PropertyOracle<I,? super A,P,D> oracle) |
@Nullable DefaultQuery<I,D> |
disprove(A hypothesis,
Collection<? extends I> inputs) |
@Nullable DefaultQuery<I,D> |
doFindCounterExample(A hypothesis,
Collection<? extends I> inputs) |
@Nullable DefaultQuery<I,D> |
getCounterExample() |
P |
getProperty() |
void |
setProperty(P property) |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitfindCounterExample, isDisprovedisCounterExample@SafeVarargs public PropertyOracleChain(PropertyOracle<I,? super A,P,D>... oracles)
public PropertyOracleChain(Collection<? extends PropertyOracle<I,? super A,P,D>> oracles)
public void addOracle(PropertyOracle<I,? super A,P,D> oracle)
public @Nullable DefaultQuery<I,D> doFindCounterExample(A hypothesis, Collection<? extends I> inputs)
doFindCounterExample in interface PropertyOracle<I,A extends Output<I,D>,P,D>public @Nullable DefaultQuery<I,D> disprove(A hypothesis, Collection<? extends I> inputs)
public void setProperty(P property)
setProperty in interface PropertyOracle<I,A extends Output<I,D>,P,D>public P getProperty()
getProperty in interface PropertyOracle<I,A extends Output<I,D>,P,D>public @Nullable DefaultQuery<I,D> getCounterExample()
getCounterExample in interface PropertyOracle<I,A extends Output<I,D>,P,D>Copyright © 2020. All rights reserved.