Package de.learnlib.oracle
Interface OmegaMembershipOracle<S,I,D>
-
- Type Parameters:
S
- the state typeI
- the input typeD
- the output type
- All Superinterfaces:
BatchProcessor<OmegaQuery<I,D>>
,OmegaQueryAnswerer<S,I,D>
- All Known Subinterfaces:
OmegaMembershipOracle.DFAOmegaMembershipOracle<S,I>
,OmegaMembershipOracle.MealyOmegaMembershipOracle<S,I,O>
,ParallelOmegaOracle<S,I,D>
,SingleQueryOmegaOracle<S,I,D>
,SingleQueryOmegaOracle.SingleQueryOmegaOracleDFA<S,I>
,SingleQueryOmegaOracle.SingleQueryOmegaOracleMealy<S,I,O>
- All Known Implementing Classes:
AbstractSULOmegaOracle
,DynamicParallelOmegaOracle
,SimulatorOmegaOracle
,SimulatorOmegaOracle.DFASimulatorOmegaOracle
,SimulatorOmegaOracle.MealySimulatorOmegaOracle
,StaticParallelOmegaOracle
public interface OmegaMembershipOracle<S,I,D> extends OmegaQueryAnswerer<S,I,D>, BatchProcessor<OmegaQuery<I,D>>
AnswersOmegaQuery
s, similar to aMembershipOracle
. Additionally, one can ask whether two states are equal to each other.
-
-
Nested Class Summary
Nested Classes Modifier and Type Interface Description static interface
OmegaMembershipOracle.DFAOmegaMembershipOracle<S,I>
static interface
OmegaMembershipOracle.MealyOmegaMembershipOracle<S,I,O>
-
Method Summary
All Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description default Pair<@Nullable D,Integer>
answerQuery(Word<I> prefix, Word<I> loop, int repeat)
default OmegaMembershipOracle<S,I,D>
asOracle()
MembershipOracle<I,D>
getMembershipOracle()
Returns a regular membership oracle.boolean
isSameState(Word<I> w1, S s1, Word<I> w2, S s2)
Returns whether two states are equal, or if both access sequencesw1
, andw2
end up in the same state.default void
processBatch(Collection<? extends OmegaQuery<I,D>> batch)
Process the batch.void
processQueries(Collection<? extends OmegaQuery<I,D>> queries)
default void
processQuery(OmegaQuery<I,D> query)
-
-
-
Method Detail
-
answerQuery
default Pair<@Nullable D,Integer> answerQuery(Word<I> prefix, Word<I> loop, int repeat)
- Specified by:
answerQuery
in interfaceOmegaQueryAnswerer<S,I,D>
-
processBatch
default void processBatch(Collection<? extends OmegaQuery<I,D>> batch)
Description copied from interface:BatchProcessor
Process the batch.- Specified by:
processBatch
in interfaceBatchProcessor<S>
- Parameters:
batch
- the batch to process
-
processQuery
default void processQuery(OmegaQuery<I,D> query)
-
processQueries
void processQueries(Collection<? extends OmegaQuery<I,D>> queries)
-
asOracle
default OmegaMembershipOracle<S,I,D> asOracle()
- Specified by:
asOracle
in interfaceOmegaQueryAnswerer<S,I,D>
-
getMembershipOracle
MembershipOracle<I,D> getMembershipOracle()
Returns a regular membership oracle.- Returns:
- a regular membership oracle.
-
isSameState
boolean isSameState(Word<I> w1, S s1, Word<I> w2, S s2)
Returns whether two states are equal, or if both access sequencesw1
, andw2
end up in the same state. If both access sequences end up in the same state thens1.equals(s2)
must hold.- Parameters:
w1
- the first access sequence.s1
- the first state.w2
- the second access sequence.s2
- the second state.- Returns:
- whether both states, or states via the given access sequences are equal.
- See Also:
ObservableSUL.getState()
-
-