The real-time refinement calculus: A foundation for machine-independent real-time programming

被引:0
|
作者
Hayes, IJ [1 ]
机构
[1] Univ Queensland, Sch Informat Technol & Elect Engn, Brisbane, Qld 4072, Australia
关键词
D O I
暂无
中图分类号
TP301 [理论、方法];
学科分类号
081202 ;
摘要
The real-time refinement calculus is an extension of the standard refinement calculus in which programs are developed from a precondition plus post-condition style of specification. In addition to adapting standard refinement rules to be valid in the real-time context, specific rules are required for the timing constructs such as delays and deadlines. Because many real-time programs may be nonterminating, a further extension is to allow nonterminating repetitions. A real-time specification constrains not only what values should be output, but when they should be output. Hence for a program to implement such a specification, it must guarantee to output values by the specified times. With standard programming languages such guarantees cannot be made without taking into account the timing characteristics of the implementation of the program on a particular machine. To avoid having to consider such details during the refinement process, we have extended our real-time programming language with a deadline command. The deadline command takes no time to execute and always guarantees to meet the specified time; if the deadline has already passed the deadline command is infeasible (miraculous in Dijkstra's terminology). When such a realtime program is compiled for a particular machine, one needs to ensure that all execution paths leading to a deadline are guaranteed to reach it by the specified time. We consider this checking as part of an extended compilation phase. The addition of the deadline command restores for the real-time language the advantage of machine independence enjoyed by non-real-time programming languages.
引用
收藏
页码:44 / 58
页数:15
相关论文
共 50 条
  • [1] A sequential real-time refinement calculus
    Ian J. Hayes
    Mark Utting
    [J]. Acta Informatica, 2001, 37 : 385 - 448
  • [2] A sequential real-time refinement calculus
    Hayes, IJ
    Utting, M
    [J]. ACTA INFORMATICA, 2001, 37 (06) : 385 - 448
  • [3] A refinement calculus for the development of real-time systems
    Chen, ZQ
    Cau, A
    Zedan, H
    Liu, XD
    Yang, HJ
    [J]. 1998 ASIA PACIFIC SOFTWARE ENGINEERING CONFERENCE, PROCEEDINGS, 1998, : 61 - 68
  • [4] Towards a refinement calculus for concurrent real-time programs
    Peuker, S
    Hayes, I
    [J]. FORMAL METHODS AND SOFTWARE ENGINEERING, PROCEEDINGS, 2002, 2495 : 335 - 346
  • [5] Procedures and parameters in the real-time program refinement calculus
    Hayes, Ian J.
    [J]. SCIENCE OF COMPUTER PROGRAMMING, 2007, 64 (03) : 286 - 311
  • [6] Real-time calculus for scheduling hard real-time systems
    Thiele, L
    Chakraborty, S
    Naedele, M
    [J]. ISCAS 2000: IEEE INTERNATIONAL SYMPOSIUM ON CIRCUITS AND SYSTEMS - PROCEEDINGS, VOL IV: EMERGING TECHNOLOGIES FOR THE 21ST CENTURY, 2000, : 101 - 104
  • [7] REAL-TIME PROGRAMMING
    HEHNER, ECR
    [J]. INFORMATION PROCESSING LETTERS, 1989, 30 (01) : 51 - 56
  • [8] Exploring real-time programming
    Wilmshurst, T
    [J]. ELECTRONICS WORLD, 2002, 108 (1789): : 54 - 60
  • [9] NETWORKS FOR REAL-TIME PROGRAMMING
    PHILLIPS, CS
    [J]. COMPUTER JOURNAL, 1967, 10 (01): : 46 - &
  • [10] Principles of real-time programming
    Kirsch, CM
    [J]. EMBEDDED SOFTWARE, PROCEEDINGS, 2002, 2491 : 61 - 75