Device drivers are a very critical part of every operating system. They often contain code that is executed in interrupt handlers. During the execution of interrupt handlers, the processing of some other interrupts is usually disabled. Thus errors in that code can compromise the whole system. This paper describes an approach to ensure that an interrupt handler is not allowed to use more than a specified amount of time. Our approach is based on a Java operating system and consists of a combination of verification at com-pilation time and run-time checks.
Embedded systems can fail to operate correctly due to interrupt overload: starvation caused by too m...
The design of real-time embeddedsystems involves a constant trade-offbetween meeting real-time desig...
Correctness of a real-time system depends on its computation as well as its timeliness. In recent ye...
An important part of implementing device drivers is to control the interrupt facilities of the hardw...
Testing concurrent software is difficult due to problems with inherent nondeterminism. In previous w...
Static checking can provide safe and tight bounds on stack usage and execution times in interrupt-dr...
ManuscriptWhile developing embedded and real-time systems, it is usually necessary to write code tha...
The main limitation of software model checking is that, due to state explosion, it does not scale to...
An interrupt is an event that alters the sequence of instructions executed by a processor and requir...
non-peer-reviewedWith embedded systems growing in hardware and software complexity, it is becoming i...
A run-time monitor shares computational resources, such as memory and CPU time, with the target prog...
Execution time control is a technique that allows execution time budgets to be set and overruns to b...
A run-time monitor shares computational resources, such as memory and CPU time, with the target prog...
One of the challenges present to a native code Java compiler is Java’s frequent use of runtime excep...
The Real-Time Specification for Java (RTSJ) is silent on multiprocessor issues. It attempts not to p...
Embedded systems can fail to operate correctly due to interrupt overload: starvation caused by too m...
The design of real-time embeddedsystems involves a constant trade-offbetween meeting real-time desig...
Correctness of a real-time system depends on its computation as well as its timeliness. In recent ye...
An important part of implementing device drivers is to control the interrupt facilities of the hardw...
Testing concurrent software is difficult due to problems with inherent nondeterminism. In previous w...
Static checking can provide safe and tight bounds on stack usage and execution times in interrupt-dr...
ManuscriptWhile developing embedded and real-time systems, it is usually necessary to write code tha...
The main limitation of software model checking is that, due to state explosion, it does not scale to...
An interrupt is an event that alters the sequence of instructions executed by a processor and requir...
non-peer-reviewedWith embedded systems growing in hardware and software complexity, it is becoming i...
A run-time monitor shares computational resources, such as memory and CPU time, with the target prog...
Execution time control is a technique that allows execution time budgets to be set and overruns to b...
A run-time monitor shares computational resources, such as memory and CPU time, with the target prog...
One of the challenges present to a native code Java compiler is Java’s frequent use of runtime excep...
The Real-Time Specification for Java (RTSJ) is silent on multiprocessor issues. It attempts not to p...
Embedded systems can fail to operate correctly due to interrupt overload: starvation caused by too m...
The design of real-time embeddedsystems involves a constant trade-offbetween meeting real-time desig...
Correctness of a real-time system depends on its computation as well as its timeliness. In recent ye...