Package de.learnlib.oracle.membership
Class SULSymbolQueryOracle<I,O>
- java.lang.Object
-
- de.learnlib.oracle.membership.SULSymbolQueryOracle<I,O>
-
- Type Parameters:
I
- input alphabet typeO
- output alphabet type
- All Implemented Interfaces:
MembershipOracle<I,Word<O>>
,MembershipOracle.MealyMembershipOracle<I,O>
,BatchProcessor<Query<I,Word<O>>>
,QueryAnswerer<I,Word<O>>
,SymbolQueryOracle<I,O>
- Direct Known Subclasses:
StateLocalInputSULSymbolQueryOracle
public class SULSymbolQueryOracle<I,O> extends Object implements SymbolQueryOracle<I,O>
A wrapper that allows to use aSUL
where aSymbolQueryOracle
is expected.Implementation note: The contract of
SymbolQueryOracle
does not make any assumptions about when itsreset
method is called. However, from aSUL
perspective it is desirable to call itspost
method once querying is done. Therefore, multiple calls tothis.
reset()
willclose
the underlyingSUL
only once, so that theSUL
can be shutdown bythis
oracle from outside, after the learning process has finished.This oracle is not thread-safe.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface de.learnlib.oracle.MembershipOracle
MembershipOracle.DFAMembershipOracle<I>, MembershipOracle.MealyMembershipOracle<I,O>, MembershipOracle.MooreMembershipOracle<I,O>
-
-
Constructor Summary
Constructors Constructor Description SULSymbolQueryOracle(SUL<I,O> sul)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description O
query(I i)
Query the system under learning for a new symbol.protected O
queryInternal(I i)
void
reset()
Reset the system under learning.-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface de.learnlib.oracle.MembershipOracle
answerQuery, answerQuery, asOracle, processBatch, processQuery
-
Methods inherited from interface de.learnlib.oracle.SymbolQueryOracle
processQueries
-
-
-
-
Method Detail
-
query
public O query(I i)
Description copied from interface:SymbolQueryOracle
Query the system under learning for a new symbol. This is a stateful operation.- Specified by:
query
in interfaceSymbolQueryOracle<I,O>
- Parameters:
i
- the symbol to query- Returns:
- the observed output
-
reset
public void reset()
Description copied from interface:SymbolQueryOracle
Reset the system under learning.- Specified by:
reset
in interfaceSymbolQueryOracle<I,O>
-
-