Skip to content

List of AutomataLib Artifacts

mtf90 edited this page Nov 7, 2023 · 3 revisions

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


  • net.automatalib:automata-parent: A fully generic library for automata, graphs, and models, written in Java. This is the parent artifact which does not have any source code. Please refer to the "modules" page for more detailed documentation on the single library artifacts.

    • net.automatalib:automata-adapters-parent: Common parent meta-project for various adapters, i.e., wrapper class that allow to treat automaton or graph models from other software libraries as AutomataLib automata or graphs.

      • net.automatalib:automata-brics: This artifact contains adapter classes for treating the Automaton objects from the BRICS library (http://www.brics.dk/automaton) as AutomataLib models.
    • net.automatalib:automata-api: This artifact contains the API of AutomataLib, which mainly consists of interfaces for the various concepts and automaton models supported by the AutomataLib core. In addition to that, it also defines some fundamental classes for dealing with words of symbols.

    • net.automatalib.archetypes:automata-archetypes-parent: Parent metaproject for archetypes that facilitate getting started with AutomataLib.

      • net.automatalib.archetypes:basic: The basic archetype, which provides preconfigured dependencies for the basic usage of AutomataLib.

      • net.automatalib.archetypes:complete: The complete archetype, which provides preconfigured dependencies on all artifacts of AutomataLib.

    • net.automatalib:automata-build-parent: A utility artifact, 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.

    • net.automatalib.tooling:automata-build-tools: Tools and resources required for building AutomataLib

    • net.automatalib:automata-commons-parent: Common parent metaproject for various small Java libraries which are required by AutomataLib, but are not specific to AutomataLib itself (i.e., are not or only indirectly related to modeling automata and graphs).

      • net.automatalib:automata-commons-smartcollections: This artifact provides efficient implementations for various collection data structures (esp. linked lists and priority queues), which have very insufficient implementation in the Java Collections Framework that makes it hard or even impossible to exploit their efficiencies.

      • net.automatalib:automata-commons-util: Basic utility library containing several useful classes (e.g., a Pair class) to ease everyday programming.

    • net.automatalib:automata-core: The core artifact of AutomataLib. This library contains concrete implementations for many of the automaton model interfaces defined in the API artifact, as well as abstract base classes that facilitate implementing new automaton model classes. Note that concrete algorithms (traversal, reachability analysis etc.) are part of the automata-util artifact.

    • net.automatalib.distribution:automata-distribution: An artifact that aggregates all other artifacts of AutomataLib 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 AutomataLib artifacts.

    • net.automatalib:automata-incremental: A library for incremental automata construction. This artifact contains algorithms for incrementally constructing DFAs (prefix-closed and non-prefix-closed), Mealy machines, and Moore machines from a finite, incrementally growing set of example inputs/outputs.

    • net.automatalib:automata-modelchecking-parent: Meta-module for various model checkers that can be used with automata and graph models from AutomataLib.

    • net.automatalib:automata-util: This artifact provides various common utility operations for analyzing and manipulating automata and graphs, such as traversal, minimization and copying.

    • net.automatalib:automata-serialization-parent: Serialization parent meta project for various (de-)serialization methods.

      • net.automatalib:automata-serialization-aut: (De-)Serializers for the AUT Format
      • net.automatalib:automata-serialization-core: Generic automata serialization core
      • net.automatalib:automata-serialization-dot: (De-)Serializers for the DOT Format
      • net.automatalib:automata-serialization-etf: Serializers for LTSmin's Enumerated Table Format
      • net.automatalib:automata-serialization-fsm: Deserializers for the Finite State Machine format
      • net.automatalib:automata-serialization-learnlibv2: (De-)Serializers for the legacy LearnLibV2 format
      • net.automatalib:automata-serialization-saf: (De-)Serializers for the Simple Automaton Format
      • net.automatalib:automata-serialization-taf: (De-)Serializers for the Textual Automaton Format
    • net.automatalib:automata-visualization-parent: Automata and Graph visualization libraries.

      • net.automatalib:automata-dot-visualizer: This artifact contains a visualization implementation for the GraphVIZ DOT (http://www.graphviz.org/) tool.

      • net.automatalib:automata-jung-visualizer: Visualizer using the Java Utility for Networks and Graphs