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.