About AutomataLib

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.

Project Modules

This project has declared the following modules:

Name Description
AutomataLib :: Adapters Common parent metaproject for various adapters, i.e., wrapper class that allow to treat automaton or graph models from other software libraries as AutomataLib automata or graphs.
AutomataLib :: 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.
AutomataLib :: Archetypes Parent metaproject for archetypes that facilitate getting started with AutomataLib.
AutomataLib :: 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.
AutomataLib :: Build Tools Tools and resources required for building AutomataLib
AutomataLib :: Commons 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).
AutomataLib :: 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 not in the scope of this artifact.
AutomataLib :: 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.
AutomataLib :: Examples A collection of various small example applications that illustrate several use cases of AutomataLib. *Note:* This artifact is not intended as a library, but only exists for educational purposes. No artifacts are deployed for this module.
AutomataLib :: Incremental A library for incremental automata construction. This artifact contains algorithms for incrementally constructing DFAs (both prefix-closed and non-prefix-closed) and Mealy machines from a finite, incrementally growing set of example inputs/outputs.
AutomataLib :: Model Checking AutomataLib model checking libraries.
AutomataLib :: Utilities This artifact provides various common utility operations for analyzing and manipulating automata and graphs, such as traversal, minimization and copying.
AutomataLib :: Serialization Serialization parent metaproject for various (de-)serialization methods.
AutomataLib :: Visualization Automata and Graph visualization libraries.