3

I want to be able to model a system as a finite state machine and test the properties of the model against temporal logic specifications.

I am aware of StateFlow's model-checking capabilities, but if possible I would prefer to use Python because it is open-source. I am also aware of TuLiP as a solid option for designing and simulating finite state machines, but as far as I can tell it does not do model-checking. The FSM package list on the Python wiki seems to be full of similarly implementation-focused packages.

Does anyone know of a different Python package which is capable of model-checking per temporal logic design specifications?

KPM
  • 331
  • 1
  • 13

1 Answers1

7

There are plenty of free model checkers such as NuSMV and Spin https://en.wikipedia.org/wiki/List_of_model_checking_tools

https://github.com/johnyf/tool_lists/blob/master/verification_synthesis.md

I doubt that you find many python based tool, but there are a few available

PyNuSMV - a python frontend to NuSMV, industrial strength free model checker https://github.com/sbusard/pynusmv

Spot - an LTL-omega-automata library for model checking with a python binding https://spot.lrde.epita.fr/

Small CTL, CTL* and LTL Buchi automata model checker https://github.com/albertocasagrande/pyModelChecking

PyBoolNet A frontend to NuSMV https://github.com/hklarner/PyBoolNet along with misc bool net

Intrepyd https://github.com/formalmethods/intrepyd

Hardware LTL model checker https://github.com/cristian-mattarei/CoSA

HyLaa Hybrid Systems model checker https://github.com/stanleybak/hylaa

Serge
  • 3,387
  • 3
  • 16
  • 34