The cardiac pacemaker case study and its implementation in safety-critical Java and Ravenscar Ada

Research output: Contribution to conferencePaperpeer-review

Abstract

The cardiac pacemaker has emerged as a case study for evaluating the effectiveness of techniques for the verification and design of embedded systems with complex control requirements. This paper reports on the experiences of using this case study to evaluate the concurrency model of two programming language subsets that target safety-critical systems development: Safety-Critical Java (SCJ), a subset of the Real-Time Specification for Java, and Ravenscar Ada, a subset of the real-time support provided by Ada 2005. Our conclusions are that for SCJ, the lack of explicit support for watch-dog timers results in a software architecture where the time at which significant events occur must be saved, and polling must be used to detect their absence. Although this results in a less efficient system, the scheduling implications for the resulting software architecture are clear. In contrast, Ravenscar Ada’s support for primitive timing events allow the construction of a highly optimized reactive solution. However, the timing properties of this solution are a little more complex to determine. Furthermore, the Ada solution requires a redundant task.
Original languageEnglish
Pages62-71
Number of pages10
DOIs
Publication statusPublished - Oct 2012
EventJTRES '12, The 10th International Workshop on Java Technologies for Real-time and Embedded Systems - Copenhagen, Denmark
Duration: 24 Oct 201226 Oct 2012

Conference

ConferenceJTRES '12, The 10th International Workshop on Java Technologies for Real-time and Embedded Systems
Country/TerritoryDenmark
CityCopenhagen
Period24/10/1226/10/12

Cite this