Formal Specification and Development of Control System Input / Output

  • Jonathan Jacky
Conference paper
Part of the Workshops in Computing book series (WORKSHOPS COMP.)


This paper presents a formal specification in the Z notation for computations that calculate control system state variables from input / output device register contents (and vice-versa). The specification is motivated by a particular medical device but is quite generic and should be widely applicable. The specification is parameterised so that an implementation can be adapted to different control systems by providing tables of configuration data, rather than changing executable code. Specified behaviours include detection of errors (where clients invoke operations with invalid parameters) and faults (where input / output devices report invalid data). The specification is not merely descriptive, but is also used in the formal development (or “refinement”) of a detailed design. From an initial specification which naturally expresses the requirements, but is abstract and non-constructive, we derive a functionally equivalent specification (also in Z), which suggests a straightforward and efficient implementation in an imperative programming language. Formal justification is provided for each step in the derivation. Theorems are stated that formalise claims such as “All inputs are handled properly.” Proving the theorems checks for errors in the derivation, and provides confidence that the formal specification expresses the intended requirements.


Operation Schema Register Content Executable Code Translation Function Register Address 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [1]
    Craigen D. FM89: Assessment of formal methods for trustworthy computer systems. In 12th International Conference on Software Engineering Proceedings, pp 233 — 235. IEEE Computer Society, 1990.Google Scholar
  2. [2]
    Jacky J. Formal specifications for a clinical cyclotron control system. In Moriconi M (ed), Proceedings of the ACM SIGSOFT International Workshop on Formal Methods in Software Development, pp 45 — 54, Napa, California, USA, 1990. (also in ACM Software Engineering Notes, 15(4), Sept. 1990 ).Google Scholar
  3. [3]
    Jacky J. Formal specification and development of control system input/output (revised). Technical Report 92–11–02, Radiation Oncology Department, University of Washington, Seattle, WA, 1992.Google Scholar
  4. [4]
    Jacky J, Risler R, Kalet I, Wootton P. Clinical neutron therapy system, control system specification, part is System overview and hardware organization. Technical Report 90–12–01, Radiation Oncology Department, University of Washington, Seattle, WA, 1990.Google Scholar
  5. [5]
    Potter B, Sinclair J, Till D. An Introduction to Formal Specification and Z. Prentice Hall International (UK) Ltd, Hemel Hempstead, Hertfordshire, 1991.Google Scholar
  6. [6]
    Risler R, Eenmaa J, Jacky JP, Kalet IJ, Wootton P, Lindbaeck S. Installation of the cyclotron based clinical neutron therapy system in Seattle. In Proceedings of the Tenth International Conference on Cyclotrons and their Applications, pp 428 — 430, East Lansing, Michigan, 1984. IEEE.Google Scholar
  7. [7]
    Spivey JM. The Z Notation: A Reference Manual. Prentice-Hall, New York, 1989.MATHGoogle Scholar
  8. [8]
    Spivey JM. The FUZZ Manual. J. M. Spivey Computing Science Consultancy, Oxford, 1991. Second Printing.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1993

Authors and Affiliations

  • Jonathan Jacky
    • 1
  1. 1.Department of Radiation Oncology RC-08University of WashingtonSeattleUSA

Personalised recommendations