Attention: This version of LearnLib (JLearn) is out of date and no longer maintained. The current version can be found on Gitub.com.
LearnLib. a framework for automata learning

Motivation for automata learning

Most systems in use today lack adequate specifications or make use of un(der) specified components. In fact, the much propagated component-based hard- and software design style naturally leads to underspecified systems, as most libraries and third party components only provide very partial specifications. To improve this situation automata learning techniques have been proposed. They enable the automatic construction and subsequent update of behavioral models.

What is LearnLib?

LearnLib is a framework for automata learning and experimentation. Its modular structure allows users to configure their tailored learning scenarios, which exploit specific properties of the envisioned applications. Learning involves a wide range of concerns, from algorithms to system connectors. LearnLib is based on a flexible component model, designed to cover concerns of learning from start to finish.

LearnLib Studio is LearnLib's graphical interface for designing and executing learning setups. A complete learning solution is usually composed of several components, some of which are optional: learning algorithms for various model types, system adapters, query filters and caches, model exporters, statistical probes, abstraction providers, handlers for counterexamples etc..

Many of these components are reusable in nature. LearnLib Studio makes them available as easy-to-use building blocks for the graphical composition of application-fit learning experiments.