Skip to content

@mtf90 mtf90 released this Feb 18, 2019 · 72 commits to master since this release

Full changelog


  • Added support for black-box-checking (thanks to Jeroen Meijer).
  • Added support for learning partial Mealy Machines with state-local inputs via L* (thanks to Maren Geske).
  • Added support for resumable caches.
  • DynamicParallelOracles can now be constructed from a collection of independent oracles.
  • Support for Java 11. Note: LearnLib/AutomataLib still targets Java 8, and thus needs classes provided by this environment (specifically: annotations from javax.annotation). If you plan to use LearnLib/AutomataLib in a Java 11+ environment, make sure to provide these classes. They are not shipped with LearnLib/AutomataLib.


  • Refactored the following packages/classes:
    • de.learnlib.api.algorithm.feature.SupportsGrowingAlphabet -> net.automatalib.SupportsGrowingAlphabet
    • de.learnlib.api.algorithm.feature.ResumableLearner -> de.learnlib.api.Resumable
  • Some runtime properties for dynamically configuring LearnLib have been renamed. There now exists the LearnLibProperty enum as a single reference point for all available properties.
  • The node iterators for discrimination trees are now hidden behind the DiscriminationTreeIterators factory.
  • Parallel Oracles:
    • The withDefault* methods have been removed from the {Dynamic,Static}PrallelOracleBuilders. If needed, use the regular with* methods and supply the public default values from {Dynamic,Static}PrallelOracle.
    • The new*ParallelOracle methods from the ParallelOracleBuilders factory no longer interpret a single membership oracle parameter as a supplier to a shared oracle, but rather as a single oracle (and thus return a builder for a parallel oracle with fixed pool size).
  • Adding new symbols to learning algorithms (via the SupportsGrowingAlphabet interface) now requires the learner to be initialized with a GrowingAlphabet instance. This is to make sure that the user has full control over which alphabet instance should be used instead of LearnLib making decisions on behalf of the user.
  • Discrimination-Tree based Learners (DT, KV, TTT) now batch queries whenever possible, thus allowing to fully utilize parallel oracles.
  • Also, see the changes in AutomataLib


  • Several bugs detected by our ongoing efforts to write tests.
Assets 2