LTS: LTS: Labelled Transition System

[ library, mit, program, state-machines ] [ Propose Tags ]

This is an implementation of labelled transition system and follow the README for information on importing and getting started.


[Skip to Readme]
Versions [faq] 0.1.0.0
Change log CHANGELOG.md
Dependencies base (>=4.8.2.0 && <5), fin (>=0.1.1 && <0.2), LTS [details]
License MIT
Copyright ©2020 Ajay Kumar Eeralla
Author Ajay Kumar Eeralla
Maintainer aeeralla@galois.com
Category State Machines
Source repo head: git clone git@github.com:ajayeeralla/LTS.git
Uploaded by ajayeeralla at 2020-04-08T18:40:31Z
Distributions NixOS:0.1.0.0
Executables LTS
Downloads 87 total (27 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Hackage Matrix CI
Docs available [build log]
Last success reported on 2020-04-08 [all 1 reports]

Modules

[Index] [Quick Jump]

Downloads

Maintainer's Corner

For package maintainers and hackage trustees


Readme for LTS-0.1.0.0

[back to package description]

LTS: Labelled Transition System

Travis MIT license

This is a library that implements a labelled transition system that can be either deterministic or non-deterministic.

Example

Here is an example to use LTS library:

import Data.LTS

main = do
    let s0 :: LTSState Int = LTSState {stateId=0, out=3}
    let s1 :: LTSState Int = LTSState {stateId=1, out=5}
    let s2 :: LTSState Int = LTSState {stateId=2, out=7}
    let t1 :: Transition Int Char = Transition {transitionFrom=s0, transitionGuard='a', transitionTo=s1}
    let t2 :: Transition Int Char = Transition {transitionFrom=s1, transitionGuard='b', transitionTo=s2}

    putStrLn "depth of LTS [t1, t2]:"
    print (depth [t1, t2] s0)