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(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(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(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(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 © 2015. All rights reserved.