Generalised Substitution Language and Differentials

  • Authors:
  • James Blow;Andy Galloway

  • Affiliations:
  • -;-

  • Venue:
  • ZB '02 Proceedings of the 2nd International Conference of B and Z Users on Formal Specification and Development in Z and B
  • Year:
  • 2002

Quantified Score

Hi-index 0.00

Visualization

Abstract

Embedded continuous control systems can be thought of as implementing complex (piecewise and pipelined) differential functions. Each 'piece' of the function may be preconditioned with a 'domain of applicability', which prescribes the circumstances the piece was designed to handle. The preconditions often involve rate of change, i.e. differentials, as well as range constraints. In this paper we present an adaptation of the substitution calculus which can be used to reason about such systems. Our approach is based on generalising the traditional view that a component is a fragment of a sequential programme. We consider a component to be an autonomous transformation which is 'clocked' to perform its computation at regular intervals, over and over again. In the case of such a component we can generalise the notion of weakest precondition to traces (sequences of values) of inputs and outputs. In our approach we characterise such traces by 'step' predicates over adjacent elements in the trace. We also generalise our calculus to cover nth order differentials. Since analysis can be performed at a comparable complexity to regular wp, our techniques are a powerful tool in the validation of continuous control systems.