BALM-II

BALM-II (Berkeley Automata and Language Manipulation) aims at providing an experimental environment for efficient manipulation of finite automata in various application domains, e.g., synthesis, verification, control, etc. The environment features the most typical automata operations, such as determinization and state minimization, as well as some visualization capabilities, which rely on the powerful graph visualization software (like Graphviz). The applicability of BALM-II to finite-state machine synthesis is demonstrated by solving an unknown component problem formulated using language equations.

BALM

Downloads

Available packages:

Download Debian package

The source code is available in both tarball and zip:

Download source (.tar.gz) Download source (.zip)

If you're using a Debian-based distribution like Ubuntu, just download the .deb file and install it, either through GDebi or simply using dpkg:

sudo dpkg -i balm_1.0_all.deb

If you want to compile it, just make sure you installed the correct dependencies:

sudo apt install -y git build-essential gcc-multilib libreadline-dev

and then run:

./configure prefix=/usr/local
make
sudo make install

The compilation was tested under Ubuntu 18.04 64-bit.

You can find BALM-II's user manual here. For historical documentation we provide also the manual of the first release of BALM, available here. There is also an article about automated synthesis of protocol converters with BALM-II, which you find here.