Skip to content

List of LearnLib Artifacts

mtf90 edited this page Feb 18, 2019 · 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.


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

      • learnlib-algorithms-active-parent: Parent module for (active) automata learning algorithms shipped with LearnLib
        • learnlib-adt: The ADT Algorithm. Uses adaptive distinguishing trees (a generalization of adaptive distinguishing sequences) to separate hypothesis states and focuses on minimizing the amount of resets during the learning process.

        • learnlib-dhc: The Direct Hypothesis Construction algorithm for active learning of Mealy machines

        • learnlib-discrimination-tree: A learning algorithm, which distinguishes hypothesis states using a discrimination tree.

        • learnlib-discrimination-tree-vpda: A learning algorithm, which distinguishes hypothesis states using a discrimination tree (visibly push-down automata variant).

        • learnlib-kearns-vazirani: The automata learning algorithm described by Kearns & Vazirani

        • learnlib-lstar: A flexible, optimized version of Dana Angluin's L* algorithm. This module provides access to the original version of L*, extensions for Mealy machines, and variants with enhanced counterexample analysis (as proposed by e.g. Maler & Pnueli and Rivest & Schapire).

        • learnlib-nlstar: A variant of the L* algorithm for inferring non-deterministic hypothesis automata.

        • learnlib-ttt: The TTT Algorithm

        • learnlib-ttt-vpda: The TTT Algorithm (visibly push-down automata variant)

      • learnlib-algorithms-passive-parent: Parent module for (passive) automata learning algorithms shipped with LearnLib
        • learnlib-rpni: The RPNI passive learning algorithm
        • learnlib-rpni-edsm: The EDSM passive learning algorithm
        • learnlib-rpni-mdl: The MDL passive learning algorithm
    • learnlib-api: Infrastructure and core interfaces of LearnLib

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

      • basic: Archetype for a basic LearnLib setup, including the most commonly used dependencies
      • complete: Archetype which includes all LearnLib dependencies
    • 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.

    • learnlib-build-tools: Tools and resources required for building LearnLib

    • learnlib-commons-parent: Parent module for common LearnLib utilities

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

      • learnlib-datastructure-dt: Data- and utility classes for Discrimination Trees
      • learnlib-datastructure-list: Data- and utility classes for Lists
      • learnlib-datastructure-ot: Data- and utility classes for Observation Tables
      • learnlib-datastructure-pta: Data- and utility classes for Prefix-Tree-Acceptors
    • 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.

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

      • learnlib-drivers-basic: Basic Test Driver Generation Support
      • learnlib-mapper: Translation utilities for mapping abstract hypothesis symbols to concrete SUL symbols
      • learnlib-drivers-simulator: Utilities for simulating SULs
    • learnlib-examples: A collection of various small example applications that illustrate several use cases of LearnLib. Note: This artifact is not intended as a library, but only exists for educational purposes. No artifacts are deployed for this module.

    • learnlib-oracles-parent: Parent module for oracles and oracle-related modules

      • learnlib-emptiness-oracles: A collection of emptiness oracles
      • learnlib-equivalence-oracles: A collection of equivalence oracles
      • learnlib-filters-parent: Parent module for components that can be inserted in a chain of oracles
        • learnlib-cache: Caches to avoid posing duplicate membership queries
        • learnlib-reuse: Reuse Tree for (intelligently) caching membership queries
        • learnlib-statistics: Filters for collecting statistical data
      • learnlib-membership-oracles: A collection of membership oracles
      • learnlib-parallelism: Support for parallelizing membership queries
      • learnlib-property-oracles: A collection of property oracles
    • learnlib-test-support-parent: Functionality to ease writing test cases for LearnLib

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