mCRL2 is a specification language for describing concurrent discrete event systems. It is accompanied with a toolset, that facilitates tools, techniques and methods for simulation, analysis and visualization of behaviour. The behavioural part of the language is based on process algebra (Algebra of Communicating Processes). The data part of the toolset is based on abstract equational data types extended with higher-order functions.
- Groote, J.F., Mousavi, M.R. Modeling and analysis of communicating systems. The MIT press. 2014. ISBN 9780262027717.