Determining the Specification of a Control System from That of Its Environment

  • Ian J. Hayes
  • Michael A. Jackson
  • Cliff B. Jones
Part of the Lecture Notes in Computer Science book series (LNCS, volume 2805)


Well understood methods exist for developing programs from given specifications. A formal method identifies proof obligations at each development step: if all such proof obligations are discharged, a precisely defined class of errors can be excluded from the final program. For a class of "closed" systems such methods offer a gold standard against which less formal approaches can be measured.

For "open" systems -those which interact with the physical world- the task of obtaining the program specification can be as challenging as the task of deriving the program. And, when a system of this class must tolerate certain kinds of unreliability in the physical world, it is still more challenging to reach confidence that the specification obtained is adequate. We argue that widening the notion of software development to include specifying the behaviour of the relevant parts of the physical world gives a way to derive the specification of a control system and also to record precisely the assumptions being made about the world outside the computer.


  1. 1.
    Abrial, J.-R.: The B-Book: Assigning programs to meanings. Cambridge University Press, Cambridge (1996)zbMATHCrossRefGoogle Scholar
  2. 2.
    Broy, M., Stølen, K.: Specification and Development of Interactive Systems. Springer, Heidelberg (2001)zbMATHCrossRefGoogle Scholar
  3. 3.
    Chaochen, Z., Hoare, C.A.R., Ravn, A.P.: A calculus of durations. Information Processing Letters 40, 269–271 (1991)MathSciNetzbMATHCrossRefGoogle Scholar
  4. 4.
    Jackson, M.A.: Problem analysis and structure. In: Hoare, T., Broy, M., Steinbruggen, R. (eds.) Engineering Theories of Software Construction Proceedings of the NATO Summer School, Marktoberdorf. IOS Press, Amsterdam (August 2000)Google Scholar
  5. 5.
    Jackson, M.A.: Problem Frames: Analyzing and structuring software development problems. Addison-Wesley, Reading (2001)Google Scholar
  6. 6.
    Jackson, M.: Software Requirements & Specifications: a lexicon of practice, principles and prejudices. Addison-Wesley, Reading (1995)Google Scholar
  7. 7.
    Jones, C.B.: Development Methods for Computer Programs including a Notion of Interference. PhD thesis, Oxford University, Printed as: Programming Research Group, Technical Monograph 25 (June 1981)Google Scholar
  8. 8.
    Jones, C.B.: Specification and design of (parallel) programs. In: Proceedings of IFIP 1983, pp. 321–332. North-Holland, Amsterdam (1983)Google Scholar
  9. 9.
    Jones, C.B.: Systematic Software Development using VDM, 2nd edn. Prentice Hall International, Englewood Cliffs (1990) ISBN 0-13-880733-7zbMATHGoogle Scholar
  10. 10.
    Jones, C.B.: Accommodating interference in the formal design of concurrent object-based programs. Formal Methods in System Design 8(2), 105–122 (1996)CrossRefGoogle Scholar
  11. 11.
    Jones, C.B.: Compositionality, interference and concurrency. In: Davies, J., Roscoe, B., Woodcock, J. (eds.) Milennial Perspectives in Computer Science, pp. 175–186. Macmillian Press (2000)Google Scholar
  12. 12.
    Mahony, B.P., Hayes, I.J.: A case study in timed refinement: A central heater. In: Proc. BCS/FACS Fourth Refinement Workshop, Workshops in Computing, January 1991, pp. 138–149. Springer, Heidelberg (1991)CrossRefGoogle Scholar
  13. 13.
    Mahony, B.P., Hayes, I.J.: Using continuous real functions to model timed histories. In: Bailes, P.A. (ed.) Proc. 6th Australian Software Engineering Conf (ASWEC 1991), pp. 257–270. Australian Comp. Soc. (1991)Google Scholar
  14. 14.
    Mahony, B.P., Hayes, I.J.: A case-study in timed refinement: A mine pump. IEEE Trans. on Software Engineering 18(9), 817–826 (1992)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2003

Authors and Affiliations

  • Ian J. Hayes
    • 1
  • Michael A. Jackson
    • 2
  • Cliff B. Jones
    • 3
  1. 1.School of Information Technology and Electrical EngineeringThe University of QueenslandBrisbaneAustralia
  2. 2.101 Hamilton TerraceLondonEngland
  3. 3.School of Computing ScienceThe University of Newcastle-upon-TyneEngland

Personalised recommendations