S - system state classI - input symbol classO - output symbol classpublic final class ReuseOracle<S,I,O> extends Object implements SingleQueryOracle.SingleQueryOracleMealy<I,O>
MealyMembershipOracle that is able to ReuseTree)ReuseTree is configured to know which symbols are model invariant input symbols via ReuseOracle.ReuseOracleBuilder.withInvariantInputs(Set) (like a read from a database which does not change the SUL) or
configured for failure output symbols via ReuseOracle.ReuseOracleBuilder.withFailureOutputs(Set) (e.g. a roll back
mechanism exists for the invoked symbol) the oracle could ''pump'' those symbols inside a query once seen.ReuseOracleBuilder#ReuseOracleBuilder(Alphabet, Supplier).ReuseTree.
The usage of model invariant input symbols and failure output symbols is disabled by default and can be enabled upon
construction (see ReuseOracle.ReuseOracleBuilder.withFailureOutputs(Set) and ReuseOracle.ReuseOracleBuilder.withInvariantInputs(Set)).
| Modifier and Type | Class and Description |
|---|---|
static class |
ReuseOracle.ReuseOracleBuilder<S,I,O> |
SingleQueryOracle.SingleQueryOracleDFA<I>, SingleQueryOracle.SingleQueryOracleMealy<I,O>MembershipOracle.DFAMembershipOracle<I>, MembershipOracle.MealyMembershipOracle<I,O>| Modifier and Type | Method and Description |
|---|---|
net.automatalib.words.Word<O> |
answerQuery(net.automatalib.words.Word<I> input) |
net.automatalib.words.Word<O> |
answerQuery(net.automatalib.words.Word<I> prefix,
net.automatalib.words.Word<I> suffix) |
ReuseCapableOracle<S,I,O> |
getReuseCapableOracle()
Returns the
ReuseCapableOracle used by this instance. |
ReuseTree<S,I,O> |
getReuseTree()
Returns the
ReuseTree used by this instance. |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitprocessQueries, processQueryasOraclepublic net.automatalib.words.Word<O> answerQuery(net.automatalib.words.Word<I> prefix, net.automatalib.words.Word<I> suffix)
answerQuery in interface MembershipOracle<I,net.automatalib.words.Word<O>>answerQuery in interface QueryAnswerer<I,net.automatalib.words.Word<O>>answerQuery in interface SingleQueryOracle<I,net.automatalib.words.Word<O>>public net.automatalib.words.Word<O> answerQuery(net.automatalib.words.Word<I> input)
answerQuery in interface MembershipOracle<I,net.automatalib.words.Word<O>>answerQuery in interface QueryAnswerer<I,net.automatalib.words.Word<O>>public ReuseCapableOracle<S,I,O> getReuseCapableOracle()
ReuseCapableOracle used by this instance.Copyright © 2018. All rights reserved.