PyDMTs: A Deterministic Moore Transducers M,A&S suite

Main
Documentation
Distribution
People

Main

PyDMTs is a modelling, analysis and simulation suite for deterministic Moore transducers (DMTs) (in Python.)

A DMT is a kind of automaton that has the following features:

  • It is reactive: It can react to any input (from a given set) from any state.
  • It is a transducer: there are no ``accepting'' or ``terminal'' states. Instead, output is generated as long as input is received (as opposed to classical automata.)
  • It is a Moore machine: output is associated with each state rather than with each transition (as opposed to Mealy machines.)
  • It is deterministic: the transition relation is a function. From any state, given any input the machine there is only one possible next state.

Some of the most relevant features of the suite are:

  • Models are described in an Object-Oriented fashion. Transition and output functions can be given either as Python functions or dictionaries.
  • Simulation gives state trajectories and output traces.
  • Analysis tools: bisimilarity checker, abstractor/optimizer. The bisimilarity checker provides bisimulations if the test succeeds, and input traces that cause failure, if the test fails. The abstractor generates a minimal realization of a given machine.