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, wait
processQueries, processQuery
asOracle
public 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.