The Common Requirement Modeling Language


  • Daniel Bouskela
  • Lena Buffoni
  • Audrey Jardin
  • Vince Molnair
  • Adrian Pop
  • Armin Zavada



cyber-physical systems, systems engineering, requirement modelling, systems verification


CRML (the Common Requirement Modeling Language) is a new language for the formal expression of requirements. The ambition is to release the language as an open standard integrated into the open source modeling and simulation tool OpenModelica and interoperable with the open systems engineering standard SysMLv2. CRML allows to express requirements as multidisciplinary spatiotemporal constraints that can be verified against system design by co-simulating requirements models with behavioral models. Particular attention is paid to the following aspects. The requirements models must be easily legible and sharable between disciplines and stakeholders and must capture realistic constraints on the system, including time-dependent constraints with probabilistic criteria, in recognition of the fact that no constraint can be fulfilled at any time at any cost. The theoretical foundation of the language lies on 4-valued Boolean algebra, set theory and function theory. The coupling of the requirements models to the behavioral models is obtained through the specification of bindings, the automatic generation of Modelica code from the CRML model and use of the FMI and SSP standards. CRML and the proposed methodology is compatible with SysMLv2, forming a comprehensive work-flow and tool-chain encompassing requirement analysis, system design and V&V. The final objective is to facilitate the demonstration of correctness of system behavior against assumptions and requirements by building a workflow around Model-Driven Engineering and Open Standards for automating the creation of verification simulators.