Abstract
Existing formal techniques for the development of software for use in safety-critical systems do not adequately address non-functional system requirements such as those involving timing. In this paper we describe a formal development method in which specifications may be decomposed into unexceptional programs whilst preserving the functional and timing requirements of the specification. We illustrate the method with a speed monitoring example.
Similar content being viewed by others
References
Bowen, J., and Stavridou, V. 1993. Safety-critical systems, formal methods and standards. Software Engineering Journal 8(4): 189–209.
Currie, I. F. 1986. Newspeak: an unexceptional language. Software Engineering Journal 1(3): 170–176.
Currie, I. F. 1989. NewSpeak—a reliable programming language. In (Chris Sennett, ed.) High-integrity Software, Computer Systems Series, pp. 122–158. Pitman.
Davies, J. W., and Schneider, S. 1992. A brief history of timed CSP. University of Oxford, Technical Report PRG-96.
Dawes, J. 1991. The VDM-SL Reference Guide. Pitman.
Fidge, C. J. 1993. Real-time refinement. FME '93: Industrial-Strength Formal Methods. Springer-Verlag Lecture Notes in Computer Science 670.
Froome, P. K. D. 1990. SpecBox. Adelard Software.
VDM-SL Tool Group. 1994. IFAD VDM-SL Toolbox.
Haase, V. H. 1981. Real-time behavior of programs. IEEE Transactions on Software Engineering 7(5).
Hehner, E. C. R. 1989. Real-Time Programming. Information Processing Letters 30(1): 51–56.
J. Hooman. 1991. Specification and Compositional Verification of Real-Time systems. Ph.D. thesis, Eindhoven University of Technology. Available as Springer-Verlag Lecture Notes in Computer Science 558.
Jones, C. B. 1990. Systematic Software Development Using VDM. Prentice-Hall International.
Kershaw, R. J. W. 1986. What is NewSpeak? Memorandum 403–86, RSRE.
MOD. 1991. The procurement of safety critical software in defence equipment. Interim Standard 00–55 Issue 1, Ministry of Defence, Directorate of Standardization, Kentigern House, 65 Brown Street, Glasgow G2 8EX.
Moller, F., and Tofts, C. 1992. An overview of TCCS. University of Edinburgh Computer Science Department, Technical Report.
Morgan, C. C. 1990. Programming from Specifications. Prentice-Hall International.
Mukherjee, P. 1993. Rules for Orwellian Decomposition. University of Birmingham, Technical Report CSR–93–13.
Mukherjee, P. 1994. A semantics for NewSpeak in VDM-SL. In (T. Denvir, M. Naftalin, and M. Bertran, eds.), FME '94: Industrial Benefit of Formal Methods, Formal Methods Europe, Springer Verlag Lecture Notes in Computer Science 873.
Mukherjee, P., and Stavridou, V. 1995. A theory of Orwellian specifications with NewThink. Formal Aspects of Computing 7(6): 704–727.
Puschner, P., and Koza, C. 1989. Calculating the maximum execution time of real-time programs. Real-Time Systems 1(2).
Scholefield, D. J. 1992. A Refinement Calculus for Real-Time Systems. PhD thesis, University of York, Department of Computer Science. Available as Technical Report YCST 92/07.
Shaw, A. C. 1989. Reasoning about time in higher-level language software. IEEE Transactions on Software Engineering 15(7).
Skakkebæk, J. U., and Sestoft, P. 1994. Checking validity of duration calculus formulas. Technical University of Denmark, ProCos II Project Report ID/DTH JUS 3/1.
Zhou, C. C., Hoare, C. A. R., and Ravn, A. P. 1992. A calculus of durations. Information Processing Letters 40(5): 269–276.
Author information
Authors and Affiliations
Rights and permissions
About this article
Cite this article
Mukherjee, P., Stavridou, V. Decomposition in Real-Time Safety-Critical Systems. Real-Time Systems 14, 183–202 (1998). https://doi.org/10.1023/A:1007969017781
Issue Date:
DOI: https://doi.org/10.1023/A:1007969017781