Towards refinement in realtime programming

The objective of the research presented is the development of an approach for developing real time programs by successive refinement of abstract specifications. It is based on the approach by C. Morgan (1994), which assures the correctness of non real time sequential programs on the basis of the 'method of construction'. The consideration of time, however, makes the refinement a more complex task, primarily because the execution time of any program depends not only on the program itself but also on factors outside it, namely, on compiler strategies, architecture of the underlying machine, its run time environment and so on. Furthermore, real time programs may have explicitly specified timing constraints such as the arrival time of the request for program execution, the computation time and the deadline or the request period depending on whether the program is to be executed periodically or not. Production or communication time of data may also play a crucial role in real time programs. The paper introduces a framework for refinement in real time programs and a number of refinement rules. It demonstrates the approach using a case study.

[1]  Alan C. Shaw,et al.  Reasoning About Time in Higher-Level Language Software , 1989, IEEE Trans. Software Eng..

[2]  Alan C. Shaw,et al.  Experiments with a program timing tool based on source-level timing schema , 1990, [1990] Proceedings 11th Real-Time Systems Symposium.

[3]  Jozef Hooman Specification and verification of a distributed real-time arbitration protocol , 1993, 1993 Proceedings Real-Time Systems Symposium.

[4]  Volkmar H. Haase,et al.  Real-Time Behavior of Programs , 1981, IEEE Transactions on Software Engineering.

[5]  Carroll Morgan,et al.  Programming from specifications , 1990, Prentice Hall International Series in computer science.

[6]  P. H. Watson,et al.  Real-time system scenarios , 1990, [1990] Proceedings 11th Real-Time Systems Symposium.