Verifying data refinements using a model checker

  • Authors:
  • Graeme Smith;John Derrick

  • Affiliations:
  • School of Information Technology and Electrical Engineering, The University of Queensland, 4072, Brisbane, Australia;Department of Computer Science, University of Sheffield, S1 4DP, Sheffield, UK

  • Venue:
  • Formal Aspects of Computing
  • Year:
  • 2006

Quantified Score

Hi-index 0.00

Visualization

Abstract

In this paper, we consider how refinements between state-based specifications (e.g., written in Z) can be checked by use of a model checker. Specifically, we are interested in the verification of downward and upward simulations which are the standard approach to verifying refinements in state-based notations. We show how downward and upward simulations can be checked using existing temporal logic model checkers.In particular, we show how the branching time temporal logic CTL can be used to encode the standard simulation conditions. We do this for both a blocking, or guarded, interpretation of operations (often used when specifying reactive systems) as well as the more common non-blocking interpretation of operations used in many state-based specification languages (for modelling sequential systems). The approach is general enough to use with any state-based specification language, and we illustrate how refinements between Z specifications can be checked using the SAL CTL model checker using a small example.