Information-flow and data-flow analysis of while-programs
ACM Transactions on Programming Languages and Systems (TOPLAS)
A language for systems not just software
Proceedings of the 2001 annual ACM SIGAda international conference on Ada
Industrial strength exception freedom
Proceedings of the 2002 annual ACM SIGAda international conference on Ada: The engineering of correct and reliable software for real-time & distributed systems using Ada and related technologies
High Integrity Software: The SPARK Approach to Safety and Security
High Integrity Software: The SPARK Approach to Safety and Security
Static analysis of Ravenscar programs
IRTAW '03 Proceedings of the 12th international workshop on Real-time Ada
An approach to formal verication of real time concurrent Ada programs
IRTAW '03 Proceedings of the 12th international workshop on Real-time Ada
Smart certification of mixed criticality systems
Ada-Europe'05 Proceedings of the 10th Ada-Europe international conference on Reliable Software Technologies
Asynchronous event handling and Safety Critical Java
Concurrency and Computation: Practice & Experience
Hi-index | 0.00 |
The Ravenscar Profile is an exciting development for the Ada community since it provides, for the first time in the history of our industry, support for deterministic, multi-tasking programming as an integral part of a standardized language. Despite its many advantages, the profile leaves several areas where behaviour is implementation defined and can result in run-time errors; this is unfortunate in a profile aimed clearly at the critical systems market. The SPARK language is a well-established sequential Ada subset that avoids ambiguity and allows all language rule violations to be detected prior to execution. The authors showhowthe principles of SPARK have been successfully extended to encompass the Ravencar Profile thereby statically eliminating the profile's problematic areas. The result should allow concurrent Ada programs to be constructed with the same degree of rigour that is now possible using sequential SPARK.