- Added algorithms for computing adaptive distinguishing sequences for Mealy machines.
- Added support for adding alphabet symbols after initial automaton construction.
- Added support for Visibly Push-Down Automata (VPDA) in form of 1-SEVPAs.
- Added (de-)serializers for the AUT format (see #14).
- Added lazy (iterator based) methods for computing state- and transition covers, W-Method and Wp-Method tests.
- Added a serializer for the SAF format.
Refactored the Maven artifact and Java package structure. Have a look at the List of AutomataLib Artifacts for an updated overview of available artifacts. In general, no functionality should have been removed (except of code marked with
@Deprecated). The easiest way to migrate your code to the new version is probably by using the Auto-Import feature of your IDE of choice.
The non-trivial refactorings include:
- API methods no longer use wildcards in generic return parameters. This allows your code to not having to deal with them.
- The visualization facade has been generified. Any
getGraphDOTHelper()related code has been renamed to the more general
Visualizationclass now works by providing either the
automata-jung-visualizerJAR at runtime. This allows for potentially more visualizers in the future.
System.outlogging, with calls to an SLF4j facade.
Code improvements due to employment of several static code-analysis plugins (findbugs, checkstyle, PMD, etc.) as well as setting up continuous integration at Travis CI.
- Several classes and methods annotated with
- Several bugs detected either by our newly employed static code-analysis toolchain or by our ongoing efforts to write tests.