bannerc

Software Safety and Design Principles

Software Design Principles and Software Safety

NASA software safety requirements are documented in NPR 7150.2 083, and elaborated in the Software Assurance and Software Safety Standard, NASA-STD-8739.8A 278 .

Design features are a small but important part of an overall software safety implementation. The driving requirement in this area is NPR 7150.2C, requirement SWE-134. The design principles that support specific provisions of SWE-134 are shown in the table below. A verified application of the NASA software design principles can help form the basis for demonstrating compliance with SWE-134.


SWE-134 Sub-requirement

Applicable Design Principle

a. The software is initialized, at first start and restarts, to a known safe state.

Initialization - Safe Mode

b. The software safely transitions between all predefined known states.

Safe Transitions

c. Termination performed by the software functions is performed to a known safe state.

Initialization - Safe Mode

Fault Detection and Response

d. Operator overrides of software functions require at least two independent actions by an operator.

Data Interface Integrity

e. The software rejects commands received out of sequence when the execution of those commands out of sequence can cause a hazard.

Data Interface Integrity

f. The software detects inadvertent memory modification and recovers to a known safe state.

Incorrect Memory Use or Access
Fault Detection and Response

g. The software performs integrity checks on inputs and outputs to/from the software system.

Data Interface Integrity
Invalid Data Handling

h. The software performs prerequisite checks prior to the execution of safety-critical software commands.

Data Interface Integrity
Invalid Data Handling

i. No single software event or action is allowed to initiate an identified hazard.

Data Interface Integrity

j. The software responds to an off-nominal condition within the time needed to prevent a hazardous event.

Fault Detection and Response

k. The software provides error handling.

Fault Detection and Response

l. The software can place the system into a safe state.

Fault Detection and Response

2. Resources

2.1 References



  • No labels