{'fraction_non_alphanumeric': 0.0265210608424337, 'fraction_numerical': 0.0, 'mean_word_length': 5.86096256684492, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 1, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
Applying RAMS Principles to the Development of a Safety-Critical Java Specification

Almost all software for aerospace and defense applications is required to satisfy reliable, available, maintainable, and safe (RAMS) objectives. While many RAMS issues are best addressed by requiring that software developers consistently adhere to particular development methodologies, a development team’s selection of commercial off-the-shelf technologies, including choice of programming language, run-time environment, and libraries, may also impact the team’s ability to satisfy RAMS requirements. This article evaluates a proposed specification for safety-critical Java in terms of RAMS principles, comparing the use of the draft safety-critical Java standard with traditional approaches based on C, and motivating the restrictions imposed by the safety-critical Java specification in comparison with use of traditional Java and the general purpose Real-Time Specification for Java. The RAMS solutions that have been designed for the proposed safety-critical Java specification apply equally well to a breadth of defense and aerospace application domains, including hard real-time mission-critical code for communication, sensing, guidance, and automation subsystems. Dr. Kelvin Nilsen Aonix