Skip to content

List of LearnLib Artifacts

mtf90 edited this page Nov 15, 2023 · 6 revisions

This page gives a short overview of the current Maven artifacts of LearnLib. It has been generated from the current POM descriptions. For a more thourough overview, please visit the LearnLib Maven Site.


  • de.learnlib:learnlib-parent: A framework for active automata learning and experimentation
    • de.learnlib:learnlib-algorithms-parent: Parent module for automata learning algorithms shipped with LearnLib

      • de.learnlib:learnlib-algorithms-active-parent: Parent module for (active) automata learning algorithms shipped with LearnLib

        • de.learnlib:learnlib-aaar: This artifact provides the implementation of the AAAR learning algorithm as described in the paper "Automata Learning with Automated Alphabet Abstraction Refinement" (https://dx.doi.org/10.1007/978-3-642-18275-4_19) by Falk Howar, Bernhard Steffen, and Maik Merten.

        • de.learnlib:learnlib-adt: This artifact provides the implementation of the ADT learning algorithm as described in the Master thesis "Active Automata Learning with Adaptive Distinguishing Sequences" (http://arxiv.org/abs/1902.01139) by Markus Frohme.

        • de.learnlib:learnlib-dhc: This artifact provides the implementation of the DHC learning algorithm as described in the paper "Automata Learning with on-the-Fly Direct Hypothesis Construction" (https://doi.org/10.1007/978-3-642-34781-8_19) by Maik Merten, Falk Howar, Bernhard Steffen, and Tiziana Margaria.

        • de.learnlib:learnlib-kearns-vazirani: This artifact provides the implementation of the learning algorithm described in the book "An Introduction to Computational Learning Theory" by Michael Kearns and Umesh Vazirani.

        • de.learnlib:learnlib-lstar: This artifact provides the implementation of the L* learning algorithm described in the paper "Learning Regular Sets from Queries and Counterexamples" (https://doi.org/10.1016/0890-5401(87)90052-6) by Dana Angluin including variations and optimizations thereof such as the versions based on "On the Learnability of Infinitary Regular Sets" (https://dx.doi.org/10.1006/inco.1995.1070) by Oded Maler and Amir Pnueli or "Inference of finite automata using homing sequences" (http://dx.doi.org/10.1006/inco.1993.1021) by Ronald L. Rivest and Robert E. Schapire.

        • de.learnlib:learnlib-nlstar: This artifact provides the implementation of the NL* learning algorithm as described in the paper "Angluin-Style Learning of NFA" (http://ijcai.org/Proceedings/09/Papers/170.pdf) by Benedikt Bollig, Peter Habermehl, Carsten Kern, and Martin Leucker.

        • de.learnlib:learnlib-observation-pack: This artifact provides the implementation of the Observation-Pack learning algorithm as described in the PhD thesis "Active learning of interface programs" (http://dx.doi.org/10.17877/DE290R-4817) by Falk Howar.

        • de.learnlib:learnlib-observation-pack-vpa: This artifact provides the implementation of the VPA adaption of the Observation-Pack learning algorithm as discussed in the PhD thesis "Foundations of Active Automata Learning: An Algorithmic Perspective" (https://dx.doi.org/10.17877/DE290R-16359) by Malte Isberner.

        • de.learnlib:learnlib-oml: This artifact provides the implementations of various learning algorithms based on the "optimal MAT learning" concept as described in the paper "Active Automata Learning as Black-Box Search and Lazy Partition Refinement" (https://doi.org/10.1007/978-3-031-15629-8_17) by Falk Howar and Bernhard Steffen.

        • de.learnlib:learnlib-procedural: This artifact provides the implementations of various learning algorithms for systems of procedural automata such as the ones described in the papers "Compositional learning of mutually recursive procedural systems (https://doi.org/10.1007/s10009-021-00634-y) and "From Languages to Behaviors and Back" (https://doi.org/10.1007/978-3-031-15629-8_11) by Markus Frohme and Bernhard Steffen.

        • de.learnlib:learnlib-ttt: This artifact provides the implementation of the TTT algorithm as described in the paper "The TTT Algorithm: A Redundancy-Free Approach to Active Automata Learning" (https://doi.org/10.1007/978-3-319-11164-3_26) by Malte Isberner, Falk Howar, and Bernhard Steffen.

        • de.learnlib:learnlib-ttt-vpa: This artifact provides the implementation of the VPA adaption of the TTT learning algorithm as presented in the PhD thesis "Foundations of Active Automata Learning: An Algorithmic Perspective" (https://dx.doi.org/10.17877/DE290R-16359) by Malte Isberner.

      • de.learnlib:learnlib-algorithms-passive-parent: Parent module for (passive) automata learning algorithms shipped with LearnLib

        • de.learnlib:learnlib-ostia: This artifact provides the implementation of the "onward subsequential transducer inference algorithm" (OSTIA) learning algorithm as presented in the paper "Learning Subsequential Transducers for Pattern Recognition Interpretation Tasks" (https://doi.org/10.1109/34.211465) by Jose Oncina, Pedro García, and Enrique Vidal.

        • de.learnlib:learnlib-rpni: This artifact provides the implementation of (a blue-fringe version of) the "regular positive negative inference" (RPNI) learning algorithm as presented in the paper "Inferring regular languages in polynomial update time" (https://dx.doi.org/10.1142/9789812797902_0004) by Jose Oncina and Pedro García.

          More details on the blue-fringe version of this algorithm can be found in the book "Grammatical Inference" (https://doi.org/10.1017/CBO9781139194655) by Colin de la Higuera.

        • de.learnlib:learnlib-rpni-edsm: This artifact provides the implementation of (a blue-fringe version of) the "regular positive negative inference" (RPNI) learning algorithm as presented in the paper "Inferring regular languages in polynomial update time" (https://dx.doi.org/10.1142/9789812797902_0004) by Jose Oncina and Pedro García using the "evidence-driven state merging" (EDSM) heuristic.

          More details on this algorithm can be found in the book "Grammatical Inference" (https://doi.org/10.1017/CBO9781139194655) by Colin de la Higuera.

        • de.learnlib:learnlib-rpni-mdl: This artifact provides the implementation of (a blue-fringe version of) the "regular positive negative inference" (RPNI) learning algorithm as presented in the paper "Inferring regular languages in polynomial update time" (https://dx.doi.org/10.1142/9789812797902_0004) by Jose Oncina and Pedro García using the "minimum description length" (MDL) heuristic.

          More details on this algorithm can be found in the book "Grammatical Inference" (https://doi.org/10.1017/CBO9781139194655) by Colin de la Higuera.

    • de.learnlib:learnlib-api: Infrastructure and core interfaces of LearnLib

    • de.learnlib.archetypes:learnlib-archetypes-parent: Parent metaproject for archetypes that facilitate getting started with LearnLib.

      • de.learnlib.archetypes:basic: Archetype for a basic LearnLib setup, including the most commonly used dependencies
      • de.learnlib.archetypes:complete: Archetype which includes all LearnLib dependencies
    • de.learnlib:learnlib-build-parent: A utility parent, that defines certain plugin executions for the build process. May be used to define dependencies on the "build-tools" artifact without introducing cyclic dependencies with the general parent.

    • de.learnlib.tooling:learnlib-build-tools-parent: Tools and resources required for building LearnLib

      • de.learnlib.tooling:learnlib-annotation-processor: Annotations and processors for the LearnLib build process
      • de.learnlib.tooling:learnlib-build-config: Configs and other resources required for building LearnLib
    • de.learnlib:learnlib-commons-parent: Parent module for common LearnLib utilities

      • de.learnlib:learnlib-counterexamples: A collection of algorithms for handling counterexamples in automata learning
      • de.learnlib:learnlib-settings: A collection of utility methods to parse LearnLib specific settings
      • de.learnlib:learnlib-util: A collection of utility methods for learning setups (oracle wrappers, etc.)
    • de.learnlib:learnlib-datastructures-parent: Parent module for data structures shared across multiple modules of LearnLib

      • de.learnlib:learnlib-datastructure-dt: Data- and utility classes for Discrimination Trees
      • de.learnlib:learnlib-datastructure-list: Data- and utility classes for Lists
      • de.learnlib:learnlib-datastructure-ot: Data- and utility classes for Observation Tables
      • de.learnlib:learnlib-datastructure-pta: Data- and utility classes for Prefix-Tree-Acceptors
    • de.learnlib.distribution:learnlib-distribution: An artifact that aggregates all other artifacts of LearnLib to produce an Uber-JAR that can be used in non-maven environments. Likewise, this single artifact may be used in maven-aware environments to declare a dependency on all LearnLib artifacts.

    • de.learnlib:learnlib-drivers-parent: Parent module for test drivers

      • de.learnlib:learnlib-drivers-basic: Basic Test Driver Generation Support
      • de.learnlib:learnlib-mapper: Translation utilities for mapping abstract hypothesis symbols to concrete SUL symbols
      • de.learnlib:learnlib-drivers-simulator: Utilities for simulating SULs
    • de.learnlib:learnlib-filters-parent: Parent module for components that can be inserted in a chain of oracles

      • de.learnlib:learnlib-cache: Caches to avoid posing duplicate membership queries
      • de.learnlib:learnlib-reuse: Reuse Tree for (intelligently) caching membership queries
      • de.learnlib:learnlib-statistics: Filters for collecting statistical data
    • de.learnlib:learnlib-oracles-parent: Parent module for oracles and oracle-related modules

      • de.learnlib:learnlib-emptiness-oracles: A collection of emptiness oracles
      • de.learnlib:learnlib-equivalence-oracles: A collection of equivalence oracles
      • de.learnlib:learnlib-membership-oracles: A collection of membership oracles
      • de.learnlib:learnlib-parallelism: Support for parallel membership queries and thread-safe caches
      • de.learnlib:learnlib-property-oracles: A collection of property oracles
    • de.learnlib.testsupport:learnlib-test-support-parent: Functionality to ease writing test cases for LearnLib

      • de.learnlib.testsupport:learnlib-learning-examples: Example learning setups, to be used for integration testing
      • de.learnlib.testsupport:learnlib-learner-it-support: Support classes for easily writing integration test cases for learning algorithms
      • de.learnlib.testsupport:learnlib-test-support: Support classes for easily writing unit tests for various components of LearnLib