Skip to content

learnlib-0.16.0

Compare
Choose a tag to compare
@mtf90 mtf90 released this 12 Oct 10:43
· 232 commits to develop since this release

Full changelog

Added

  • A StateLocalInputSULSymbolQueryOracle to wrap a StateLocalInputSULin a SymbolQueryOracle (e.g. to learn partial systems with the ADT learner).
  • Added an example for parallel setups (ParallelismExample1).

Changed

  • The SULSymbolQueryOracle now better handles the pre and post cycles of a SUL (e.g. calls to the reset method now allow to close the embedded SUL from outside).
  • Reworked parallel oracles
    • Several SULOracle variants are no longer thread-safe. This reduces overhead for scenarios where no parallelism is required.
    • The ParallelOracleBuilders factory now offers builder methods for SULs, ObservableSULs, StateLocalInputSULs, MembershipOracless and OmegaMembershipOracles to allow an easy (and correct) construction of parallel setups given one of the mentioned implementations.
  • Refactored the following packages/classes:
    • de.learnlib.oracle.parallelism.ParallelOracleInterruptedException -> de.learnlib.api.oracle.parallelism.BatchInterruptedException
  • The initialPrefixes and initialSuffixes methods of AbstractExtensibleAutomatonLStar are now final since these values can be provided via the constructor of the class. This allows one to simplify sub-classes.
  • Updated to AutomataLib 0.10.0

Removed

  • Removed the learnlib.queries.parallel.threshold property. Learning setups that want to use parallelism now need to explicitly setup parallel oracles.
  • Removed MQUtil#answerQueries{Auto,Parallel} and MQUtil#answerOmegaQueries{Auto,Parallel})
  • LassoOracle#isOmegaCounterExample(boolean) has been removed. This decision can be directly integrated into the #findCounterExample method which has more information available.

Fixed

  • Fixed a bug where NL* would create non-canonical hypotheses (#70 , thanks to @Jaxan)