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]
Dependencies base (>=4.0 && <5.0), cmdargs (==0.10.*), containers (==0.5.*), 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.*), prettyclass (==1.0.*), syb (==0.7.*), transformers (>=0.5), xml (==1.3.*) [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 Thu Oct 26 16:08:56 UTC 2017
Distributions NixOS:
Executables cspm
Downloads 4844 total (19 in the last 30 days)
Rating (no votes yet) [estimated by rule of succession]
Your Rating
  • λ
  • λ
  • λ
Status Docs available [build log]
Last success reported on 2017-10-26 [all 1 reports]
Hackage Matrix CI




Maintainer's Corner

For package maintainers and hackage trustees

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