• DocumentCode
    1111182
  • Title

    Reasoning about time in higher-level language software

  • Author

    Shaw, Alan C.

  • Author_Institution
    Dept. of Comput. Sci., Washington Univ., Seattle, WA, USA
  • Volume
    15
  • Issue
    7
  • fYear
    1989
  • fDate
    7/1/1989 12:00:00 AM
  • Firstpage
    875
  • Lastpage
    889
  • Abstract
    A methodology for specifying and providing assertions about time in higher-level-language programs is described. The approach develops three ideas: the distinction between, and treatment of, both real-time and computer times; the use of upper and lower bounds on the execution times of program elements; and a simple extension of Hoare logic to include the effects of the passage of real-time. Schemas and examples of timing bounds and assertions are presented for a variety of statement types and programs, such as conventional sequential programs including loops, time-related statements such as delay, concurrent programs with synchronization, and software in the presence of interrupts. Examples of assertions that are proved include deadlines, timing invariants for periodic processes, and the specification of time-based events such as those needed for the recognition of single and double clicks from a mouse button
  • Keywords
    formal logic; formal specification; real-time systems; synchronisation; Hoare logic; assertions; computer times; concurrent programs; deadlines; delay; execution times; higher-level language software; lower bounds; periodic processes; program elements; real-time; sequential programs; specification; synchronization; time-related statements; timing bounds; timing invariants; upper bounds; Clocks; Code standards; Computer science; Logic; Mice; Software maintenance; Software standards; Springs; Synchronization; Timing;
  • fLanguage
    English
  • Journal_Title
    Software Engineering, IEEE Transactions on
  • Publisher
    ieee
  • ISSN
    0098-5589
  • Type

    jour

  • DOI
    10.1109/32.29487
  • Filename
    29487