CSPM-cspm: cspm command line tool for analyzing CSPM specifications.

[ bsd3, concurrency, formal-methods, language, library, program ] [ Propose Tags ]

cspm is a small command line tool for analyzing CSPM specifications.

[Skip to Readme]


Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees


  • No Candidates
Versions [RSS],,,,,,,,,,
Dependencies base (>=4.0 && <5.0), cmdargs (>=0.10 && <0.11), containers (>=0.5 && <0.6), CSPM-CoreLanguage (>=0.3.1 && <0.4), CSPM-FiringRules (>=0.4.4 && <0.5), CSPM-Frontend (>=0.12.1 && <0.13), CSPM-Interpreter (>=0.7.1 && <0.8), CSPM-ToProlog (>=0.5.5 && <0.6), hslua (>=0.3.12 && <0.4), parallel (>=3.2 && <3.3), prettyclass (>=1.0 && <1.1), syb (>=0.7 && <0.8), transformers (>=0.5), xml (>=1.3 && <1.4) [details]
License BSD-3-Clause
Author Marc Fontaine <Marc.Fontaine@gmx.de>
Maintainer Marc Fontaine <Marc.Fontaine@gmx.de>
Category Language, Formal Methods, Concurrency
Source repo head: git clone git://github.com/MarcFontaine/cspm
Uploaded by MarcFontaine at 2017-10-26T16:08:56Z
Reverse Dependencies 1 direct, 0 indirect [details]
Executables cspm
Downloads 10870 total (27 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs available [build log]
Last success reported on 2017-10-26 [all 1 reports]

Readme for CSPM-cspm-

[back to package description]


This package provides the cspm executable. The cspm executable serves as a command line interface to the other CSPM-packages. It can be used to parse, translate and interpret cspm specifications and to compute the labeled transition system (LTS) of a specification.


cspm has several modes of operation:

  • 'cspm --help' -> print a help message.
  • 'cspm eval '3+4'' -> evaluate an expression.
  • 'cspm trace spec.csp' -> interactively trace a process.
  • 'cspm assert spec.csp' -> check the assertions of a specification (only some assertions are supported).
  • 'cspm lts spec.csp --dotOut spec.csp.dot' -> compute the labeled transition system of a process and dump it as dot-file.
  • 'cspm lts spec.csp --fdrOut spec.csp.fdr' -> compute the LTS and dump it a fdr script suitable for refinement checking.

Lua Interface

cspm comes with a built-in lua interpreter.

Multi Core Support

LTS computation can demonstrate nice speed-ups on multi-core machines. Try for example 'cspm +RTS -N7 -RTS fdr spec.csp' to use 7 cores.

Haddock documentation