learnlib-0.15.0
·
300 commits
to develop
since this release
Changed
- The
{DFA,Mealy,}W{p,}MethodEQOracle(MembershipOracle, int, int)constructor no longer interprets its secondintparameter as the batch size, but as an estimate for the expected SUL size. In order to explicitly set the batch size of the oracle, use the{DFA,Mealy,}W{p,}MethodEQOracle(MembershipOracle, int, int, int)constructor. Now, the two parameterslookaheadandexpectedSizewill determine the length of the middle part viaMath.max(lookahead, expectedSize - hypothesis.size()). This allows to dynamically adjust the length of the middle part throughout the learning process. See LearnLib/automatalib#32. - Several DFA/Mealy specific (oracle) subclasses are now automatically generated. As a result they are no longer an inner class but an independent top-level class. This requires to update the import statements.
- JSR305 annotations have been replaced with checker-framework annotations.
- LearnLib (incl. AutomataLib) now follows checker-framework's convention that (non-annotated) types are usually considered non-null unless explicitly annotated with
@Nullable. - LearnLib (incl. AutomataLib) no longer has a (runtime-) dependency on JSR305 (and other
javax.*) annotations or includes them in the distribution artifact. This now makes LearnLib (incl. AutomataLib) compliant with Oracle's binary code license and allows LearnLib (incl. AutomataLib) artifacts as-is to be bundled in binary distributions with Oracle's JDKs/JREs.
- LearnLib (incl. AutomataLib) now follows checker-framework's convention that (non-annotated) types are usually considered non-null unless explicitly annotated with
- A lot of code for inferring partial Mealy machines (esp.
PartialLStarMealyandPartialObservationTable) has been removed/refactored. The concept of state local inputs is now implemented as a SUL filter and introduces a specialStateLocalInputSULOraclewhich early-answers queries that would traverse unavailable inputs with a previously specified symbol. This way, queries that would traverse undefined input symbols still won't be executed on the SUL but the SUL appears as a 'total' Mealy system to the learner, allowing one to use every currently existing Mealy learner as-is. See the in-tree examples for more information. SULCacheno longer implementsMembershipOracle.- Updated to AutomataLib 0.9.0
Removed
- As a remainder of its initial implementation, the
TTTEventListener(and the corresponding event feature in the TTT algorithm) has been removed due to the lack of usage.