Abstract
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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
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.
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 ).
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.
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.
Potter B, Sinclair J, Till D. An Introduction to Formal Specification and Z. Prentice Hall International (UK) Ltd, Hemel Hempstead, Hertfordshire, 1991.
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.
Spivey JM. The Z Notation: A Reference Manual. Prentice-Hall, New York, 1989.
Spivey JM. The FUZZ Manual. J. M. Spivey Computing Science Consultancy, Oxford, 1991. Second Printing.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 1993 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Jacky, J. (1993). Formal Specification and Development of Control System Input / Output. In: Bowen, J.P., Nicholls, J.E. (eds) Z User Workshop, London 1992. Workshops in Computing. Springer, London. https://doi.org/10.1007/978-1-4471-3556-2_7
Download citation
DOI: https://doi.org/10.1007/978-1-4471-3556-2_7
Publisher Name: Springer, London
Print ISBN: 978-3-540-19818-5
Online ISBN: 978-1-4471-3556-2
eBook Packages: Springer Book Archive