Stepwise refinement of interrupt-driven real-time programs


Autoria(s): Cook, Phil; Fidge, Colin J.
Data(s)

28/02/2007

Resumo

Embedded real-time programs rely on external interrupts to respond to events in their physical environment in a timely fashion. Formal program verification theories, such as the refinement calculus, are intended for development of sequential, block-structured code and do not allow for asynchronous control constructs such as interrupt service routines. In this article we extend the refinement calculus to support formal development of interrupt-dependent programs. To do this we: use a timed semantics, to support reasoning about the occurrence of interrupts within bounded time intervals; introduce a restricted form of concurrency, to model composition of interrupt service routines with the main program they may preempt; introduce a semantics for shared variables, to model contention for variables accessed by both interrupt service routines and the main program; and use real-time scheduling theory to discharge timing requirements on interruptible program code.

Formato

application/pdf

Identificador

http://eprints.qut.edu.au/47589/

Relação

http://eprints.qut.edu.au/47589/1/interrupts.pdf

Cook, Phil & Fidge, Colin J. (2007) Stepwise refinement of interrupt-driven real-time programs.

Direitos

Copyright 2007 Phil Cook and Colin Fidge

Fonte

Faculty of Science and Technology

Palavras-Chave #080309 Software Engineering #Program refinement #Real-time programming #Embedded systems #Interrupt handling #Formal methods
Tipo

Report