@mtf90 mtf90 released this Feb 27, 2018 · 182 commits to develop since this release

Assets 2

Breaking changes

  • 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 getVisualizationHelper() terminology. The Visualization class now works by providing either the automata-dot-visualizer or automata-jung-visualizer JAR at runtime. This allows for potentially more visualizers in the future.

New features

  • 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

Misc

  • Replaced System.out logging, with calls to a 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.
  • Tests, tests, tests.
  • Bugfixes, bugfixes, bugfixes.