Hi John,
the SimulatorOracles are just a quick means to construct functioning membership and equivalence oracles. For realistic scenarios they don't really make much sense (why would you learn a system of which you already have an automaton model of?).
In order to learn your realistic 'rule'-system you need to provide your own MQ oracle and EQ oracle implementations.
For the DFAMembershipOracle you would have to implement the processQueries method which needs to answer for every query whether it is in the target language of your system or not (e.g. decide whether a rule is satisfiable or not). If you don't care much about parallelization, you can alternatively implement the SingleQueryOracleDFA interface instead. Here, you only need to implement the (simpler) answerQuery method.
For the DFAEquivalenceOracle you can either try to implement a equivalence check on your own or fallback on the existing EQ oracles covering heuristic approaches (e.g. the DFARandomWordsEQOracle) or techniques from the model-based testing community (e.g. DFAWMethodEQOracle, DFAWpMethodEQOracle or their randomized variants).
Kind regards,
Markus