Dogfooding the Formal Semantics of mCRL2

  • Authors:
  • F. P. M. Stappers;M. A. Reniers;S. Weber;J. F. Groote

  • Affiliations:
  • -;-;-;-

  • Venue:
  • SEW '12 Proceedings of the 2012 35th Annual IEEE Software Engineering Workshop
  • Year:
  • 2012

Quantified Score

Hi-index 0.00

Visualization

Abstract

The mCRL2 language is a formal specification language that is used to specify, model, analyze and verify behavioral properties for distributed systems and protocols. The semantics of the mCRL2 language is defined formally using Structural Operational Semantics (SOS). In previous work, we propose an approach that takes the SOS of a formal language, along with a concrete model, that serves as an initialization, and transforms it to a Linear Process Specification (LPS). In this paper we extend the approach and show that it can be applied to a formal language that in practice is used to specify and model discussed systems. Hence, we take mCRL2's own operational semantics and transform it into an mCRL2 specification. In essence, this means that we are feeding the mCRL2 toolset its own formal language definition. This semantic dogfooding approach validates the implemented behavior for the mCRL2 language against its formal definition. By performing this exercise we revealed gaps between the defined and implemented semantics. These gaps have subsequently been resolved.