The Java language is now the most popular programming language for the creation of new software capabilities. Its popularity has resulted in signficant economies of scale, with Java adopted as the primary language of instructional within many university curriculums, an abundance of reusable Java software components and Java software development tools available both from commercial suppliers and as open source technology, a large pool of competent Java developers from which to recruit staff, and a general willingness by senior staff software engineers to invest the effort required to learn this new programming language and technology. This talk describes the special approaches recommended for the use of Java in safety-critical deployments. The talk surveys the current state of the draft JSR-302 Safety Critical Java Specification and describes related experiences with commercially available technologies based on the constraints of early JSR-302 design discussions. Unlike traditional Java, the JSR-302 safety-critical subset of Java uses stack memory allocation instead of a garbage collected heap. Built-in library support is restricted to those libraries most relevant to safety-critical development requirements. And certain real-time library extensions to standard Java allow Java software components to be structured as periodic and aperiodic event handlers, perform low-level device input and output operations, and implement first-level interrupt handlers. Note to organizers: This topic is relevant to a variety of the sessions, including ATC 404, ATC 412, ATC 413, ATC 1103, ATC 1105. Please consider its presentation in any of those sessions, or potentially others. Thank you.
PresenterKelvin NilsenContinue reading »