Links to Software Design Principles

TitleSoftware Design Principle
9.03 Coding StandardsImplement a "secure" coding standard on all mission-critical software.
9.04 Command Receipt AcknowledgementDesign software to send a positive acknowledgement of command receipt.
9.05 Data Interface IntegrityDesign software to verify the integrity of all inputs and outputs in the control system
9.06 Dead Code ExclusionEstablish a policy for eliminating unreachable code or mitigating the risk of any unreachable code.
9.07 Fault Detection and ResponseIn the software design, provide mechanisms to detect credible system faults and to react to these faults according to a pre-described plan.
9.08 Flight Software ModificationInclude in the software design the capability for commanding modification of the software, and for preventing unwanted modifications.
9.09 Incorrect Memory Use or AccessDesign software to protect against incorrect use of memory.
9.10 Initialization - Safe ModeDesign flight software to initialize software and hardware to a known, safe, and deliberate state
9.11 Invalid Data HandlingDesign software to handle invalid data appropriately.
9.12 Resource MarginsEstablish and maintain quantitative margins for all critical resources, allowing for maturation of usage estimates through the life cycle.
9.13 Resource OversubscriptionInclude a robust and well thought out response to resource oversubscription situations in the software design.
9.14 Resource Usage MeasurementIncorporate timely visibility into the use of computing resources into the software design.
9.15 Safe TransitionsAssert required preconditions and post-conditions at software transitions.
9.16 Thread SafetyDesign interaction between threads to prevent inappropriate interference.
9.17 Toggle CommandsDesign both internal and external commanding to place the system into an explicitly specified state.

  • No labels