ACM SIGAda Ada Letters
The verifying compiler: A grand challenge for computing research
Journal of the ACM (JACM)
ZB '02 Proceedings of the 2nd International Conference of B and Z Users on Formal Specification and Development in Z and B
A real-time Java virtual machine with applications in avionics
ACM Transactions on Embedded Computing Systems (TECS)
Concurrent and Real-Time Programming in Ada
Concurrent and Real-Time Programming in Ada
Incremental Development of a Distributed Real-Time Model of a Cardiac Pacing System Using VDM
FM '08 Proceedings of the 15th international symposium on Formal Methods
The verified software initiative: A manifesto
ACM Computing Surveys (CSUR)
CDx: a family of real-time Java benchmarks
Proceedings of the 7th International Workshop on Java Technologies for Real-Time and Embedded Systems
Formal Specification of a Cardiac Pacing System
FM '09 Proceedings of the 2nd World Congress on Formal Methods
Modeling and Verification of Safety Critical Systems: A Case Study on Pacemaker
SSIRI '10 Proceedings of the 2010 Fourth International Conference on Secure Software Integration and Reliability Improvement
Automatic code generation from event-B models
Proceedings of the Second Symposium on Information and Communication Technology
A concurrent language for refinement
IW-FM'01 Proceedings of the 5th Irish conference on Formal Methods
Asynchronous event handling and Safety Critical Java
Concurrency and Computation: Practice & Experience
Safety-critical Java on a Java processor
Proceedings of the 10th International Workshop on Java Technologies for Real-time and Embedded Systems
A desktop 3D printer in safety-critical Java
Proceedings of the 10th International Workshop on Java Technologies for Real-time and Embedded Systems
Safety-critical Java programs from Circus models
Real-Time Systems
Programming simple reactive systems in ada: premature program termination
ACM SIGAda Ada Letters
Hi-index | 0.00 |
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 in order to prevent the program from terminating prematurely.