ABSTRACT
SPARK is a verifiable subset of Ada which has been in use for over 20 years for developing the most critical parts of complex real-time applications [1][2]. A restricted subset of the Ada tasking model is included in the newer versions of SPARK ("RavenSPARK"), but this is a very static model, with a fixed number of tasks and minimal task interaction [3]. In this presentation we will describe an extension of SPARK to support safe highly parallel programming, targeted at the growing number of multicore and manycore processors appearing on the market today.
- Chapman, R., Industrial experience with SPARK, Ada Letters. XX(4), 64--68 (2000). Google ScholarDigital Library
- O'Neill, I. et al, The Formal Semantics of SPARK83, Program Validation Limited 1994.Google Scholar
- SPARK Team, SPARK Examiner, The SPARK Ravenscar Profile, Praxis, 2008, available at: http://intelligent-systems.altran.com/fileadmin/medias/0.commons/documents/Technology_documents/examiner_ravenscar.pdf (retrieved 8/2013).Google Scholar
- Sparkel web site, http://www.sparkel.org .Google Scholar
- Taft, S. Tucker, ParaSail: Less is More with Multicore, www.embedded.com, 2012, available at http://www.embedded.com/design/other/4375616/ParaSail-Less-is-more-with-multicore (retrieved 9/23/2013).Google Scholar
- Wirth, Niklaus, Algorithms + Data Structures = Programs, Prentice-Hall, ISBN 0-13-022418-9, 1976. Google ScholarDigital Library
Index Terms
- Bringing safe, dynamic parallel programming to the spark verifiable subset of ada
Recommendations
Safe parallel programming in ada with language extensions
HILT '14: Proceedings of the 2014 ACM SIGAda annual conference on High integrity language technologyThe increased presence of parallel computing platforms brings concerns to the general purpose domain that were previously prevalent only in the specific niche of high-performance computing. As parallel programming technologies become more prevalent in ...
Bringing safe, dynamic parallel programming to the spark verifiable subset of ada
HILT '13SPARK is a verifiable subset of Ada which has been in use for over 20 years for developing the most critical parts of complex real-time applications [1][2]. A restricted subset of the Ada tasking model is included in the newer versions of SPARK ("...
Distributed and parallel execution in Ada 83
WPDRTS '95: Proceedings of the 3rd Workshop on Parallel and Distributed Real-Time SystemsSince the standardization of the Ada programming language in 1989, much research has gone into the distribution of Ada programs across a number of separate processors. However, no standard for distribution of Ada 89 programs has emerged. A new language ...
Comments