Stepwise refinement of interrupt-driven real-time programs
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 | |
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 |