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.
The toolset was founded by Jan Friso Groote and is currently developed by the Formal Systems Analysis group at Eindhoven University of Technology, The Netherlands.