Interactive tool support for CSP || B consistency checking

  • Authors:
  • Neil Evans;Helen Treharne

  • Affiliations:
  • AWE, Aldermaston, RG7 4PR, Reading, Berkshire, UK;University of Surrey, Department of Computing, RG7 4PR, Guildford, Berkshire, UK

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

Quantified Score

Hi-index 0.00

Visualization

Abstract

CSP || B is an integration of two well known formal notations: CSP and B. It provides a method for modelling systems with both complex state (described in B machines) and control flow (described as CSP processes). Consistency checking within this approach verifies that a controller process never calls a B operation outside its precondition. Otherwise the behaviour of the operation cannot be predicted. In previous work, this check was carried out by manually decomposing the model before preprocessing the CSP processes to perform a hand-written weakest precondition proof. In this paper, a framework is described that mechanises consistency checking in a theorem prover and removes the need for preprocessing. This work is based on an existing PVS embedding of the CSP traces model, but it is extended by introducing a notion of state so that the interaction between processes and machines can be analysed. Numerous rules have been defined (and proved) which enable consistency checking and decomposition via PVS proof. These rules also formally justify the relaxation of previous constraints on CSP || B architectures, thereby widening the scope of CSP || B modelling. The PVS embedding and rules presented in this paper are not only applicable to CSP || B specifications, but to other combined approaches which use a non-blocking semantics for the state-based operations.