LTS: LTS: Labelled Transition System

[ library, mit, program, state-machines ] [ Propose Tags ] [ Report a vulnerability ]

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


[Skip to Readme]

Modules

[Index] [Quick Jump]

Downloads

Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees

Candidates

  • No Candidates
Versions [RSS] 0.1.0.0
Change log CHANGELOG.md
Dependencies base (>=4.8.2.0 && <5), fin (>=0.1.1 && <0.2), LTS [details]
Tested with ghc ==8.2.2, ghc ==8.4.4, ghc ==8.6.5, ghc ==7.10.3
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
Executables LTS
Downloads 345 total (5 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs available [build log]
Last success reported on 2020-04-08 [all 1 reports]

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)