A Formal Method for Building Concurrent Real-Time Software

Developing concurrent real-time programs is one of computer science's greatest challenges. Not only is such software expensive to manufacture, but its role in safety-critical systems demands that it be correct. Formal methods of program specification and refinement could strengthen the mathematical precision used to develop such software. Nevertheless, formalisms that embrace both real-time and concurrency requirements are only just emerging. The Quartz method treats time and functional behavior with equal importance in the development process. The authors argue that by modeling program development in a unified framework, we can increase our confidence in the correctness of real-time concurrent code.

[1]  Jonathan P. Bowen,et al.  Safety-critical systems, formal methods and standards , 1993, Softw. Eng. J..

[2]  Peter P. Puschner,et al.  Developing real-time tasks with predictable timing , 1992, IEEE Software.

[3]  Parameswaran Ramanathan,et al.  Real-time computing: a new discipline of computer science and engineering , 1994, Proc. IEEE.

[4]  Colin J. Fidge,et al.  Integrating Real-Time Scheduling Theory and Program Refinement , 1996, FME.

[5]  Theodore S. Norvell Machine Code Programs are Predicates Too , 1994, Refine.

[6]  Ralph-Johan Back,et al.  Trace Refinement of Action Systems , 1994, CONCUR.

[7]  J. Davenport Editor , 1960 .

[8]  Mark T. Vandevoorde Specifications Can Make Programs Run Faster , 1993, TAPSOFT.

[9]  Jifeng He Provably Correct Systems: Modelling of Communication Languages and Design of Optimized Compilers , 1994 .

[10]  Hussein Zedan,et al.  Real-Time Refinement: Semantics and Application , 1993, MFCS.

[11]  Colin J. Fidge Real-Time Refinement , 1993, FME.

[12]  Colin J. Fidge,et al.  Interactively Verifying a Simple Real-time Scheduler , 1995, CAV.

[13]  Colin J. Fidge,et al.  A real-time refinement calculus that changes only time , 1996 .

[14]  Ralph-Johan Back Refinement of Parallel and Reactive Programs , 1992, NATO ASI PDC.

[15]  Colin J. Fidge,et al.  A Methodology for Compilation of High-Integrity Real-Time Programs , 1997, Euro-Par.

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

[17]  Rajiv Gupta,et al.  Compiler support for object-oriented real-time software , 1992, IEEE Software.

[18]  Ian J. Hayes,et al.  Coercing real-time refinement: a transmitter , 1996, FME 1996.

[19]  Colin J. Fidge Adding Real Time to Formal Program Development , 1994, FME.

[20]  Kwei-Jay Lin,et al.  Measuring and analyzing real-time performance , 1991, IEEE Software.

[21]  Sang Lyul Min,et al.  An Accurate Worst Case Timing Analysis for RISC Processors , 1995, IEEE Trans. Software Eng..

[22]  J. B. Wordsworth Specifying and refining programs with Z , 1988 .

[23]  Colin J. Fidge Modelling real-time multi-tasking systems with timed traces , 1998 .