Specifying systems that connect to the physical world

Well understood methods exist for developing programs from formal specifications. Such methods offer a precise check that certain sorts of deviations from their specifications are absent from programs. This leaves (among other issues) the task of obtaining a specification. For tasks that are fully described in terms of the symbolic values within a machine, this might not be too difficult but there is an increasing demand for systems in which programs interact with an external physical world. Typical of such applications are control programs that attempt to bring about changes in the physical world via actuators and measure things in that world via sensors. Here, the task of fixing the specification can be more challenging than the task of deriving a program from that specification. Furthermore, most systems of this class must tolerate failures in the physical components outside the computer: it then becomes still harder to achieve confidence that the specification is appropriate. This paper gives a systematic way to {\em derive} the specification of a control program, based on explicit assumptions about the physical world. It also discusses an approach to separating the detection and management of faults from system operation in the absence of faults © 2006 University of Newcastle upon Tyne. Printed and published by the University of Newcastle upon Tyne, Computing Science, Claremont Tower, Claremont Road, Newcastle upon Tyne, NE1 7RU, England. Bibliographical details JONES, C. B., HAYES, I. J., JACKSON, M. A. Specifying systems that connect to the physical world [By] C. B. Jones, I. J. Hayes, M. A. Jackson. Newcastle upon Tyne: University of Newcastle upon Tyne: Computing Science, 2006. (University of Newcastle upon Tyne, Computing Science, Technical Report Series, No. CS-TR-964)

[1]  Cliff B. Jones,et al.  Extending the Horizons of DSE , 2004 .

[2]  Michael Jackson,et al.  The structure of software development thought , 2006 .

[3]  Fred B. Schneider,et al.  Derivation of sequential, real-time, process-control programs , 1991 .

[4]  Cliff B. Jones,et al.  Specification and Design of (Parallel) Programs , 1983, IFIP Congress.

[5]  Manfred Broy,et al.  Specification and Development of Interactive Systems , 2001, Monographs in Computer Science.

[6]  Cliff B. Jones,et al.  Systematic software development using VDM , 1986, Prentice Hall International Series in Computer Science.

[7]  Fred B. Schneider,et al.  Hybrid Verification by Exploiting the Environment , 1994, FTRTFT.

[8]  Joey W. Coleman,et al.  Examples of how to Determine the Specifications of Control Systems , 2005 .

[9]  Cliff B. Jones,et al.  Structure for dependability - computer-based systems from an interdisciplinary perspective , 2005 .

[10]  Cliff B. Jones,et al.  Determining the Specification of a Control System from That of Its Environment , 2003, FME.

[11]  Fred B. Schneider,et al.  Reasoning about Programs by Exploiting the Environment , 1994, ICALP.

[12]  Cliff B. Jones,et al.  Developing methods for computer programs including a notion of interference , 1981 .

[13]  Ian J. Hayes,et al.  A Case-Study in Timed Refinement: A Mine Pump , 1992, IEEE Trans. Software Eng..

[14]  Helen M. Edwards,et al.  Problem frames: analyzing and structuring software development problems , 2002, Softw. Test. Verification Reliab..

[15]  Jean-Raymond Abrial,et al.  The B-book - assigning programs to meanings , 1996 .

[16]  G. Baxter,et al.  Modelling Temporal Behaviour in Complex Socio-Technical Systems , 2005 .

[17]  Alan Burns,et al.  Time bands in systems structure , 2006 .

[18]  Ian J. Hayes,et al.  Using Continuous Real Functions to Model Timed Histories , 1991 .

[19]  Cliff B. Jones,et al.  Accommodating interference in the formal design of concurrent object-based programs , 1996, Formal Methods Syst. Des..

[20]  C. A. R. Hoare,et al.  A Calculus of Durations , 1991, Inf. Process. Lett..