S - system state classI - input symbol classO - output symbol classpublic interface ReuseCapableOracle<S,I,O>
ReuseOracle. An implementation needs to provide the ability to answer queries with
respect to a system state class S and an input and must be able to reset to SUL to an initial state.
The ReuseOracle decides whether a full membership query needs to be answered including a reset (via processQuery(Word)) or if there is a system state available that is able to save the reset with some prefix (via
continueQuery(Word, Object)).
| Modifier and Type | Interface and Description |
|---|---|
static class |
ReuseCapableOracle.QueryResult<S,O> |
| Modifier and Type | Method and Description |
|---|---|
ReuseCapableOracle.QueryResult<S,O> |
continueQuery(net.automatalib.words.Word<I> trace,
S s)
This method will be invoked whenever a system state s was found for reusage when a new membership query is
processed.
|
ReuseCapableOracle.QueryResult<S,O> |
processQuery(net.automatalib.words.Word<I> trace)
An implementation needs to provide a fresh system state, process the whole query and return a
ReuseCapableOracle.QueryResult
with the resulting system state (ReuseCapableOracle.QueryResult.newState) and the SUL output to that query (ReuseCapableOracle.QueryResult.output). |
ReuseCapableOracle.QueryResult<S,O> continueQuery(net.automatalib.words.Word<I> trace, S s)
trace - The query to consider (mostly a real suffix from a membership query).s - A system state that corresponds to an already answered prefix.ReuseCapableOracle.QueryResult<S,O> processQuery(net.automatalib.words.Word<I> trace)
ReuseCapableOracle.QueryResult
with the resulting system state (ReuseCapableOracle.QueryResult.newState) and the SUL output to that query (ReuseCapableOracle.QueryResult.output).
This method will be invoked if no available system state was found and can be seen as a 'normal membership query'.
trace - The query to consider.Copyright © 2018. All rights reserved.