


- 1. The Requirement
- 2. Rationale
- 3. Guidance
- 4. Small Projects
- 5. Resources
- 6. Lessons Learned
- 7. Software Assurance
1. Requirements
4.7.1.5 If a range safety destruct system is incorporated into the design, the space system shall automatically initiate the Earth ascent abort sequence when range safety destruct commands are received onboard, with an adequate time delay prior to destruction of the launch vehicle to allow a successful abort.
1.1 Notes
NASA-STD-8719.29, NASA Technical Requirements for Human-Rating, does not include any notes for this requirement.
1.2 History
1.3 Applicability Across Classes
Class A B C D E F Applicable?
Key: - Applicable |
- Not Applicable
2. Rationale
Prior to the destruction of the launch vehicle by means of a range safety destruct (flight termination) system, the abort system is initiated. An automated initiation of the abort sequence provides the best chance for crew survival while protecting the public from a range safety violation. It is left to the program to determine which range safety command (arm or fire) will result in the initiation of the abort sequence.
3. Guidance
Prior to the destruction of the launch vehicle by means of a range safety destruct (flight termination) system, the abort system is initiated. An automated initiation of the abort sequence provides the best chance for crew survival while protecting the public from harm and a range safety violation. It is left to the program to determine which range safety command (arm or fire) will result in the initiation of the abort sequence.
See Topic 7.24 - Human Rated Software Requirements for other Software Requirements related to Human Rated Software, specifically HR-7142 - Ground Initiate Ascent Abort Sequence.
3.1 Software Tasks for Range Safety Abort Sequence
To ensure that the space system automatically initiates the Earth ascent abort sequence when range safety destruct commands are received onboard, with an adequate time delay before the destruction of the launch vehicle to allow a successful abort, the following software tasks should be implemented:
- Automated Abort Sequence Initiation: Develop and implement an automated system that initiates the Earth ascent abort sequence upon receiving range safety destruct commands. This system should be designed to function effectively and safely under all operational conditions.
- Time Delay Mechanism: Incorporate a time delay mechanism that ensures there is sufficient time between the receipt of the destruct command and the actual destruction of the launch vehicle. This delay should be adequate to allow the abort sequence to complete successfully.
- Safety Analysis for Destruct Systems: Perform comprehensive safety analyses, including 8.07 - Software Fault Tree Analysis and 8.05 - Software Failure Modes and Effects Analysis, to identify and mitigate potential hazards associated with the automated initiation of the abort sequence upon receipt of destruct commands. Ensure that the abort systems will not compromise safety during these operations.
- Redundancy and Fault Tolerance: Design and implement destruct command reception and abort initiation systems that have redundancy and fault tolerance so that the space system can automatically begin initiation of the Earth ascent abort sequence when range safety destruct commands are received onboard even in the presence of faults or failures. This includes implementing backup controls and redundant computing systems.
- Real-time Monitoring and Alerts: Design and implement real-time monitoring systems that provide up-to-date information on the spacecraft's status and performance. This includes alerts for any conditions that may require the initiation of the abort sequence.
- Independent Verification and Validation (IV&V): Conduct independent verification and validation to ensure that the destruct command reception and abort initiation systems meet specified requirements and function correctly under all operational scenarios. IV&V activities should include rigorous testing and analysis of these systems.
- IV&V Analysis Results: Assure that the capability for the space system to automatically initiate the Earth ascent abort sequence when range safety destruct commands are received onboard, with an adequate time delay before the destruction of the launch vehicle, has been implemented in the software and independently verified and validated to meet safety and mission requirements.
- IV&V Participation: Involve the IV&V provider in reviews, inspections, and technical interchange meetings to provide real-time feedback and ensure thorough assessment.
- IV&V Management and Technical Measurements: Track and evaluate the performance and results of IV&V activities to ensure continuous improvement and risk management.
- Simulation and Testing: Perform extensive simulations and testing to verify that the destruct command reception and abort initiation systems can handle all nominal and off-nominal scenarios without compromising safety. This includes testing for unexpected conditions, boundary conditions, and the full range of potential failure modes. The flight operations team should participate in these simulations to thoroughly test the various conditions and scenarios.
- Code Coverage with MC/DC Criterion: Develop, implement, and execute test cases for all identified safety-critical software components to ensure that there is 100% code test coverage. This includes normal operations, failure modes, fault detection, isolation, and recovery procedures. Use the Modified Condition/Decision Coverage (MC/DC) criterion.
- Configuration Management: Maintain strict configuration management to ensure that the correct software versions and configurations are used. This reduces the risk of errors due to incorrect or inconsistent configurations that could affect destruct command reception and abort initiation capabilities.
- Error Handling and Recovery Mechanisms: Implement robust error handling and recovery mechanisms to address errors detected during the reception of destruct commands and initiation of the abort sequence. Ensure that error handling is adequate and that the system can recover from errors without leading to hazardous events during recovery.
- Training and Documentation: Provide comprehensive training and documentation for both the crew and ground control team on the procedures for destruct command reception and abort initiation. This includes detailed procedures, troubleshooting guides, and emergency protocols to ensure all personnel are well-prepared to handle any situation. This is best done by providing a User Manual with instructions and applicable information about each error/fault and when aborts are initiated.
By implementing these tasks, the space system can be designed to effectively and safely initiate the Earth ascent abort sequence upon receiving range safety destruct commands, ensuring mission success and crew safety.
3.2 Additional Guidance
Additional guidance related to this requirement may be found in the following materials in this Handbook:
3.3 Center Process Asset Libraries
SPAN - Software Processes Across NASA
SPAN contains links to Center managed Process Asset Libraries. Consult these Process Asset Libraries (PALs) for Center-specific guidance including processes, forms, checklists, training, and templates related to Software Development. See SPAN in the Software Engineering Community of NEN. Available to NASA only. https://nen.nasa.gov/web/software/wiki 197
See the following link(s) in SPAN for process assets from contributing Centers (NASA Only).
SPAN Links |
---|
To be developed later. |
4. Small Projects
No additional guidance is available for small projects. The community of practice is encouraged to submit guidance candidates for this paragraph.
5. Resources
5.1 References
5.2 Tools
NASA users find this in the Tools Library in the Software Processes Across NASA (SPAN) site of the Software Engineering Community in NEN.
The list is informational only and does not represent an “approved tool list”, nor does it represent an endorsement of any particular tool. The purpose is to provide examples of tools being used across the Agency and to help projects and centers decide what tools to consider.
6. Lessons Learned
6.1 NASA Lessons Learned
No Lessons Learned have currently been identified for this requirement.
6.2 Other Lessons Learned
No other Lessons Learned have currently been identified for this requirement.
7. Software Assurance
7.1 Tasking for Software Assurance
- Ensure the development, implementation, and testing of robust control algorithms that are capable of managing abort functions when range safety destruct commands are initiated. The space system shall automatically initiate the Earth ascent abort sequence when range safety destruct commands are received onboard, without human intervention. These algorithms must undergo thorough testing to guarantee their reliability and safety in all operational scenarios.
- Ensure redundancy and fault tolerance are included in the design to ensure that critical functions can continue to operate autonomously, even in the presence of faults or failures. This includes implementing backup systems and failover mechanisms.
- Ensure that Integrated real-time monitoring and diagnostic tools are used to continuously assess the health and status of critical systems and subsystems. These tools should detect anomalies and trigger autonomous responses to mitigate potential catastrophic events.
- Employ safety analysis techniques such as 8.07 - Software Fault Tree Analysis and 8.05 - Software Failure Modes and Effects Analysis to identify potential hazards and failure modes. This helps in designing controls and mitigations for the autonomous operation of critical functions.
- Ensure extensive simulations and testing to verify that the space system can automatically initiate the Earth ascent abort sequence when range safety destruct commands are received onboard and that the control systems can handle all nominal and off-nominal scenarios. This includes testing for unexpected situations and boundary conditions.
- Ensure strict configuration management to ensure that the correct software versions and configurations are used. This reduces the risk of errors due to incorrect or inconsistent configurations that could impact range safety abort operations.
- Ensure robust error handling and recovery mechanisms are implemented to address errors stemming from detected faults. This ensures that error handling is adequate and that the system can autonomously recover from errors without leading to hazardous or catastrophic events.
- Perform safety reviews on all software changes and software defects.
- Confirm that 100% code test coverage is addressed for all identified safety-critical software components or that software developers provide a technically acceptable rationale or a risk assessment explaining why the test coverage is not possible or why the risk does not justify the cost of increasing coverage for the safety-critical code component.
- Analyze that the software test plans and software test procedures cover the software requirements and provide adequate verification of hazard controls, specifically that the space system can automatically initiate the Earth ascent abort sequence when range safety destruct commands are received onboard. (See SWE-071 - Update Test Plans and Procedures tasks). Ensure that the project has developed and executed test cases to test the software system’s recovery from faults during abort operations.
- Analyze the software test procedures for the following:
- Coverage of the software requirements.
- Acceptance or pass/fail criteria,
- The inclusion of operational and off-nominal conditions, including boundary conditions,
- Requirements coverage and hazards per SWE-066 - Perform Testing and SWE-192 - Software Hazardous Requirements, respectively.
- Perform test witnessing for safety-critical software to ensure that the space system can automatically initiate the Earth ascent abort sequence when range safety destruct commands are received onboard, with an adequate time delay prior to destruction of the launch vehicle to allow a successful abort. under various conditions, including nominal and off-nominal scenarios.
- Confirm that test results are sufficient verification artifacts for the hazard reports.
- Ensure comprehensive training and documentation for operators is available.
7.2 Software Assurance Products
- 8.52 - Software Assurance Status Reports
- 8.54 - Software Requirements Analysis
- 8.55 - Software Design Analysis
- 8.56 - Source Code Quality Analysis
- 8.57 - Testing Analysis
- 8.58 - Software Safety and Hazard Analysis
- 8.59 - Audit Reports
- Test Witnessing Signatures (See SWE-066 - Perform Testing)
Objective Evidence
- System design showing the space system can automatically initiate the Earth ascent abort sequence when range safety destruct commands are received onboard, with an adequate time delay prior to destruction of the launch vehicle to allow a successful abort
- Software design that shows how the system design allows the space system to automatically initiate the Earth ascent abort sequence when range safety destruct commands are received onboard
- Completed Hazard Analyses and Hazard Reports identifying all of the potential hazard faults with their associated ascent abort operations
- Completed software safety and hazard analysis results
- Software Fault Tree Analysis (FTA) and Software Failure Modes and Effects Analysis (FMEA)
- Audit reports, specifically the Functional Configuration Audit (FCA) and Physical Configuration Audit (PCA)
- SWE work product assessments for Software Test Plan, Software Test Procedures, Software Test Reports, and User Manuals
- Results from the use of automated tools for code coverage and other verification and validation activities
7.3 Metrics
- Verification and Validation Metrics: These ensure that the software correctly implements specified requirements and that the final product meets its intended purpose. Metrics might include test coverage, defect density, and requirements traceability.
- Safety Metrics: These metrics ensure that the software systems are safe and that the software safety-critical requirements are followed. This could include the number of identified hazards, hazard severity, and probability, and the effectiveness of hazard mitigations.
- Quality Metrics: These metrics assess the degree of software quality obtained by the software products. This might include metrics related to code quality, such as cyclomatic complexity, code churn, and static analysis results.
- Performance Metrics: These metrics track the actual results and performance of software activities against the software plans. This includes schedule adherence, effort variance, and defect discovery rates.
- Configuration Management Metrics: These ensure proper version control and change management processes are followed, including metrics such as the number of configuration items, change requests, and configuration audits.
- Training Metrics: Ensuring project-specific software training for project personnel, including software assurance and software safety personnel, has been planned, tracked, and completed.
- Independent Verification and Validation (IV&V) Metrics
- IV&V Analysis Results: Provide assurance that the capability for the space system to automatically initiate the Earth ascent abort sequence when range safety destruct commands are received onboard, with an adequate time delay before the destruction of the launch vehicle, has been implemented in the software and independently verified and validated to meet safety and mission requirements.
- IV&V Participation: Involving the IV&V provider in reviews, inspections, and technical interchange meetings to provide real-time feedback and ensure thorough assessment.
- IV&V Management and Technical Measurements: Tracking and evaluating the performance and results of IV&V activities to ensure continuous improvement and risk management.
Examples of potential SA metrics are:
- # of potential hazards that could lead to catastrophic events
- # of Non-Conformances identified during each testing phase (Open, Closed, Severity)
- Code coverage data: % of code that has been executed during testing
- % of traceability completed for all hazards to software requirements and test procedures
- # of hazards with completed test procedures/cases vs. total # of hazards over time
- # of Non-Conformances identified while confirming hazard controls are verified through test plans/procedures/cases
- # of Hazards containing software that has been tested vs. total # of Hazards containing software
- # of safety-related Non-Conformances
- # of Safety Critical tests executed vs. # of Safety Critical tests witnessed by SA
- Software code/test coverage percentages for all identified safety-critical components (e.g., # of paths tested vs. total # of possible paths)
- # of safety-critical requirement verifications vs. total # of safety-critical requirement verifications completed
- Test coverage data for all identified safety-critical software components
- # of Software Requirements that do not trace to a parent requirement
- % of traceability completed in each area: System Level requirements to Software requirements; Software Requirements to Design; Design to Code; Software Requirements to Test Procedures
- % of traceability completed for all hazards to software requirements and test procedures
- Defect trends for trace quality (# of circular traces, orphans, widows, etc.)
- # of Configuration Management Audits conducted by the project – Planned vs. Actual
To ensure compliance with the specific requirement of the range safety destruct system, it would be necessary to tailor these metrics to focus on the reliability, responsiveness, and safety of the abort sequence initiation and the timing of the destruct commands.
See also Topic 8.18 - SA Suggested Metrics
7.4 Guidance
To guarantee that the space system automatically initiates the Earth ascent abort sequence upon receiving range safety destruct commands, the following software assurance and safety tasks should be implemented:
- Automated Abort Sequence Initiation: Ensure a robust automated system that triggers the Earth ascent abort sequence immediately upon receiving range safety destruct commands is developed and implemented. This system must function effectively and safely under all operational conditions.
- Time Delay Mechanism: Ensure a time delay mechanism is integrated into the system so that there is ample time between the receipt of the destruct command and the actual destruction of the launch vehicle for the successful completion of the abort sequence.
- Software Safety and Hazard Analysis: Develop and maintain a Software Safety Analysis throughout the software development life cycle. Assess that the Hazard Analyses (including hazard reports) identify the software components associated with the system hazards per the criteria defined in NASA-STD- 8739.8, Appendix A. (See SWE-205 - Determination of Safety-Critical Software tasks.) Perform these on all new requirements, requirement changes, and software defects to determine their impact on the software system's reliability and safety. Confirm that all safety-critical requirements related to range safety destruct commands being sent to initiate the Earth ascent abort sequence have been implemented and adequately tested and function properly, even in the presence of faults or failures. It may be necessary to discuss these findings during the Safety Review so the reviewers can weigh the impact of implementing the changes. (See Topic 8.58 – Software Safety and Hazard Analysis.)
- Hazard Analysis/Hazard Reports: Confirm that a comprehensive hazard analysis was conducted to identify potential hazards that could result from critical software behavior. This analysis should include evaluating existing and potential hazards and recommending mitigation strategies for identified hazards. The Hazard Reports should contain the results of the analyses and proposed mitigations (See Topic 5.24 - Hazard Report Minimum Content.)
- Software Safety Analysis: To develop this analysis, utilize safety analysis techniques, including 8.07 - Software Fault Tree Analysis and 8.05 - Software Failure Modes and Effects Analysis, to identify and mitigate potential hazards associated with the automated initiation of the abort sequence. The integrity of the abort systems must not be compromised during these operations. When generating this SA product, see Topic 8.09 - Software Safety Analysis for additional guidance.
- Redundancy and Fault Tolerance: Ensure redundancy and fault tolerance is designed and built into the destruct command reception and abort initiation systems to ensure they function properly, even in the presence of faults or failures. This includes deploying backup controls and redundant computing systems.
- Real-time Monitoring and Alerts: Ensure comprehensive real-time monitoring systems that provide up-to-date information on the spacecraft’s status and performance, are designed and implemented.. These systems must also include alerts for any conditions that necessitate the immediate initiation of the abort sequence.
- Safety Reviews: Perform safety reviews on all software changes and defects to verify that the space system can automatically initiate the Earth ascent abort sequence when range safety destruct commands are received onboard and that they have an adequate time delay prior to destruction of the launch vehicle to allow a successful abort under various conditions, including nominal and off-nominal scenario. This ensures that each fault has a fault detection mechanism and the modifications do not introduce new vulnerabilities or increase the risk of failure due to the fault.
- Peer Reviews: Participate in peer reviews on all software changes and software defects affecting safety-critical software and hazardous functionality to verify that the space system can automatically initiate the Earth ascent abort sequence when range safety destruct commands are received onboard and that they have an adequate time delay prior to destruction of the launch vehicle to allow a successful abort, under various conditions, including nominal and off-nominal scenarios. (See SWE-134 - Safety-Critical Software Design Requirements tasks.)
- Change Requests: Monitor the number of software change requests and software defects and their impact on the system's reliability and safety. Increases in the number of changes may be indicative of requirements issues or code quality issues resulting in potential schedule slips. (See SWE-053 - Manage Requirements Changes, SWE-080 - Track and Evaluate Changes.)
- Test Witnessing: Perform test witnessing for safety-critical software to verify that the space system can automatically initiate the Earth ascent abort sequence when range safety destruct commands are received onboard and that they have an adequate time delay prior to destruction of the launch vehicle to allow a successful abort under various conditions, including nominal and off-nominal scenarios. (See SWE-066 - Perform Testing.) This includes witnessing tests to:
- Confirm that the space system can automatically initiate the Earth ascent abort sequence when range safety destruct commands are received onboard under various conditions. This could include:
- Measuring the time taken for the system to detect and report faults to ground control so they can implement mitigation procedures in timely and accurate manner. A prolonged period could cause catastrophic consequences.
- Ensuring the system is available and operational when needed, especially during critical mission phases.
- Uncover unrecorded software defects and confirm they get documented and recorded.
- Confirm robust error handling and recovery mechanisms to address any errors encountered during the reception of destruct commands and initiation of the abort sequence are implemented without compromising safety. These mechanisms must be reliable enough to prevent hazardous events during recovery.
- Confirm that the space system can automatically initiate the Earth ascent abort sequence when range safety destruct commands are received onboard under various conditions. This could include:
- Simulation and Testing: Ensure extensive simulations and testing are performed to confirm that the destruct command reception and abort initiation systems can effectively manage both nominal and off-nominal scenarios without compromising safety. Testing should encompass unexpected conditions and the full spectrum of potential failure modes.
- Configuration Management: Ensure strict configuration management is maintained to ensure the correct software versions and configurations are used. (See SWE-187 - Control of Software Items for more information.) This will significantly reduce the risk of errors stemming from incorrect or inconsistent configurations that could impact the effectiveness of destruct command reception and abort initiation capabilities. This also includes performing the SWE-187 tasking.
- Assess that the software safety-critical items, including the hazard reports and safety analysis, are configuration-managed (See SWE-081 - Identify Software CM Items tasking.)
- Code Coverage: Confirm that 100% code test coverage is addressed for all identified safety-critical software components or ensure that software developers provide a risk assessment explaining why the test coverage is impossible or why the risk does not justify the cost of increasing coverage for the safety-critical code component. This includes normal operations, failure modes, fault detection, isolation, and recovery procedures. (See SWE-189 - Code Coverage Measurements, SWE-219 - Code Coverage for Safety Critical Software.)
- Training and Documentation: Ensure comprehensive training and documentation are available for both the crew and ground control teams regarding the procedures for destruct command reception and abort initiation. This documentation must include clear procedures, troubleshooting guides, and emergency protocols to ensure all personnel are thoroughly prepared to handle any situation.
By executing these essential tasks, we will ensure that the space system reliably and safely initiates the Earth ascent abort sequence upon receiving range safety destruct commands, thereby securing mission success and safeguarding crew safety.
For additional information, also see HR-7142 - Ground Initiate Ascent Abort Sequence.
7.5 Additional Guidance
Additional guidance related to this requirement may be found in the following materials in this Handbook: