1
Fork 0
mirror of https://git.cs.ou.nl/joshua.moerman/mealy-decompose.git synced 2025-04-30 02:07:44 +02:00
mealy-decompose/README.md

41 lines
1.1 KiB
Markdown

mealy-decompose
===============
Tools to investigate decomposition of Mealy machines, aka finite state
machines (FSMs). Notable entry points are:
* `hs/app/Main.hs` is a heuristic to decompose finite state machines into
multiple components, based on their outputs.
* `py/decompose_fsm_optimise.py` does the same, but optimally and with a
SAT solver. This can only handle state spaces of at most a few hundred
states.
* `hs/app/RandomGen.hs` for generating FSMs which are decomposable.
## How to run
The the haskell tools (tested with ghc 9.2.8, ghc 9.4.8, and ghc 9.10.1):
```
cabal run mealy-decompose-main -- -h
```
For the python tools (tested with python 3.12):
```
pip install -r py/requirements.txt
python py/decompose_fsm_optimise.py -h
```
## Copyright notice and license
(c) 2024-2025 Joshua Moerman, Open Universiteit, licensed under the EUPL
(European Union Public License). You may find the license in the LICENSE file.
If you want to use this library and find the license not suitable for you,
then please do get in touch.
```
SPDX-License-Identifier: EUPL-1.2
```