learnlib-0.15.0
mtf90
released this
06 Feb 08:54
·
262 commits
to develop
since this release
Changed
- The
{DFA,Mealy,}W{p,}MethodEQOracle(MembershipOracle, int, int)
constructor no longer interprets its secondint
parameter 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 parameterslookahead
andexpectedSize
will 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.
PartialLStarMealy
andPartialObservationTable
) has been removed/refactored. The concept of state local inputs is now implemented as a SUL filter and introduces a specialStateLocalInputSULOracle
which 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. SULCache
no 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.