Determining the Specification of a Control System from That of Its Environment
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.
- 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.Jackson, M.A.: Problem Frames: Analyzing and structuring software development problems. Addison-Wesley, Reading (2001)Google Scholar
- 6.Jackson, M.: Software Requirements & Specifications: a lexicon of practice, principles and prejudices. Addison-Wesley, Reading (1995)Google Scholar
- 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.Jones, C.B.: Specification and design of (parallel) programs. In: Proceedings of IFIP 1983, pp. 321–332. North-Holland, Amsterdam (1983)Google Scholar
- 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
- 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