See edit history of this section
Post feedback on this section
Introduction
NASA has two significant independent classification schemas for software: (1) a software engineering classification as described in NPR 7150.2, NASA Software Engineering Requirements, Appendix E, and (2) a software safety definition as described in NASA-STD-8739.8, Software Assurance Standard, Appendix A. 7.02 - Classification and Safety-Critical Assessment describes the relationship between these classifications. For a given system or subsystem, software is expected to be uniquely defined within a single classification pair (software engineering classification X software safety definition). Knowing this pair determines the minimal set of software requirements from NPR 7150.2 needing to be addressed (via Appendix D of NPR 7150.2) by the project's software team.
1.1 Safety Criticality
Defining software safety criticality involves the determination of whether the software is performing a safety-critical function, including verification of a safety-critical software, hardware, or operations component, subsystem, or system.
Use the "Litmus Test" as captured in NASA-STD-8719.13, NASA Software Safety Standard 271 to perform a test for criticality. Performing this test is part of the software safety criticality assessment. It is only the first step, and other analyses need to follow. These follow-on analyses assess the amount of critical software within a system, the level of autonomy of that software, the time to criticality, as well as the severity and likelihood of failure of each software safety control or hazard mitigation feature implemented in the software.
1.2 Classification Diagrams and Descriptions
Software classification is the determination of NPR 7150.2 requirement applicability for a specific system or sub-system. As stated in NPR 7150.2: "These definitions are based on 1) usage of the software with or within a NASA system, 2) criticality of the system to NASA's major programs and projects, 3) extent to which humans depend upon the system, 4) developmental and operational complexity, and 5) extent of the Agency's investment."
As stated in Appendix E of NPR 7150.2: "Any potential discrepancies in classifying software within Classes A - E are to be resolved using the definitions and the five underlying factors listed in the previous paragraph. Engineering and Safety and Mission Assurance provide dual Technical Authority chains for resolving classification issues, and the NASA Headquarters' Chief Engineer is the ultimate Technical Authority for software classification disputes..."
Classification Descriptions
The material in this table is from Appendix E of NPR 7150.2 039.
Definition | Examples and Exclusions |
---|---|
Class A
- Human Rated Space Software Systems |
|
Human Space Flight Software Systems*:
* - Includes software involving launch, onorbit, in space, surface operations, and entry, descent, and landing. 1 - Current standards that address habitability and environmental health, including atmospheric composition and pressure, air and water quality and monitoring, acceleration, acoustics, vibration, radiation, thermal environment, combined environmental effects, and human factors, are documented in NASA-STD-3000, Volumes I 246 and II 415, Man-Systems Integration Standards. |
Examples of Class A software (human rated space flight) include but are not limited to:
ExclusionsClass A does not include:
|
Class B
Non - Human Space Rated Software Systems or Large Scale Aeronautics Vehicles |
|
Space Systems*: Flight and ground software that must perform reliably to accomplish primary mission objectives, or major function(s) in Non-Human Space Rated Systems. Limited to software that is:
Airborne Vehicles: Large-scale1 aeronautic vehicles that are NASA unique in which the software:
This definition includes software for vehicles classified as "test," "experimental," or "demonstration" which meets the above definition for Class B software. Also included are systems in a test or demonstration where the software's known and scheduled intended use is to be part of a Class A or B software system. * - Includes software involving launch, onorbit, in space, surface operations, and entry, descent, and landing. 1 - Large-scale (life-cycle cost exceeding $250M) fully integrated technology development system — see NPR 7120.8, section 5.1.1.1 269. |
Examples of Class B software [include] but are not limited to:
ExclusionsClass B does not include:
|
Class C
- Mission Support Software or Aeronautic Vehicles, or Major Engineering/ Research Facility Software |
|
Space Systems:
Airborne Vehicles: Systems for non-large scale aeronautic vehicles in which the software:
Systems on an airborne vehicle (including large scale vehicles) that acquire, store, or transmit the official record copy of flight or test data. |
Examples of Class C software include but are not limited to:
ExclusionsSystems unique to a research, development, test, or evaluation activity in a Major Engineering/Research Facility or Airborne Vehicle where the system is not part of the facility or vehicle and does not impact the operation of the facility or vehicle. |
Class D
- Basic Science/Engineering Design and Research and Technology Software |
|
Basic Science/Engineering Design:
Airborne Vehicle Systems:
Major Engineering/Research Facility Related: research software that executes in a Major Engineering/Research Facility but is independent of the operation of the facility. |
Examples of Class D software [include] but are not limited to:Basic Science and Engineering Design: engineering design and modeling tools (e.g., Computer-Aided Design and Computer-Aided Manufacturing (CAD/CAM), thermal/structural analysis tools); project assurance databases (e.g., problem reporting, analysis, and corrective action system, requirements management databases); propulsion integrated design tools; integrated build management systems; inventory management tools; probabilistic engineering analysis tools; test stand data analysis tools; test stand engineering support tools; experimental flight displays evaluated in a flight simulator; and tools used to develop design reference missions to support early mission planning. Airborne Vehicles: software tools for designing advanced human-automation systems; experimental synthetic-vision display; and cloud-aerosol Light Detection and Ranging (LIDAR) installed on an aeronautics vehicle. ExclusionsClass D does not include:
|
Class E
- Small Light Weight Design Concept and Research and Technology Software |
|
Definition:
|
Examples of Class E software include but are not limited to:parametric models to estimate performance or other attributes of design concepts; software to explore correlations between data sets; line of code counters; file format converters; and document template builders. ExclusionsClass E does not include:
|
Business and IT Infrastructure Software | |
Class F
- General Purpose Computing Software (Multi-Center or Multi-Program/Project) |
|
Definition: General purpose computing software used in support of the Agency, multiple Centers, or multiple programs/projects, as described for the General Purpose Infrastructure To-Be Component of the NASA Enterprise Architecture, Volume 5 (To-Be Architecture) 070, and for the following portfolios: voice, wide area network, local area network, video, data Centers, application services, messaging and collaboration, and public Web. A defect in Class F software is likely to affect the productivity of multiple users across several geographic locations and may possibly affect mission objectives or system safety. Mission objectives can be cost, schedule, or technical objectives for any work that the Agency performs. | Examples of Class F software include but are not limited to:software in support of the NASA-wide area network; the NASA Web portal; and applications supporting the Agency's Integrated Enterprise Management Program, such as the time and attendance system, Travel Manager, Business Warehouse, and E-Payroll. |
Class G
- General Purpose Computing Software (Single Center or Project) |
|
Definition: General purpose computing software used in support of a single Center or project, as described for locally deployed portions of the General Purpose Infrastructure To-Be Component of the NASA Enterprise Architecture, Volume 5 (To-Be Architecture) 070 and for the following portfolios: voice, local area network, video, data Centers, application services, messaging and collaboration, and public Web. A defect in Class G software is likely to affect the productivity of multiple users in a single geographic location or workgroup but is unlikely to affect mission objectives or system safety. | Examples of Class G software include but are not limited to:software for Center custom applications such as Headquarters' Corrective Action Tracking System and Headquarters' User Request Systems. |
Class H
- General Purpose Desktop Software |
|
Definition: General purpose desktop software as described for the General Purpose Infrastructure To-Be Component (Desktop Hardware and Software Portfolio) of the NASA Enterprise Architecture, Volume 5 (NASA To-Be Architecture) 070. A defect in Class H software may affect the productivity of a single user or small group of users but generally will not affect mission objectives or system safety. However, a defect in desktop IT security-related software, e.g., anti-virus software, may lead to loss of functionality and productivity across multiple users and systems. | Examples of Class H software include but are not limited to:desktop applications such as word processing applications, spreadsheet applications, and presentation applications. |
3. Classification Tool Flowcharts
The following diagrams describe the operation of the classification tool. If you follow the chart below, or print off the diagrams, you can use the mechanics of the tool off-line. To download a PDF of these diagrams, which are appropriate for printing, click here.
4. Resources
- (SWEREF-070) Version 3.0, NASA Office of the Chief Technology Officer, 2004. No Longer Available
- (SWEREF-083) NPR 7150.2D, Effective Date: March 08, 2022, Expiration Date: March 08, 2027 https://nodis3.gsfc.nasa.gov/displayDir.cfm?t=NPR&c=7150&s=2D Contains link to full text copy in PDF format. Search for "SWEREF-083" for links to old NPR7150.2 copies.
- (SWEREF-246) NASA-STD-3000, Volume I, Revision B, NASA, 1995. See also Man-Systems Integration Standards, NASA-STD-3000, Volume II
- (SWEREF-269) NPR 7120.8A, NASA Office of the Chief Engineer, 2008, Effective Date: September 14, 2018, Expiration Date: September 14, 2023
- (SWEREF-271) NASA STD 8719.13 (Rev C ) , Document Date: 2013-05-07
- (SWEREF-278) NASA-STD-8739.8B , NASA TECHNICAL STANDARD, Approved 2022-09-08 Superseding "NASA-STD-8739.8A,
- (SWEREF-498) NASA-STD_3001, Volume 2: Human Factors, Habitability, and Environmental Health, Revision A, 2015.