ABSTRACT

This chapter examines the process for developing safety critical systems. Software operates in the context of a system, and safety is a property of the overall system. Software, in and of itself, is neither safe nor unsafe. In order to develop software that enhances rather than impairs safety, one must first understand the system in which the software operates and the overall system safety process. Software developers definitely have their but many of the software issues are exacerbated by immature, incomplete, incorrect, ambiguous, and/or poorly defined system requirements. An aircraft is a large system comprising multiple systems—it is essentially a system of systems. As the system progresses from high-level design to implementation, the safety aspects are evaluated to ensure that the system satisfies the required safety levels. Requirements for safety-critical systems specify numerous functionalities. Verification is the process of ensuring that the system has been implemented as specified.