How to learn a Mealy FSM if SUL can only deal with a input sequences (a query) but not each input? #130
-
Hello~ Suppose there is one SUL that can be represented by a Mealy FSM. The input type and output type of the FSM are both single characters. As far as I know, each query is a sequence of input, and the answer is also a sequence (both a list of characters, in this case). The SUL can only process one query (a sequence of input) at a time and return the answer sequence, but can't process individual inputs one by one (as the method “step( )” in SUL interfaces). How to implement this process with Learnlib? Is it Ok to rewrite step() directly or how is the method step() called? It would be great if there were example code for this code. Thank you so much. |
Beta Was this translation helpful? Give feedback.
Replies: 1 comment
-
Most (Mealy) learners expect a |
Beta Was this translation helpful? Give feedback.
Most (Mealy) learners expect a
MembershipOracle<I, Word<O>>
to query the system under learning. So instead of implementing anSUL
, you can try to implement the oracle interface directly (or the simplifiedSingleQueryOracle
if you don't care about parallelism). This allows you to process the full input sequence directly and account for the specifics of your system. However, you should respect the Mealy-specific semantics of these queries: a query with n suffix symbols should return a response word with n symbols as well.