Null
Null
AIRBORNE SYSTEMS
 An Interactive Video Teletraining Course
                      IVT course # 62836
                 Self-Study Video #25836
        What Is IVT?
        Who Is the Target Audience?
        What Is In This Guide?
        What Will You Learn?
        Who Is the Instructor?
        Self-Assessment (pre-course and post-course)
   Appendices
        A. Presentation Visuals
        B.    List of Acronyms
        C.    Exercises
        D. Order 8110.49, Chapter 12
        E.    AC 20-RSC, Reusable Software Components
        F.    DO-178B Objective Considerations
        G. Sample Data Sheet
        H. Sample Acceptance Letter
        I.    Evaluation Form
How Do You Use This IVT Guide?
Participants are located at various receive sites around the country and can
see the instructor and his/her materials on television screens in their
classrooms. The participants can communicate with the instructor either
through a microphone and/or the simple-to-use Viewer Response System
keypads. During the live presentation, when a participant has a question or
the instructor asks for specific participant responses to questions, the
participant(s) can signal to the instructor using the keypad.
This guide provides you with a framework for this course, as well as the
following appendices to be used during the course:
   • Appendix A contains copies of the slides used by the instructor during
     the broadcast. You can use these visuals to follow along with the
     broadcast or when you watch the tape and to record notes directly on
     the pages.
   • Appendix B contains a list of acronyms that may be used during the
     broadcast. Please reference this as needed.
   • Appendix C contains exercises that will be performed by students
     during the broadcast.
   • Appendix D contains Chapter 12 of FAA Order 8110.49, Software
     Approval Guidelines. This chapter addresses the reuse of software
     life cycle data and will be discussed on day #2 of the broadcast.
   • Appendix E contains draft 9.2 of the Advisory Circular (AC) 20-RSC
     entitled “Reusable Software Components” that will be discussed on
     day #2 of the broadcast.
   • Appendices F through H contain information and examples that will
     be used to help students better understand the FAA’s reuse policy and
     guidance.
   • Appendix I contains the IVT/Self-study Evaluation Form. Please fill
     out this form after the IVT/self study course is finished. If taking the
     course “live” please fax the form to 405-954-0317. If taking this
     course via self-study, send the form to your Directorate/Division
     Training Manager (ATM) in order to get course credit.
What Will You Learn?
Leanna Rierson is the FAA’s Chief Scientific and Technical Advisor for
Aircraft Computer Software. She has 14 years of experience in the
computer/aviation industry. These positions include: national software
program manager of the FAA Avionics Branch (AIR-130),
avionics/electrical engineering specialist at the Wichita ACO, and software
positions with industry at NCR and Cessna Aircraft Company. Leanna
graduated summa cum laude from Wichita State University and has a
Master’s degree in Software Engineering from Rochester Institute of
Technology. Leanna has led numerous national and international software
teams. She has performed research in the area of software reuse for the past
four years.
                          Self-Assessment
Pre- & Post-   If you are taking this course via IVT and you are logged on to a
Course Self-   keypad, you will be asked before and after the broadcast to
Assessment     complete this self assessment, using your keypads. If you are
Questions      taking this via self-study video or do not have a keypad, please
               complete manually and return with your end of course
               evaluation to your directorate/division training manager
               (ATM).
               Rate your confidence level for each of the following statements
               before and after completing the course.
               1. I can describe the technical concepts that make software
                  reuse possible.
                                       a. Very      b. Moderately     c. Not
                                      Confident      Confident      Confident
               BEFORE THE COURSE:                                    
               AFTER THE COURSE:                                     
               2. I can explain safety concerns related to software reuse.
                                       a. Very      b. Moderately     c. Not
                                      Confident      Confident      Confident
               BEFORE THE COURSE:                                    
               AFTER THE COURSE:                                     
               3. I can describe the technical topics addressed in FAA
                  Advisory Circular on Reusable Software Components.
                                       a. Very      b. Moderately     c. Not
                                      Confident      Confident      Confident
               BEFORE THE COURSE:                                    
               AFTER THE COURSE:                                     
               4. I can explain Chapter 12 of Order 8110.49, which addresses
                  reuse of software life cycle data.
                                       a. Very      b. Moderately     c. Not
                                      Confident      Confident      Confident
               BEFORE THE COURSE:                                    
               AFTER THE COURSE:                                     
5. I can describe keys for safe acceptance of reused software.
                        a. Very      b. Moderately     c. Not
                       Confident      Confident      Confident
BEFORE THE COURSE:                                    
AFTER THE COURSE:                                     
6. I can explain FAA activities related to software reuse.
                        a. Very      b. Moderately     c. Not
                       Confident      Confident      Confident
BEFORE THE COURSE:                                    
AFTER THE COURSE:                                     
PRESENTATION VISUALS
      Appendix A
               Software Reuse in
               Airborne Systems
                   Leanna Rierson
                  October 29-30, 2003
Ground Rules
                                        Software Reuse - 2
                                        October 29-30, 2003
                                         Software Reuse - 3
                                         October 29-30, 2003
             Overview of Participant’s
                   Guide (cont)
     • Appendix H: Sample Acceptance
       Letter
     • Appendix I: Evaluation Form
                                         Software Reuse - 4
                                         October 29-30, 2003
                                             Software Reuse - 5
                                             October 29-30, 2003
                     Course Overview
        Day 1:Technical Aspects of Software Reuse
              • What is Reuse?
              • Pros/Cons of Reuse
              • Reuse Myths
              • Why Reuse Isn’t Used Much
              • 7 Concepts Relevant to Reuse
              • Successful Reuse – Pulling It All
                  Together
              •   Common Certification Concerns
                  Regarding Reuse
                                             Software Reuse - 6
                                             October 29-30, 2003
                                           Software Reuse - 7
                                           October 29-30, 2003
                                           Software Reuse - 8
                                           October 29-30, 2003
GRAPHIC
                                        Software Reuse - 9
                                        October 29-30, 2003
                                        Software Reuse - 10
                                        October 29-30, 2003
     • A hot buzzword?
     • The newest silver bullet?
     • Something greatly desired, but ever so
       elusive?
     • Real and practical?
                                                Software Reuse - 11
                                                October 29-30, 2003
                                                Software Reuse - 12
                                                October 29-30, 2003
                                               Software Reuse - 13
                                               October 29-30, 2003
                                               Software Reuse - 14
                                               October 29-30, 2003
                                            Software Reuse - 15
                                            October 29-30, 2003
                                            Software Reuse - 16
                                            October 29-30, 2003
                                            Software Reuse - 19
                                            October 29-30, 2003
                                            Software Reuse - 20
                                            October 29-30, 2003
                                           Software Reuse - 21
                                           October 29-30, 2003
                                           Software Reuse - 22
                                           October 29-30, 2003
                                            Software Reuse - 23
                                            October 29-30, 2003
                                            Software Reuse - 24
                                            October 29-30, 2003
                                          Software Reuse - 26
                                          October 29-30, 2003
                                            Software Reuse - 27
                                            October 29-30, 2003
                                            Software Reuse - 28
                                            October 29-30, 2003
                                          Software Reuse - 29
                                          October 29-30, 2003
                                          Software Reuse - 30
                                          October 29-30, 2003
                                        Software Reuse - 31
                                        October 29-30, 2003
          McConnell’s Keys to
         Success in Reuse (cont)
      • Make reuse an integral part of the
        development process
      • Establish a separate reuse group
      • Focus on small, sharp, domain-specific
        components.
      • Focus design efforts on abstraction &
        modularity.
                                        Software Reuse - 32
                                        October 29-30, 2003
                                        Software Reuse - 33
                                        October 29-30, 2003
                                        Software Reuse - 34
                                        October 29-30, 2003
                                                        Software Reuse - 35
                                                        October 29-30, 2003
                                                        Software Reuse - 36
                                                        October 29-30, 2003
What Is A Component?
                                                 Software Reuse - 38
                                                 October 29-30, 2003
                                                  Software Reuse - 39
                                                  October 29-30, 2003
                 What Is A Component?
                         (cont)
                                                  Software Reuse - 40
                                                  October 29-30, 2003
                                          Software Reuse - 41
                                          October 29-30, 2003
Examples of Components
                                          Software Reuse - 42
                                          October 29-30, 2003
                                                  Software Reuse - 43
                                                  October 29-30, 2003
                3 Attributes of Software
                      Components
    • It is reusable
    • It has clear functionality
      − Single purpose
      − Encapsulates related functions
      − Properly sized
    • It has well-defined interfaces
      − E.g., consistent syntax, logical design, predictable
        behavior, & consistent method of error handling.
      − Complete, consistent, & cohesive interfaces
                                                  Software Reuse - 44
                                                  October 29-30, 2003
                                              Software Reuse - 45
                                              October 29-30, 2003
Component Library
              • Contains software
                components/assets to be reused
                throughout a company
              • Library should:
                 − Provide seamless access to
                   authorized users
                 − Be searchable & browsable
                 − Be integrated into the engineering
                   environment
                                              Software Reuse - 46
                                              October 29-30, 2003
                                                Software Reuse - 47
                                                October 29-30, 2003
     • Design Rationale
       − Communicates the design decisions and can
         help users determine if it meets their needs
       − Internal Design Rationale – describes internal
         interaction within the component
       − External Design Rationale – describes
         interaction of the component with the outside
         world
                                                Software Reuse - 48
                                                October 29-30, 2003
     • Aspects of Libraries to be
       Considered:
         − Format of components & assets entered
           into the library should be useful &
           consistent
         − Best utilization of search capabilities
         − Library management, operation, &
           maintenance
                                           Software Reuse - 49
                                           October 29-30, 2003
                                           Software Reuse - 50
                                           October 29-30, 2003
OOT Overview
                                          Software Reuse - 52
                                          October 29-30, 2003
         Message 1                    Message 2
                         Object
                                          Software Reuse - 53
                                          October 29-30, 2003
           OOT Overview
                                  Class Name
              (cont)
                                  Attributes:
     z   Definition of Class:
         “a set of objects
         that share a
         common structure
         and a common             Operations:
         behavior” (Booch)
                                          Software Reuse - 54
                                          October 29-30, 2003
                                                Software Reuse - 55
                                                October 29-30, 2003
                                                Software Reuse - 56
                                                October 29-30, 2003
                                                  Software Reuse - 57
                                                  October 29-30, 2003
                                                  Software Reuse - 58
                                                  October 29-30, 2003
                                               Software Reuse - 59
                                               October 29-30, 2003
OOT Methodology
                                               Software Reuse - 60
                                               October 29-30, 2003
                    Identify classes
                     (attributes &
                   operations) (CRC)
                                        Reapply as needed
                      Specify class
                       hierarchy
                        (CRC)
                     Identify object-
                        to-object
                   relationships (OR)
                     Model object
                     behavior (OB)
                                                            Software Reuse - 61
                                                            October 29-30, 2003
OOD
                                                            Software Reuse - 62
                                                            October 29-30, 2003
                                            Software Reuse - 63
                                            October 29-30, 2003
OOV/T
                                            Software Reuse - 64
                                            October 29-30, 2003
                                              Software Reuse - 65
                                              October 29-30, 2003
                              James Mooney
                       “Developing Portable Software”
                                          Software Reuse - 68
                                          October 29-30, 2003
                                             Software Reuse - 70
                                             October 29-30, 2003
                                                   Software Reuse - 71
                                                   October 29-30, 2003
            Technical Considerations of
                    Portability
     • Classification of Components
        − Classify complete applications according to
          their environmental interfaces & requirements
     • Specification of Portability Requirements
           ♦ how  much portability is needed
           ♦ what kind of environments will be used
           ♦ what costs can be accepted to achieve
             portability
                                                   Software Reuse - 72
                                                   October 29-30, 2003
                                                 Software Reuse - 73
                                                 October 29-30, 2003
           Technical Considerations of
                Portability (cont)
     • Verification & Validation
       − Verification activities, such as reviews,
         analysis, & testing are needed to ensure
         correctness in all applications &
         implementations.
                                                 Software Reuse - 74
                                                 October 29-30, 2003
                                             Software Reuse - 75
                                             October 29-30, 2003
                                             Software Reuse - 76
                                             October 29-30, 2003
                                               Software Reuse - 77
                                               October 29-30, 2003
GRAPHIC
                                               Software Reuse - 78
                                               October 29-30, 2003
                                            Software Reuse - 79
                                            October 29-30, 2003
                                            Software Reuse - 80
                                            October 29-30, 2003
                                               Software Reuse - 81
                                               October 29-30, 2003
                                               Software Reuse - 82
                                               October 29-30, 2003
                                               Software Reuse - 83
                                               October 29-30, 2003
                                               Software Reuse - 84
                                               October 29-30, 2003
                                                Software Reuse - 85
                                                October 29-30, 2003
                                                Software Reuse - 86
                                                October 29-30, 2003
                                                Software Reuse - 87
                                                October 29-30, 2003
                                                Software Reuse - 88
                                                October 29-30, 2003
                                         Software Reuse - 90
                                         October 29-30, 2003
                                           Software Reuse - 92
                                           October 29-30, 2003
                                        Software Reuse - 94
                                        October 29-30, 2003
                                                 Software Reuse - 95
                                                 October 29-30, 2003
Attributes To Be Evaluated
                                                 Software Reuse - 96
                                                 October 29-30, 2003
                                                      Software Reuse - 97
                                                      October 29-30, 2003
      • Introduction
      • DO-178 Framework
         – The definition
         – Analysis of Product Service History in DO-
           178B (Table 1)
         – Relationship with Previously Developed
           Software
         – Product Service History Vs. Software
           Reliability
                                                Software Reuse - 99
                                                October 29-30, 2003
                    SSH Research
                  Conclusions (cont)
     • Other alternate methods of compliance
       such as reengineering may also be
       applied to supplement objective evidence.
     • FAA expects all of the objectives to be
       fulfilled regardless of what mix of methods
       are used to show compliance.
         Characteristics of Organizations
           with Highest Reuse (cont)
     • Use domain engineering
     • Have a defined software reuse
       process
     • Management understands reuse
       issues.
     • Have software reuse advocate(s) in
       senior management
                                   Rine/Sonnerman
                                            Software Reuse - 113
                                            October 29-30, 2003
Summary of Day 1
                  Course Overview
             • Day 1:Technical Aspects of
                       Software Reuse
               ¾What is Reuse?
               ¾Pros/Cons of Reuse
               ¾Reuse Myths
               ¾Why Reuse Isn’t Used Much
               ¾7 Concepts Relevant to Reuse
               ¾Successful Reuse – Pulling It All
                Together
               ¾Common Certification Concerns
                Regarding Reuse
         SCI X                                            SCI X
      Configuration                                    Configuration
         Index                                            Index
         SCI Y                                           SCI Z
      Configuration
                          Reuse data listed           Configuration
         Index            in the SCI-X and               Index
                            OpSys XX, CI
      Op Sys XX.v1                                     Op Sys XX.v1
      Configuration                                    Configuration
         Index                                            Index
                                                           Software Reuse - 137
                                                           October 29-30, 2003
                      Applicable Definitions
          Original        First use of the reusable software
          Certification   life cycle data in a completed cert project.
          Project
              Summary of Chapter 12 of
                  Order 8110.49
     • Reuse of software life cycle data on
       multiple certification projects is
       feasible
     • If a data item hasn’t changed and is
       applicable for the current project, it is
       a candidate for re-use
     • Present plan for reuse in PSAC and
       get early ACO agreement
SEE APPENDIX E
               Addressing Some
         Misconceptions About This AC
                • It is not an “approval”
                • It does not release the
                  applicant from
                  responsibility
                • It will likely require
                  additional resources from
                  FAA and applicants on the
                  first use of an RSC
       • It is not easy
       • The certification authority may need to
         do additional review activity on an RSC if
         installation, safety, operational,
         performance, or functional issues exist
       • An RSC acceptance letter does not mean
         all the DO-178B objectives of the RSC
         are met yet
AC Overview
          Important Definitions
    • Reusable software component (RSC) is the
      software code and its supporting DO-178B
      documentation being considered for reuse. It
      forms a portion of the software that will be
      implemented by the integrator/applicant.
                                                  Certification
         Applicant                                Authorities
                                           Example Approach
                                              (Appendix 3)
Status of AC 20-RSC
                         ♦ COTS   Research
                         ♦ OO Research and Handbook
                         ♦ Software Service History
                           Handbook
                         ♦ Integrated Modular Avionics
                         ♦ Tools Research and Reuse
COTS Research
              OOTiA
             Workshops
     • NASA and FAA sponsored two
       Object-Oriented Technology in
       Aviation (OOTiA) workshops
     • Workshop #1 was held in April 2002
     • Workshop #2 was held in March 2003
     • Both workshops were intended to get
       government, industry, and academia
       together to consider OOTiA
              OOTiA
          Workshops (cont)
     • Volume 1: Handbook Overview
        − Target Audience: All Handbook users
        − Provides background and foundational
          information needed to use all other
          volumes
              OOTiA
          Workshops (cont)
     • Volume 3: Best Practices
        • Target Audience: Developers,
          certification authorities
        • Identifies best practices to safely
          implement OOT in aviation by providing
          some known ways to address the issues
          documented in Volume 2
             OOTiA
         Workshops (cont)
     • For more info on OOTiA:
− Go to: http://shemesh.larc.nasa.gov/foot
SSH Research
Module 5
                            Module 7
                            Module 8
                            Module 4
                            Module 6
                                               Software Reuse - 205
                                               October 29-30, 2003
                       What is IMA?
          •   Defining “IMA” is difficult
          •   The RTCA modular avionics team
              created the following definition:
              − Modular avionics is defined as a shared
                set of flexible, reusable, and
                interoperable hardware and software
                resources that create a platform that
                provides services, designed and verified
                to a defined set of safety and
                performance requirements, to host
                applications performing aircraft-related
                functions.
SC-200/WG-60 Highlights
     • Section 1: INTRODUCTION
        −   Purpose
        −   Scope
        −   Background
        −   Stakeholders
        −   Relationship to other documents
        −   References
        −   How to use the document
          System(s)                                             System(s)
         Development                                            Approval
                                          Change/           (5)Change/
       (2) Application                    Reuse
                                          initiated
                                                            (6)Reuse Approval
       Software Approval
            SC-200/WG-60 “Module
          Qualification” Concept (cont)
                                            Modular Avionics
                                            Certification Plan
       HASs &   SASs &     EQTRs                                 HASs &   SASs &     EQTRs
       HCIs     SCIs                                             HCIs     SCIs
                     Summary (cont)
   • Service History Research & Handbook
     are available to support reuse but is a
     difficult case to make.
   • IMA intends to reuse data
      − Hardware element TSO
      − “Module qualification” concept being
        proposed by SC-200/WG-60
   • Reuse policy and guidance may apply to
     tool qualification as well
AC         Advisory Circular
ACO        Aircraft Certification Office
AD         Airworthiness Directive
API        Application Programmer Interface
ARP        Aerospace Recommended Practice
ASTC       Amended Supplemental Type Certificate
ATC        Amended Type Certificate
CAST       Certification Authorities Software Team
CFR        Code of Federal Regulations
CMR        Certification Maintenance Requirement
COTS       Commercial-off-the-shelf
CSTA       Chief Scientific and Technical Advisor
DER        Designated Engineering Representative
EQP        Environmental Qualification Plan
EQTR       Environmental Qualification Test Report
FAA        Federal Aviation Administration
I/O        Input/Output
IMA        Integrated Modular Avionics
IVT        Interactive Video Teletraining
HAS        Hardware Accomplishment Summary
HCI        Hardware Configuration Index
LRU        Line Replaceable Unit
MA         Modular Avionics
MCI        Module Configuration Index
MQAS       Module Qualification Accomplishment Summary
NASA       National Aeronautics and Space Administration
OO         Object-Oriented
OOA        Object-Oriented Analysis
OOD        Object-Oriented Design
OOP        Object-Oriented Programming
OOT        Object-Oriented Technology
OOTiA      Object-Oriented Technology in Aviation
OOV/T      Object-Oriented Verification/Testing
PR         Problem Report
PHAC       Plan for Hardware Aspects of Certification
PSAC       Plan For Software Aspects Of Certification
REBOOT     Reuse Based on Object-Oriented Technology
RMM        Reuse Maturity Model
RSC        Reusable Software Component
RTOS       Real-Time Operating System
SAS        Software Accomplishment Summary
SC         Special Committee
SCI        Software Configuration Index
SCM        Software Configuration Management
                                B-1
SCMP   Software Configuration Management Plan
SDP    Software Development Plan
SQA    Software Quality Assurance
SQAP   Software Quality Assurance Plan
SSA    System Safety Assessment
SSH    Software Service History
STC    Supplemental Type Certificate
SVP    Software Verification Plan
SW     Software
TC     Type Certificate
TSO    Technical Standard Order
WAAS   Wide Area Augmentation System
WG     Working Group
                           B-2
EXERCISES TO BE USED IN THE IVT
            Appendix C
              Exercise 1
Describe some situations in your job where
 you have seen salvaging and reusing. List
 the situations below and be prepared to
 discuss with the class.
    Salvaging                Reusing
              Exercise 2
Scenario: Assume that you are an ACO
  engineer involved in a project that will use
  a COTS RTOS.
Question: What are some of the things you
  would do in this situation?
                    C-1
             Exercise 3
Scenario: Assume that you are an ACO
  engineer involved in a project that
  proposes to use product service history.
Question: What are some of the things you
  would do in this situation?
             Exercise 4
Question: Given the list of “common
 certification concerns with reuse” what do
 you think are some ways to address these
 concerns in a safe manner?
                  C-2
              Exercise 5
Scenario: Assume that you are an ACO
  engineer working with a RSC developer of
  an operating system that is designed to be
  reusable.
Exercise: Using the tables in Appendix F of
  your Participant’s Guide, list some of the
  things you would consider as a
  “regulator”.
         Exercise 5 (cont)
Considerations (list here):
                    C-3
              Exercise 6
Question: Review the sample acceptance
 letter in Appendix H and compare it with
 the suggested items listed in Section 10 of
 AC 20-RSC. Are there any additional
 things that you would include in the
 letter? If so, list them below:
                   C-4
    Chapter 12 of Order 8110.49
12-1. GENERAL. This chapter provides guidelines for determining if software life
cycle data, produced and approved for one certification project, can be approved on a
follow-on certification project. Approval for reuse could minimize the amount of rework
while maintaining an equivalent level of design assurance.
        a. If properly planned and packaged, software life cycle data can be reused from
one project to the next, with minimal rework. For example, the software plans,
requirements, design, and other software life cycle data (as documented in a Software
Configuration Index) for a Global Positioning System (GPS) may originally be approved
on GPS #1 (the original certification project) and reused on GPS #2 (the subsequent
certification project). Sample items suitable for reuse include:
          (1) Software plans and standards. These include software undergoing non-
substantive changes, such as:
• Program name,
•   Configuration changes for reasons other than design changes (for example, document
    format change, drawing modifications, or documentation system changes).
           (2) Tool qualification data. The FAA can approve reuse, if the tool is used
exactly as specified in the qualification approval as part of the original certification, and
the applicant has access to the tool qualification data. This is true even if some of the
features were qualified but not used during the original certification. The applicant
should ensure that the same version of the tools is being used as that supported by the
qualification data. The FAA will not approve reuse if the applicant uses additional or
different tool functionality than was previously qualified.
            (3) Software libraries. The FAA can approve library sets in the original
certification project if the library set is used identically (that is, same library functions are
used the same way).
                                              D-1
procedures, and so forth are unaffected and unchanged from the previous certification
effort.
            (5) Configuration items. These may be approved for reuse in their entirety,
if the certification authority and DERs use paragraphs 12-3 through 12-5 of this chapter
to make the determination, and the configuration of the software life cycle data has not
changed. Configuration item requirements verified at a higher level (that is, system
level) should be identified in the original configuration and reverified before reuse.
12-3. SAFETY CONSIDERATIONS. If the FAA finds software life cycle data
acceptable for reuse, no further design approval is required. Figure 12-1 illustrates the
considerations that govern whether the FAA will approve software reuse.
       a. Any of the software life cycle data in Section 11, RTCA/DO-178B is suitable
for reuse. To meet the guidelines in paragraph 12-5 of this chapter, the software life
cycle data should be unchanged, and should apply to the project for which reuse is being
considered.
       b. In-service problems with previous applications can limit reuse. There may be
Airworthiness Directives or a manufacturer’s unresolved problem reports with the
previously approved system. The applicant needs to analyze all open manufacturer’s
problem reports to ensure that the reusable portion of the new software is not affected. If
the reusable portion of the new software is affected, changes to correct that software life
cycle data should be made or the software should not be used.
                                            D-2
      c. Applicants should determine if the software data apply to the subsequent
project’s development by assessing the similarity of both the operational environment
and the software development environment. They should:
         (3) Demonstrate that operational and development environments are the same,
or demonstrated to produce identical results as the previous certification.
      a. The certification authority should ensure that the applicant has met the
following guidelines before granting certification credit for reused software life cycle
data:
(1) The software life cycle data have not changed since its previous approval.
          (2) The software level of the software application(s) is equal to (or less than)
the software level of the original certification effort.
           (3) The range and data type of inputs to the configuration item are equivalent
to its approved predecessor.
          (4) The configuration item is embedded on the same target computer and is
used the same way operationally as the original certification project.
         (6) The applicant followed the safety considerations and reuse factors in
paragraphs 12-3 and 12-4 of this chapter.
          (7) The software life cycle data and the rationale for reuse of each item are
documented in the “Additional Considerations” portion of the PSAC. The applicant’s
PSAC should include method of use, integration, and documentation for the reused
configuration item. The PSAC should be submitted as early as possible in the
development program. The applicant should also document all references to the project
previously certified and the project number, as applicable, in the PSAC.
                                            D-3
      b. The certification authority responsible for the subsequent certification should
review the PSAC and notify the applicant whether the proposal is acceptable or not (with
appropriate rationale).
                                          D-4
  ADVISORY CIRCULAR 20-RSC
         Date: XXXXXXXX
9/24/03                                                                                                                  AC 20-RSC
                                                 TABLE OF CONTENTS
SECTION                                                                                                                            PAGE
1.   PURPOSE. ......................................................................................................................... 1
2. BACKGROUND................................................................................................................ 2
3. RELATED DOCUMENTS............................................................................................... 2
4. DOCUMENT OVERVIEW.............................................................................................. 3
5. DISCUSSION..................................................................................................................... 4
                                                                                                                                        E- i
9/24/03                                                                           AC 20-RSC
1. PURPOSE.
    a. This advisory circular (AC) provides one acceptable means of compliance, but not
the only means, for use by reusable software component (RSC) developers, integrators, and
applicants to gain Federal Aviation Administration's (FAA) “acceptance” of a software
component that may be only a part of an airborne system’s software applications and
intended functions. Like all advisory material, this AC is not mandatory and does not
constitute a regulation. Because the means of compliance presented in this AC is not
mandatory, the term “must” used herein applies only to the applicants, integrators, and RSC
developers who choose to follow the method prescribed in this AC.
    b. This AC also shows a means to get credit for the reuse of a software component in
follow-on systems and certification projects, including receiving “full credit” or “partial
credit” for compliance to the objectives of RTCA/DO-178B, Software Considerations in
Airborne Systems and Equipment Certification. When all stakeholders comply with this AC
and no installation, safety, operational, functional, or performance concerns are identified by
the FAA (or authorized designee), the FAA may grant acceptance for the RSC. This
acceptance is accomplished by the issuance of an FAA RSC acceptance letter; the letter will
not be written until a certification or authorization is granted for a product or equipment
using the RSC. If the RSC is unchanged and meets the limitations stated in the RSC
acceptance letter, it may be reused without additional FAA review of the RSC data,
assuming no safety, installation, operational, functional, or performance concerns are
identified in the subsequent application(s). This AC requires that the RSC being considered
for acceptance have its own set of software life cycle data.
                                                                                        Page E-1
AC 20-RSC                                                                               9/24/03
2. BACKGROUND.
NOTE: The reuse concept described in this AC may be applicable to verification and
development tools; however, the details of each reusable tool qualification project must be
discussed with the FAA. Tools differ from airborne software; therefore, there are some
additional concerns to be addressed, when attempting to reuse tool qualification data. The
FAA plans to specifically address tool reuse in future guidance.
3. RELATED DOCUMENTS.
Page E-2
9/24/03                                                                         AC 20-RSC
    d. RTCA, Inc. Documents. You may purchase copies of RTCA documents from
RTCA, Inc., 1828 L Street, NW, Suite 805, Washington, D.C. 20036. Alternatively, copies
may be purchased on-line at http://www.rtca.org/. RTCA documents referenced in this AC
are:
       (2) ARP4761, Guidelines and Methods for Conducting the Safety Assessment
Process on Civil Airborne Systems and Equipment.
    a. Sections 1 through 4 establish the context for this AC by providing background and
introductory information.
   c. Sections 6 through 8 provide guidelines for the RSC developers, integrators, and
applicants, when developing or using an RSC.
   d. Sections 9 through 11 provide typical activities that the RSC developers, integrators,
and applicants can expect from the certification authorities for the first acceptance of an
RSC and its subsequent use.
    e. Section 12 discusses common issues that must be addressed when developing and
using RSCs. These issues may affect multiple RTCA/DO-178B objectives. Section 12 does
                                                                                   Page E-3
AC 20-RSC                                                                                9/24/03
not present an exhaustive list of issues that may arise, since each project will have its own
specific issues.
    h. Appendix 1 defines the terms used in this AC. Please review this appendix prior
to reading the AC in order establish a consistent terminology.
    a. The first acceptance of an RSC must be performed during an actual project (such as,
a TC, ATC, STC, ASTC, or TSO authorization project). This may require extra resources
from the RSC developer, the integrator, the applicant, and the certification authority.
Subsequent acceptance of the RSC for a different system or project will likely require less
effort and resources, if the guidelines in this AC are followed.
    b. This reuse guidance applies only when all the stakeholders (the applicant, integrator,
RSC developer, and certification authority) agree that the software component is reusable.
The RSC Plan for Software Aspects of Certification (PSAC) and the system-level PSAC of
the first applicant are the recommended vehicles for documenting the agreement of the
proposed means of compliance for the RSC to this AC in the context of the system and for
defining the communication channels and roles among stakeholders. Agreeing on the reuse
concept is important because the first applicant will likely use additional resources to
qualify the component as reusable. If there is no agreement, then the traditional approach to
software development and approval must be followed for all software in the system (see
Section 6 of this AC).
    c. Each RSC developer’s project will have different limitations, needs, and issues. For
example, one developer may package the software life cycle data so it fully satisfies a
particular objective of RTCA/DO-178B. Another RSC developer may only partially satisfy
that same objective. This may be due to some project-specific issues, or additional
coordination with the integrator to augment the efforts of the RSC developer. Sections 6
through 8 of this AC guide the RSC developer, integrator, and applicant. The guidelines are
meant to be flexible enough to satisfy the multiple needs of the RSC developer, integrator,
and applicant. However, the guidelines are also detailed enough to ensure that relevant
certification, compliance, and safety issues are addressed.
Page E-4
9/24/03                                                                           AC 20-RSC
certification authority and the RSC developer (with the applicant’s involvement) for the
reuse aspects of the project.
    e. It should be noted that acceptance of an RSC for one project does not guarantee
acceptance on a subsequent project. Installation, safety, operational, functional, and
performance considerations must be considered on each project. If concerns arise in any of
these areas, certification authorities may need to reassess RSC life cycle data. Additionally,
the compliance to all applicable RTCA/DO-178B objectives, guidance, and regulations
must be addressed by every applicant on their particular project.
    g. The integrator and applicant should be aware that it is unlikely that an RSC can
satisfy all of the objectives of RTCA/DO-178B and are advised that they may need validate
RSC developer claims and provide additional resources for demonstrating compliance of
systems containing RSCs. The integrator and applicant should also be aware that the
communication paths and division of responsibilities can be complex, when using an RSC.
    h. The integrator and applicant should also be aware that there are other regulations,
guidance, and agreements that may be applicable for their system and its aircraft installation
approval beyond the guidance of RTCA/DO-178B. These may be dependent on the date of
application for the certification, the type of system which they are proposing, the
introduction of novel design or technology or methods, or other factors. The applicant is
responsible for demonstrating compliance of all components of their system, including
RSCs.
    i. It is recommended that the RSC developer, integrator, and applicant not propose
alternative means of compliance to the objectives of RTCA/DO-178B for the software
aspects of the initial approval or subsequent certification approvals of systems containing
RSCs. As described in Section 3.b of this AC, if an alternate means is proposed, this AC
may not be applicable.
6. GUIDELINES FOR THE RSC DEVELOPER. Prior to issuance of this AC, there
were no procedures for RSC developers to directly transfer their accepted data from one
project to the next and across company boundaries. Traditionally, RSC developers provided
substantiation in one of two ways. First, by resubmitting the RSC data package and
repeating the work for each system’s application. Second, by providing traceability through
the TC, ATC, STC, ASTC, or TSO approval back to the desired data and defending the
validity of their processes and data from the original approval basis to the new approval
basis for each system. This AC addresses the reuse of software components and software
life cycle data across company boundaries. The RSC developer must do the following:
                                                                                     Page E-5
AC 20-RSC                                                                               9/24/03
   a. Produce a PSAC for the RSC as early as possible in the project. The RSC PSAC
must:
    • Include the information discussed in Section 11.1 of RTCA/DO-178B.
    • Detail the RSC developer’s plans for satisfying each applicable RTCA/DO-178B
      objective.
    • Identify which objective(s) will not be satisfied and which objective(s) will be
      partially satisfied by the RSC developer.
    • Explicitly state the RSC developer’s agreement that the RSC is being developed
      with the intent to reuse it in future projects.
    • State the intent to comply with this AC.
    • Define the failure conditions, safety features, protection mechanisms, architecture,
      limitations, software level(s), interface specifications, and intended usage of the
      RSC.
    • Provide a description of the proposed certification liaison process (including
      communication and coordination focal points) to all involved stakeholders.
    c. For each RTCA/DO-178B objective applicable to the software level, document the
information listed in items (1) to (4) below (in the RSC PSAC) with sufficient detail for
certification authority concurrence and integrator and/or applicant usage of the RSC. The
RSC developer may include this information in a table with columns for the objective
reference, objective description, amount of credit being sought (full, partial, or no credit),
assumptions, means of compliance, and remaining activities to be completed by the
integrator and/or applicant (see a sample format in Appendix 3). Since resource-specific,
target computer-specific, and system-specific issues may be uncertain early in the project,
the RSC PSAC may list preliminary information that will be updated in RSC PSAC
revisions and the RSC Software Accomplishment Summary (SAS), when the RSC is
completed. Some reuse details may not be finalized until the end of the project. The
following information must be thoroughly documented for each applicable RTCA/DO-178B
objective for review by certification authorities (and authorized designees) and for usage by
integrators and/or applicants:
        (1) Credit being sought for the objective. The RSC PSAC or referenced
document must specify if full, partial, or no credit is being sought for the objective. Full
credit is defined as being able to completely satisfy an objective using the RSC data package
and demonstrations that all associated assumptions are valid. If additional activity is
required by the integrator, then full credit cannot be claimed. This is true even when the
activities are fully specified by the RSC developer. Additionally, if the assumptions are not
satisfied by the integrator or applicant, no credit can be obtained.
       (2) Assumptions of the RSC developer on the behavior of the RSC users.
Provide sufficient justification to ensure that the original acceptance is valid if the
assumptions are satisfied. For example, the RSC developer may assume that the source
Page E-6
9/24/03                                                                           AC 20-RSC
code, compiler type, and compiler options will remain the same. If, however, an integrator
or applicant does not meet these assumptions, reuse of the applicable objective credit will
not be allowed.
       (3) Means of compliance for the objective. The RSC PSAC and SAS must
document what software life cycle data supports compliance for each applicable objective
(document titles, version numbers, and/or a description of the type of data to be provided as
evidence of compliance).
        (4) Activities remaining for the integrator and/or applicant. The RSC PSAC
and SAS must document what an applicant and/or integrator must do to fully satisfy any
partial or unsatisfied objectives.
d. Document the following safety-related items in the RSC PSAC and RSC SAS:
       (2) An analysis of all interfaces and configurable parameters, which describes the
functional and performance effects of these parameters on the user and any mitigations
required by the user to ensure proper operation,
        (3) Architectural and design features supporting any portion of the safety analysis,
partitioning, or other protection strategies,
        (4) Any safety, operational, functional, or performance assumptions that support the
use of the RSC (see Section 6.e below), and
      (5) Any new or novel concepts, methods, and technologies to be used in developing
the RSC.
    e. Additionally, the RSC developer must also produce an analysis of the RSC’s
behavior that could adversely affect the users’ implementation (for example, a vulnerability
assessment, partitioning analysis, hardware failure effects, requirements for redundancy,
data latency, and design constraints for correct RSC operation). The analysis may be used
to support the integrator and/or applicant’s safety analysis.
    f. Obtain agreement (as early as possible) by all stakeholders for the first application
by coordinating the RSC PSAC, any other RSC plans (e.g., Software Development Plan
(SDP), Software Verification Plan (SVP), Software Quality Assurance Plan (SQAP), and
Software Configuration Management Plan (SCMP)), and software development standards
(that is, requirements, design, and coding standards) with the certification authority,
designees (if delegated), and the applicant and/or integrator.
   g. Develop the RSC in compliance with the approved plans. As previously stated, the
RSC developer must produce the RTCA/DO-178B software life cycle data and
documentation identified in Section 7 of this AC for the RSC (such as, plans, standards,
                                                                                     Page E-7
AC 20-RSC                                                                                 9/24/03
    h. Inform the certification authority, designees (if delegated), integrator, and applicant
of both development progress and any deviations from plans, to allow for timely reviews
and adjustments as necessary.
    i. Submit the RSC Software Configuration Index (SCI) and the RSC SAS to the
certification authority through the project applicant, when completed. The RSC SAS must
include or refer to the software life cycle data of RTCA/DO-178B, Section 11, and the
information discussed in Section 6 of this AC.
   a. The type design data listed in Section 9.4 of RTCA/DO-178B for the RSC (that is,
Software Requirements Data, Design Description, Source Code, Executable Object Code,
SCI, and SAS).
   b. The RSC PSAC, which identifies the credit sought for each RTCA/DO-178B
objective.
   c. Interface description data (for example, interface control document and porting
guide). The interface description data includes any hardware and software resource
requirements (such as, timing and memory) and applicable analyses, verification
procedures, and verification cases.
       (1) Equipment specifications required for proper operation and performance of the
RSC, including verification activities to be performed by the integrator and/or applicant to
ensure equipment specifications are met.
       (3) Instructions for periodic maintenance and calibration needed for continued
airworthiness once the software is installed on the target environment.
Page E-8
9/24/03                                                                            AC 20-RSC
      (2) re-test where new settings or parameters may affect the requirements, code,
function, performance, or protection features;
      (3) analyses of data coupling and control coupling of the RSC, including guidance for
the integrator or applicant to facilitate the data coupling analysis and control coupling
analysis of the RSC integrated with the other airborne software components of their system;
and
      (4) development of new test cases and procedures to complete all test and test
coverage analyses objectives, including guidance for the integrator or applicant to facilitate
demonstrating normal range and robustness testing and test coverage objectives for the
entire integrated airborne software.
    g. Open problem reports on the RSC and analysis of any potential functional,
operational, performance, and safety effects. The RSC developer should document this
information in the RSC SAS, and if the information is known at the beginning of the project,
include it in the RSC PSAC.
    h. The RSC developer must develop a data sheet for the RSC. This data sheet must
summarize RSC functions, limitations, analysis of potential interface safety concerns,
assumptions, configuration, supporting data, open problem reports, software characteristics,
and other relevant information in a concise manner that supports the integrator and/or
applicant’s use of the RSC. The data sheet must be submitted to the FAA and will be
attached to the FAA acceptance letter.
                                                                                       Page E-9
AC 20-RSC                                                                                9/24/03
    i. The following data-related items must also be addressed by the RSC developers
(although they may not result in submittals):
        (1) Any RTCA/DO-178B software life cycle data not listed above, but used in the
software development and approval process, must be made available to the applicant,
integrator, and certification authority (for example, Software Quality Assurance (SQA) and
Software Configuration Management (SCM) records).
        (2) Irrespective of any legal and proprietary issues and agreements about the
delivery of software life cycle data between the applicant and the RSC developer, the data
must be available to the certification authorities (and authorized designees) at all times for
their review and inspection. A process may be set up to make some data available to the
applicant without actually supplying the data to the applicant (for example, a data/software
escrow). This data must be accessible to the certification authority (and authorized
designees) to determine compliance, or in the event of safety or operational problems with
the target system (see 14 CFR § 21.277). The data may also need to be available to the
applicant, if the target system or RSC requires modification (reference 14 CFR § 21.301
through § 21.305, and FAA Order 8110.4).
        (3) Data needed to support changes to the RSC must be identified and maintained.
For example, if the developer goes out of business, this data will support continued
airworthiness and operational safety. 14 CFR, Part 21, Certification Procedures for
Products and Parts (as supplemented by FAA Order 8110.4, Type Certification (Chapters 2
and 3)), provides guidance for the issuance and preservation of type design data for
maintaining the continued airworthiness of aircraft products.
        (4) The RSC developer must retain and maintain a list of all integrators and
applicants buying or using their components to support continued airworthiness across
multiple products. The RSC developer and integrators/applicants must set up a process to
share in-service problem reports in support of operators required to comply with 14 CFR §
21.3, and in support of Sections 8.n and 8.o below. The RSC developer and user(s) must
develop an agreement to support continued airworthiness of the system(s) using the RSC.
Page E-10
9/24/03                                                                           AC 20-RSC
   b. Specify the RTCA/DO-178B software life cycle data needed from the RSC
developer that supports their project and continued airworthiness. This data is listed in
Section 7 of this AC.
    c. Produce a system-level PSAC (and/or equivalent certification plan) for the target
system, including the information outlined in RTCA/DO-178B, Section 11.1. The system-
level PSAC must include the integrator and/or applicant’s plans to address compliance with
all RTCA/DO-178B objectives, regulations, and guidance for the RSC and other software
components of the target system. Additionally, the system-level PSAC must explicitly state
the agreement that the RSC was developed with the intent to be reusable in other projects
and that they intend to comply with this AC.
    d. Produce other system-level software plans (such as, SDP, SCMP, SVP, and SQAP)
for their target system. Each plan must address the RSC integration and other software
components used. For example, the system-level SVP must cover the overall software
verification program, plus any verification required to integrate the RSC and other
components, and the credit proposed for the RSC developer’s verification.
    e. Evaluate the safety, operational, performance, and functional impacts of the issues
identified in the RSC developer’s PSAC, SAS, and safety analysis data; determine the
applicability and severity of these impacts on the specific application and system; determine
any additional impacts for the specific application; propose risk mitigation, system
architectural design features, protection mechanisms, and other assurance methods to
address those risks; and address all safety, operational, functional, and performance issues
during the development of the system.
    f. Coordinate all plans and standards (as needed) with the certification authority and
designees (if delegated) to get agreement on the project.
    g. Follow the approved plans and standards. Should any deviations from the plans or
standards be necessary, those deviations should be coordinated with the certification
authority (and authorized designees) prior to implementation.
    h. Analyze open problem reports on the RSC (including development problem reports
and in-service problem reports), other software components, hardware, and system to ensure
that there are no safety, operational, functional, or performance effects from the RSC or
other components in the specific application and system.
    i. Validate that the assumptions for RTCA/DO-178B objective credit made by the RSC
developer in the RSC SAS are met. Demonstrate the applicability of the credit to the
integrated system that uses the RSC and complete the RTCA/DO-178B objectives that were
identified as “partial” or “no” credit in the RSC SAS. The applicant is responsible for
ensuring compliance to all applicable RTCA/DO-178B objectives for the integrated RSC.
    j. Evaluate and address the common reuse issues described in Section 12 of this AC
for the each particular application.
                                                                                    Page E-11
AC 20-RSC                                                                               9/24/03
    k. Validate and verify the throughput, timing, memory usage, resource usage, and other
resource items of the RSC and other installed software components for the specific target
environment.
    l. Keep the certification authority and designees (if applicable) informed of the project
status and approved plan deviations. This communication supports timely reviews by the
certification authority and/or designees (if applicable) and approval of changed plans.
    m. Submit all SCIs, SASs, and other required software life cycle data to the certification
authority (that is, submit both system-level and RSC data). The system-level SAS must
include the information described in Section 11.20 of RTCA/DO-178B for the system’s
software. The system-level SCI and SAS must identify that the RSC has been included in
the applicant’s project, the configuration (including part numbers) of the RSC, the
configuration (and part numbers) of other software components, and the software life cycle
data configuration to support the RSC and other software components used in the system.
Additionally, the system-level SAS must include a description of how RTCA/DO-178B
objectives that were not fully met by the RSC developer have been completely satisfied by
the integrator and/or applicant for the entire integrated system.
    n. Report in-service difficulties with the RSC to the RSC developer and the certification
authority who granted the acceptance letter.
    o. For subsequent use of the RSC, investigate the in-service experience related to the
RSC to ensure that no safety-related problems connected with the RSC have been
experienced. Relevant information, such as problem reports available to the RSC developer,
must be evaluated for this purpose (see 7.i(4) above). Safety-related in-service experience
relative to the RSC must be communicated to the RSC developer and the certification
authorities.
   a. Coordinate and work closely with the applicant, integrator, and RSC developer to
ensure that they comply with the guidance of this AC.
Page E-12
9/24/03                                                                            AC 20-RSC
   c. Review the RSC developer, applicant, and/or integrator’s plans to ensure that the
applicable RTCA/DO-178B objectives, regulations, and guidance will be satisfied.
    d. Perform on-site or desk reviews of the software life cycle data and the capability of
the RSC developer, applicant, and integrator, as needed, to ensure compliance to the
applicable RTCA/DO-178B objectives, guidance, and regulations.
   e. Ensure that a process is established between the applicant and RSC developer to
address any continued airworthiness and in-service problems (see Sections 7.i(4), 8.n, 8.o,
and 11.h of this AC).
    f. Approve data from the applicant, integrator, and RSC developer (as in a typical
software program) for the system software, when the stakeholders satisfactorily complete
their development and compliance activities.
    a. The RSC document numbers and revision levels approved (for example, the SCI
number and revision; the SAS number and revision; and any additional configuration
information not included in the SCI), and a general description of the RSC functionality and
target environment.
    c. The name and contact information of the original RSC applicant and/or integrator,
the airborne system and environment, and other relevant information pertaining to the initial
acceptance of the RSC.
   e. Summary of technical or policy issues that arose during the initial acceptance and
how those issues were addressed.
  f. Summary of extra activities performed by the integrator and applicant to assure the
RSC for the initial system approval, including system bench and aircraft testing.
                                                                                     Page E-13
AC 20-RSC                                                                                9/24/03
   g. Contact information for the certification office that will address future questions
about the RSC acceptance and subsequent reuse.
   h. Software level of the RSC, any RSC limitations, and known installation, safety,
operational, functional, or performance issues of the RSC.
   i. RSC data sheet, as described in Section 7.h of this AC. A copy of the RSC data
sheet should be attached to the acceptance letter.
    j. Emphasis that acceptance of the RSC in one project is not approval in any other
project. Any subsequent user of the RSC must evaluate installation, safety, operational,
functional, and performance aspects of the RSC in their application. Additionally,
subsequent users of the RSC must evaluate complete compliance to all applicable
RTCA/DO-178B objectives, regulations, and guidance for the RSC and other components in
their system.
NOTE: Certification authorities may encourage RSC developers to document some or all
of the information listed in 10.a through 10.j in their data sheet and/or SAS. Therefore, the
certification authority can simply reference the data sheet and/or SAS in the acceptance
letter. In this case, the data sheet and/or SAS number, title, and revision level will be
included.
    a. Review the RSC acceptance letter that documents the initial acceptance. This letter
may be obtained from the RSC developer or the certification authority office that originally
issued the acceptance.
    b. Contact the certification office that performed the first acceptance (as documented in
the acceptance letter) to discuss project details and to address any questions or concerns.
    c. Coordinate and work closely with the RSC applicant and integrator to ensure that
they follow this AC’s guidelines, address the common reuse issues in Section 12 of this AC,
and address any additional certification issues.
  f. Review the integrator and/or applicant’s plans to ensure: (a) the objectives of
RTCA/DO-178B will be satisfied; (b) other applicable regulations, guidance, and
Page E-14
9/24/03                                                                           AC 20-RSC
agreements will be satisfied; and (c) the assumptions and requirements documented for the
RSC and for other software components used in the target system will be satisfied.
   g. Perform, where deemed necessary, on-site and desk reviews of the integrator and/or
applicant’s data and organization’s capability (as needed). This ensures compliance to the
applicable RTCA/DO-178B objectives, regulations, guidance, and approved plans. It also
ensures compliance with the assumptions and requirements documented for the RSC and
other software components.
    h. Evaluate the in-service experience related to the RSC, as communicated in 8.n and
8.o above. Safety-related in-service experience and continued airworthiness concerns must
be addressed before accepting the new use of the RSC.
    i. Accept the applicant and/or integrator’s data for the overall system software after
they satisfactorily complete the integration and compliance activities.
   j. Inform the original certification authority of the subsequent software acceptance, and
report any issues that arose during the acceptance.
12. COMMON SOFTWARE REUSE ISSUES. There are several issues that may affect
the reuse of software components. Some of the most common issues are discussed below
(this is not an exhaustive list):
a. Requirements definition.
        (2) Each RSC developer must establish a plan to satisfy the RTCA/DO-178B
objectives related to system, high-level, low-level, and derived requirements. It is unlikely
that the RSC developer will be able to satisfy RTCA/DO-178B objectives related to
traceability to and compliance and consistency with system requirements, nor will they
likely be able to “feed back” RSC derived requirements to the systems safety assessment
process to ensure there is no impact of design decisions on the system safety. This will
likely result in additional effort for the integrator and/or applicant. The RSC developer’s
means of addressing requirements must be clearly documented in the RSC PSAC and
adhered to by the integrator and/or applicant. The integrator/applicant’s means of
addressing requirements and the system safety assessment must be clearly documented in
                                                                                    Page E-15
AC 20-RSC                                                                                9/24/03
the system-level PSAC. Both plans should also be coordinated with the appropriate
certification authorities as early in the program as possible.
b. Re-verification.
        (1) When an RSC is reused, the question of how much re-verification needs to be
performed often arises. Re-verification activities depend on the specific situation (such as,
same or different processor, same or different compiler, same or different compiler options,
and so forth). The RSC developer should document their overall verification (and re-
verification) plans in the RSC PSAC. Additional details should be provided in the RSC
SVP; however, the RSC PSAC should have sufficient detail for the certification authority to
determine that the approach will address the RTCA/DO-178B verification objectives. The
integrator and/or applicant will also need to address verification objectives in the system-
level plans. Some examples of verification objectives that cannot typically be satisfied by
the RSC developer and must be addressed by the integrator and/or applicant are:
               •   integration,
               •   software integration testing,
               •   hardware-software integration testing,
               •   requirements-based test coverage,
               •   timing analysis,
               •   memory analysis,
               •   stack analysis,
               •   data coupling analysis,
               •   control coupling analysis,
               •   robustness testing,
               •   partitioning and other protection mechanisms integrity validation, and
               •   any installation-specific testing such as system bench testing, aircraft
                   ground and flight testing, and flight test pilot and human factors
                   specialists evaluations of flight deck effects.
Page E-16
9/24/03                                                                            AC 20-RSC
    c. Interface. The RSC developer must provide interface data. This data must
explicitly define what activities are required by the integrator and/or applicant to ensure that
the RSC will function according to its requirements. Typical items included in interface
data are:
                • configuration parameters
                • restrictions on tools
                • additional verification activities
                • memory and timing requirements
                • external resources required by the RSC for proper functioning and
                   performance
                • definition of the communication mechanisms between the RSC and other
                   software programs and the communication protocols with hardware
                   components
                • accessible variables and their characteristics
                • variables and data required from the system and their characteristics (for
                   example, inputs to RSC)
                • bus and input/output ports and devices
                • access mechanisms
    d. Partitioning and protection. Although partitioning and protection will most likely
be a function at the system level, the RSC itself may require some partitioning and
protection. For example, there may be some maintenance code that is at a different software
level than the operational flight program for the RSC. In some cases, the RSC might have
specific protocols that facilitate protection and partitioning. These should be documented
and evaluated by the integrator, applicant, and certification authorities.
    e. Data coupling and control coupling analyses. Data coupling and control coupling
and the degree of dependency of data and control interchanges between the RSC and other
integrated software and hardware components must be carefully addressed to ensure that all
potential side effects of data modifications are fully identified and verified. Each side effect
should be analyzed to ensure there is no adverse effect on functionality or performance. For
example, all modifications of RSC data should only occur at defined interfaces where the
data behavior can be fully controlled by the RSC.
                                                                                     Page E-17
AC 20-RSC                                                                                9/24/03
    f. Using qualified tools. If qualified tools are used to develop and/or verify the RSC,
reuse of those tools must be considered during the RSC development and acceptance.
RTCA/DO-178B, Section 12.2 provides additional information on the tool qualification
process and the supporting documentation.
        (1) When qualified tools are used for the development and/or verification of an
RSC, the Tool Qualification Plan and the Tool Accomplishment Summary (or PSAC and
SAS for verification tools) must document any portions of the tool qualification that are to
be completed by the applicant. For example, test procedures and cases might have some
target dependencies and additional verification must be performed by the integrator and/or
applicant.
       NOTE: Some developers have found that packaging the qualification data
       for each tool helps with reuse. For example, each verification tool used
       with an RSC might have its own Tool Qualification Plan, Tool Operational
       Requirements, and Tool Accomplishment Summary.
        (2) The following tool qualification data must be provided to the applicant for all
tools used in obtaining acceptance of the RSC:
           (c) The Tool Accomplishment Summary. For some verification tools the Tool
Accomplishment summary may be included in the RSC SAS.
       (3) All tool data not listed in Section 12.f.(2) of this AC must be available for
review by the applicant and certification authority (and authorized designees), as needed, to
support continued airworthiness.
    g. Deactivated code. Any information about deactivated code and the associated
deactivation mechanisms must be identified by the integrator and/or applicant. Since the
RSC may have many features to satisfy a broad audience, an approach to tailor the RSC to
the specified requirements of an applicant’s application is typically needed. This could
result in sections of deactivated code that must be addressed as part of the overall software
approval process.
    i. Robustness. Since the RSC is developed for use in a variety of applications, it must
be developed to anticipate out-of-range data or unexpected input; i.e., it must be developed
Page E-18
9/24/03                                                                              AC 20-RSC
to be robust. The robustness must be verified through robustness tests during the RSC
development and during the integration of the RSC. Stakeholders must document how they
plan to address robustness aspects of the RSC.
    a. RSCs will likely change at some point in time. When an RSC is changed, the
original reuse status will no longer apply to the changed component (i.e., the acceptance
letter cannot be used for the modified RSC). If the stakeholders desire to change a
previously accepted RSC, the software component must be modified using the guidelines of
this AC (see Sections 13.b through 13.f) and RTCA/DO-178B Section 12.1 and re-accepted
as part of an actual project.
        (1) Traceability analysis identifies areas that could be affected by the software
change. This includes the analysis of affected requirements, design, architecture, code,
testing and analyses, as described below:
           (b) Code analysis identifies the software components and interfaces impacted
by the change.
             (c) Test procedures and cases analysis identifies specific test procedures and
cases that will need to be reexecuted to verify the changes and any potential impacts of the
changes, identifies and develops new or modified test procedures and cases (for added
functionality or previously deficient testing), and assures that there are no adverse effects as
a result of the changes. The absence of adverse effects may be verified by conducting
regression testing at the appropriate hierarchical levels (such as aircraft flight tests, aircraft
ground tests, laboratory system integration tests, simulator tests, bench tests,
hardware/software integration tests, software integration tests, and module tests), as
appropriate for the software level(s) of the changed software.
       (2) Memory margin analysis assures that memory allocation requirements and
acceptable margins are maintained.
                                                                                       Page E-19
AC 20-RSC                                                                                9/24/03
        (3) Timing margin analysis assures that the timing requirements, central
processing unit task scheduling requirements, system resource contention characteristics,
interface timing requirements, and acceptable timing margins are maintained.
      (4) Data flow analysis identifies changes to data flow and coupling between
components and assures that there are no adverse impacts.
      (5) Control flow analysis identifies changes to the control flow and coupling of
components and assures that there are no adverse impacts.
       (6) Input/output analysis assures that the change(s) have not adversely impacted
the input and output (including bus loading, memory access, and hardware input and output
device interfaces) requirements of the product.
        (10) Partitioning/protection analysis assures that the changes do not impact any
protective mechanisms incorporated in the design.
       NOTE: The above list is not all-inclusive and depends on the product for
       which the modification is being made.
    c. The change impact analysis should determine whether the change to the RSC could
adversely affect safe operation of the system or product. The following are examples of
areas that could have an adverse impact on installation, safety, operations, functionality, or
performance:
(a) Previous hazards, identified by the system safety assessment, are changed.
            (b) Failure condition categories, identified by the system safety assessment, are
changed.
           (c) Software levels are changed, particularly if the new software level is higher
than the previous level.
Page E-20
9/24/03                                                                             AC 20-RSC
       (3) New functions or features are added to the existing system functions that
could adversely impact flight safety or operations.
            (b) Changes to code (source, object, and executable object) components that
perform a safety-related function or changes to a component providing input to a
component, which performs a safety-related function. (For this AC, a safety-related
function is one that could potentially induce or allow a major, hazardous, or catastrophic
failure condition to go undetected).
                                                                                     Page E-21
AC 20-RSC                                                                                9/24/03
           (g) Data and control coupling characteristics are adversely impacted (for
example, to the extent that more than 50 percent of the coverage analysis must be redone).
d. Additionally, the following items should be identified in the change impact analysis:
        (1) Updates needed to ensure that the software change(s) is incorporated in the
appropriate software life cycle data, including requirements, design, architecture, source and
object code, and traceability.
       (2) Verification activities needed to verify the changes and that there are no
adverse effects on the system. The change impact analysis should cover how changes that
could adversely affect safe operation of the system or aircraft will be verified, so the
changed and unchanged software will continue to satisfy their requirements for safe
operation. These verification activities may include reviews, analyses, regression testing,
requirements-based testing, flight testing, and so on, including reevaluation of existing
analyses, reexecution of existing tests, and new test procedures and cases (for added
functionality or previously deficient testing).
   e. When the applicant or integrator makes changes to the RSC without the RSC
developer’s assistance, that integrator or applicant becomes responsible for satisfying the
applicable RTCA/DO-178B objectives for the RSC and all other components of the system.
Page E-22
9/24/03                                                                             AC 20-RSC
        (1) Known applications and projects that will use the RSC (including the first
applicant). Not all future users may be known when the Reuse Plan is written; therefore, the
plan should document plans, procedures, and policies for working with the future users and
certification authorities.
       (3) A proposed reuse approach, based on this AC’s guidance and the specific project
needs. The Reuse Plan should thoroughly address this AC. The reuse approach should also
propose a way to efficiently utilize FAA and designee resources. For example, shared
reviews and review reports may be proposed to optimize resources of FAA and applicants.
       (4) A list of all data items (with specific configuration identification) being
developed for each user.
       (5) A summary of which data items will be the same for all integrators and/or
applicants and which data items are user-specific.
        (6) An explanation of data items that differ among users (these may not be suitable
for reuse).
         (7) A list of affected applicants and certification offices. (Note: In some cases the
list of applicants may be proprietary data that can only be shared with the certification
authority. Therefore, the list of affected applicants may be documented in a separate
document to share with certification authorities only.)
      (8) A description of how users will be enabled to use the product correctly (for
example, a user’s guide or interface document).
        (9) A description of how the users will be kept up-to-date during the development
and deployment of the product. For example, describe how the integrators and/or applicants
will be informed of problems found with the RSC, potential safety issues, and other relevant
reporting processes.
       (11) A description of how potential changes to the RSC will be addressed, as they
are required.
    b. The Reuse Plan must be coordinated by the RSC developer with all appropriate
certification authorities, applicants, and integrators. All stakeholders must agree on the
                                                                                     Page E-23
AC 20-RSC                                                                            9/24/03
approach for concurrently using the RSC. Typically, the FAA office that will likely have
first approval of a project using the RSC will serve as the focal for the Reuse Plan.
David W. Hempe
Manager, Aircraft Engineering Division
Aircraft Certification Service
Page E-24
9/24/03                                                                           AC 20-RSC
For purposes of this AC, the RTCA/DO-178B Annex B definitions and the following definitions
apply:
        (1) Full credit – fully meets the RTCA/DO-178B objective and requires no further
activity by the applicant and/or integrator.
       (2) Partial credit – partially meets the RTCA/DO-178B objective and requires
additional activity by the user to complete compliance.
        (3) No credit – does not meet the RTCA/DO-178B objective and must be completed by
the user for compliance.
   f. Documentation configuration is the numbering and revision status used to identify the
configuration of documents used in the development process.
    i. In-service experience is experience gained while the RSC is used in a certificated aircraft
or engine.
                                                                                    Page E-A1-1
AC 20-RSC                                                                                 9/24/03
    k. Installation procedures are procedures used to install the reusable software component.
These might be documented in the porting description data, interface description data, or similar
data.
    m. Interface description data identifies the interface details of the reusable software
component. It is provided by the RSC developer to the integrator and/or applicant. The
interface description data should explicitly define what activities are required by the integrator
and/or applicant to ensure that the RSC will function in accordance with its approval basis.
    o. Porting description data is data that contains assumptions and limitations on the reuse
of the component that must be followed by the user, installer, and/or integrator to ensure correct
functioning of the component in a new environment.
   s. Settable parameters are software component data that are set before execution of the
component.
    t. Software characteristics include the Executable Object Code size, timing and memory
margins, resource limitations, and the means of measuring each characteristic (reference Section
11.20(d) of RTCA/DO-178B).
    v. Software life cycle data is data produced during the software life cycle to plan, direct,
explain, define, record, or provide evidence of successful completion of activities (see
RTCA/DO-178B, Section 11.0). Sections 11.1 through 11.20 of RTCA/DO-178B describe
different kinds of software life cycle data.
Page E-A1-2
9/24/03                                                                        AC 20-RSC
   w. Stakeholders are all the persons and groups involved in the development, integration,
and acceptance of the RSC. Stakeholders in this AC are the RSC developer, integrator,
applicant, and certification authority. One or more manufacturers may assume the roles of the
RSC developer, integrator, and applicant.
     x. Subsequent use of RSC is the follow-on use of an accepted RSC. That is, it is not the
first use of the RSC.
y. Target computer is the physical processor that will execute the program while airborne.
    z. Target computer environment is the target computer and all its support hardware and
systems needed to function in its actual airborne environment.
    cc. Variables are named memory locations that contain data that will change during
software execution.
                                                                                   Page E-A1-3
AC 20-RSC                                                        9/24/03
APPENDIX 2 - ACRONYMS
  AC             Advisory Circular
  AD             Airworthiness Directive
  ARP            Aerospace Recommended Practice
  ASTC           Amended Supplemental Type Certificate
  ATC            Amended Type Certificate
  CFR            Code of Federal Regulations
  CMR            Certification Maintenance Requirement
  CSTA           Chief Scientific and Technical Advisor
  DER            Designated Engineering Representative
  FAA            Federal Aviation Administration
  PSAC           Plan For Software Aspects Of Certification
  RSC            Reusable Software Component
  SAS            Software Accomplishment Summary
  SCI            Software Configuration Index
  SCM            Software Configuration Management
  SCMP           Software Configuration Management Plan
  SDP            Software Development Plan
  SQA            Software Quality Assurance
  SQAP           Software Quality Assurance Plan
  STC            Supplemental Type Certificate
  SVP            Software Verification Plan
  TC             Type Certificate
  TSO            Technical Standard Order
                                                              Page E-A2-1
AC 20-RSC                                                                               9/24/03
  DO-         Objective Description         Credit          Assumption          Means of Compliance for      Activities Remaining For
178B Obj                                    Sought                                  the Objective              Integrator/Applicant
    #
   1-1   Software development and
         integral processes activities      Note 1             Note 2                    Note 3                      Note 4
         are defined.
   1-2   Transition criteria, inter-
         relationships and sequencing       Note 1             Note 2                    Note 3                      Note 4
         among processes are defined.
   1-3   Software life cycle                Note 1             Note 2                    Note 3                      Note 4
         environment is defined.
   1-4   Additional considerations are      Note 1             Note 2                    Note 3                      Note 4
         addressed.
   1-5   Software development               Note 1             Note 2                    Note 3                      Note 4
         standards are defined.
  ETC.
NOTE 1: Include if FULL, PARTIAL, or NO credit is being sought for the RSC. See Section 6.c(1) of this AC.
NOTE 2: List all assumptions made for the credit claim. See Section 6.c(2) of this AC.
NOTE 3: List data that documents the compliance to this objective. See Section 6.c(3) of this AC.
NOTE 4: List the activities remaining for the integrator and/or applicant to complete the objective. This should be in enough detail
that the integrator and/or applicant and the certification authority can clearly understand what remains for the overall acceptance of the
system using the RSC. See Section 6.c(4) of this AC.
                                                                                                                           Page E-A3-1
 EXAMPLE CONSIDERATIONS FOR
  EACH DO-178B OBJECTIVE FOR
REUSABLE SOFTWARE COMPONENTS
           Appendix F
EXAMPLE REUSE CONSIDERATIONS FOR EACH DO-178B OBJECTIVE
This paper summarizes the DO-178B objectives and some potential reuse issues/considerations
specific to each objective. The considerations differ for the reusable software component
developer, the integrator/applicant, and the certification authority. These issues/considerations
are only examples and will need to be addressed on a program-by-program basis. Each program
will have its own unique issues/considerations.
Note 1: In the tables below, the acronym RSC is used to abbreviate reusable software
component. RSCD stands for RSC developer.
Note 2: For the certification liaison objectives (10-1, 10-2, and 10-3), the considerations vary
depending if the RSC is a first-time approval or a follow-on approval.
                                                F-1
EXAMPLE REUSE CONSIDERATIONS FOR EACH DO-178B OBJECTIVE
Obj #   Objective Description               Example Considerations for                Example Considerations for                    Example Considerations for regulators
                                            reusable component developers             Integrators/Applicants
1-1     Software development and            •   Create PSAC and other planning        •     Integrate references to RSC plans,      •   Review the RSC PSAC and plans with the
        integral processes activities are       documents for reusable software             SCI, SAS, data sheet, interface data,       system-level PSAC and plans for
        defined. 4.1 a, 4.3                     components (RSCs) to conform to             and other data.into system-level            consistency, conformance to DO-178B, and
                                                AC 20-RSC requirements.                     plans.                                      conformance with the guidelines of AC 20-
                                            •   Document assumptions, credit,         •     Coordinate reusable requirements            RSC.
                                                compliances, and remaining                  specified in RSC PSAC into system-      •   Provide early agreement on the proposals for
                                                activities for each objective.              level plans.                                reuse specified in RSC developer and
                                                                                      •     Address how objectives not met or           integrator/applicant PSACs.
                                                                                            partially met by the RSC will be        •   Ensure conformance to the provisions of AC
                                                                                            completed.                                  20-RSC for all planning documents including
                                                                                                                                        PSACs.
                                                                                                                                    •   Ensure that all technical issues not addressed
                                                                                                                                        by guidance are coordinated with directorate,
                                                                                                                                        headquarters, technical specialists and the
                                                                                                                                        CSTA.
1-2     Transition criteria, inter-         •   Since some of the objectives may      •     Integrate transition criteria for the   •   Review the integrator/applicants planning
        relationships and sequencing            not be complete for RSC,                    acceptance of the components and            documents in conjunction with the RSC
        among processes are defined.            interface/integration data and the          SW life cycle data from the RSC             developer’s interface/integration data to
        4.1b, 4.3                               data sheet should specify the               developer into the planning                 ensure consistency of the transition criteria
                                                transition criteria between the RSC         documents for integrator/applicant.
                                                developer and the user.
                                            •
1-3     Software life cycle environment     •   RSC developer ensures that any        •     Include any changes to the RSC          •   Ensure that the integrator/applicant correctly
        is defined. 4.1c                        life cycle environment needed to            developers life cycle environment           integrated the needed components in their
                                                complete the objectives or to               definition needed to integrate the          life cycle environment from the requirements
                                                interface to the RSC is defined in          RSC into the final product.                 of the RSC.
                                                the interface/integration data.
1-4     Additional considerations are       •   Any additional activities required    •     Ensure that any requirements for        •   Review the RSC’s SAS, data sheet, and
        addressed. 4.1d                         to complete satisfaction of                 additional considerations in the            interface/integration data and the
                                                requirements for the RSC for                SAS, data sheet, and/or                     integrator/applicant’s PSAC to ensure that all
                                                additional considerations should be         interface/integration data are              additional considerations are acceptable
                                                included as part of the SAS, data           integrated into the planning                within the framework of existing guidance or
                                                sheet, and interface/integration            documents to include the PSAC.              agreements.
                                                data.
                                                                                      F-2
EXAMPLE REUSE CONSIDERATIONS FOR EACH DO-178B OBJECTIVE
1-5   Software development              •   Any SW standards (e.g. calling,       •     Incorporate any required standards     •   Ensure that any requirements for standards
      standards are defined. 4.1e           naming conventions etc) that must           from the RSC developer’s                   adherence in the RSC developer’s SAS, data
                                            be followed by the                          interface/integration data into            sheet, and/or interface/integration data are
                                            applicant/integrator to ensure that         existing standards structures.             incorporated in the planning documents of
                                            the objectives of DO-178 that have                                                     the integrator/applicant.
                                            been satisfied are not compromised
                                            should be included in the
                                            interface/integration data.
1-6   Software plans comply with        •   No unique requirements                •     No unique requirements                 •   Ensure that the planning documents of both
      this document. 4.1f, 4.6                                                                                                     the RSC developer and the
                                                                                                                                   applicant/integrator meet this objective.
1-7   Software plans are coordinated.   •   No unique requirements                •     The integrator/applicant is            •   Examine the integrator/applicant plans with
      4.1g, 4.6                                                                         responsible for ensuring that any          the interface data, data sheet, and SAS
                                                                                        coordination between the RSC               requirements and ensure that all requirements
                                                                                        developer and themselves are               have been addressed.
                                                                                        coordinated.
2-1   High-level requirements are       •   RSC developer should propose          •     The integrator/applicant should        •   Make sure that the RSC developer, applicant,
      developed. 5.1.1a                     their high level requirements.              define the high level requirements         and integrator address the high-level
                                            These may not map to the                    for the overall system. Some type of       requirements mapping, as addressed in the
                                            integrator/applicant’s high level           reference or mapping should be             previous two columns.
                                            requirements.                               proposed to the component high-
                                                                                        level requirements.
                                                                                  •     If not all of the RSC developer’s
                                                                                        high-level requirements are used,
                                                                                        they should be addressed. One
                                                                                        approach would be to consider them
                                                                                        as deactivated code.
2-2   Derived high-level                •   No unique requirements                •     Identify any RSC requirements that     •   Since the RSC developer cannot know which
      requirements are defined.                                                         do not map to the system-level             of their requirements are derived
      5.1.1b                                                                            requirements.                              requirements, careful evaluation of the
                                                                                  •     Ensure that derived requirements of        integrators/applicants categorization of the
                                                                                        RSC are passed to the system safety        RSC requirements will be required to ensure
                                                                                        assessment process.                        that all derived requirements have been
                                                                                                                                   addressed
2-3   Software architecture is          •   Fully define the RSC’s                •     Ensure that the RSC developer’s        •   Ensure that the integrator/applicant has
      developed. 5.2.1a                     architectural requirements for the          architecture is compatible with the        evaluated the architecture for compatibility
                                            using system (e.g. timing,                  system-level architecture                  with the RSC architecture.
                                            protection/partitioning, memory,
                                            interrupts etc.).
2-4   Low-level requirements are        •   No unique requirements                •     The integrator/applicant should map    •   Ensure that requirements are developed.
      developed. 5.2.1a                                                                 the low level requirements to their
                                                                                        high and low level requirements to
                                                                                  F-3
EXAMPLE REUSE CONSIDERATIONS FOR EACH DO-178B OBJECTIVE
3-2   High-level requirements are       •   Clearly define in their verification    •     Expect the accuracy of requirements     •   Expect compliance data to come from both
      accurate and consistent. 6.3.1b       plan what parts of this objective             to be based in part on the system           the RSC developer and the
                                            have been met by their verification           requirements.                               integrator/applicant.
                                            process.
                                                                                    •     Responsible to complete compliance
                                        •   Expect Unambiguous, Sufficiently              with this objective.
                                            detailed, and ‘Not conflict with
                                            each other’ to be met by RSC            •     If some or all of RSC developer’s
                                            developer.                                    high-level requirements are
                                                                                          integrators/applicants low-level
                                                                                          requirements then RSC developer’s
                                                                                          data may be used for objective 4-2.
3-3   High-level requirements are       •   Could provide data that will be         •     Responsible for compliance with         •   If compliance is based on both RSC
      compatible with target                used by the integrator/applicant to           this objective                              developer’s and integrator/applicant’s data
      computer. 6.3.1c                      show compliance.                                                                          then system architecture and target processor
                                                                                    •     If some or all of RSC developer’s           need to be considered in evaluating RSC
                                        •   If reuse from a previously certified          high-level requirements are                 developer’s data.
                                            system and the systems are                    integrators/applicants low-level
                                                                                    F-4
EXAMPLE REUSE CONSIDERATIONS FOR EACH DO-178B OBJECTIVE
3-4   High-level requirements are       •   Target processor and system            •     If some or all of RSC developer’s      •   If this is a simple set of questions that rely on
      verifiable. 6.3.1d                    architecture play a role in meeting          high-level requirements are                Engineering judgement and the RSC
                                            this objective.                              integrators/applicants low-level           developer did the judging, then must
                                                                                         requirements then RSC developer’s          establish that the architecture of the system
                                                                                         data may be used for objective 4-4.        the RSC developer used is sufficiently close
                                                                                                                                    to the real system architecture to yield the
                                                                                                                                    correct answer.
3-5   High-level requirements           •   Must conform to the standards          •     Can use RSC developer’s standards      •   Can see two standards for high-level
      conform to standards. 6.3.1e          established in their plans                   for any high-level requirements that       requirements.
                                                                                         match the RSC developer’s high-
                                                                                         level requirements.
                                                                                   •     Must conform to standards
                                                                                         established in their plans for high-
                                                                                         level requirements they develop.
                                                                                   •     If some or all of RSC developer’s
                                                                                         high-level requirements are
                                                                                         integrators/applicants low-level
                                                                                         requirements then RSC developer’s
                                                                                         data may be used for objective 4-5.
3-6   High-level requirements are       •   Same as 3-1                            •     Same as 3-1                            •   Same as 3-1
      traceable to system
      requirements. 6.3.1f
3-7   Algorithms are accurate. 6.3.1g   •   Possible to define the accuracy and    •     Must ensure the RSC developer’s        •   Expect integrator/applicant to justify use of
                                            behavior aspects of an algorithm             defined accuracy and behavior              RSC developer’s data.
                                            and find compliance to those                 match the actual required accuracy
                                            definitions.                                 and behavior.
                                                                                   •     If some or all of RSC developer’s
                                                                                         high-level requirements are
                                                                                         integrators/applicants low-level
                                                                                         requirements then RSC developer’s
                                                                                         data may be used for objective 4-7.
4-1   Low-level requirements comply     •   Responsible for their low-level        •     Responsible for their low-level        •   Possible to see requirements implemented
      with high-level requirements.         requirements complying to their              requirements complying to their            that are extraneous to the system. Should be
                                                                                   F-5
EXAMPLE REUSE CONSIDERATIONS FOR EACH DO-178B OBJECTIVE
4-2   Low-level requirements are        •   Responsible for their low-level       •     Responsible for their own low-level     •   Determine that integrator/applicant was able
      accurate and consistent. 6.3.2b       requirements                                requirements                                to ensure no conflict exists between any of
                                                                                                                                    the low-level requirements regardless of the
                                                                                  •     Must ensure that RSC developer’s            origin of the requirement.
                                                                                        low-level requirements do not
                                                                                        conflict with their low-level
                                                                                        requirements.
4-3   Low-level requirements are        •   May supply data for conformance       •     Must comply with this objective for     •   If RSC developer data is used, then need to
      compatible with target                                                            all low-level requirements in the           determine that the context of RSC
      computer. 6.3.2c                  •   If software must run on a specific          system.                                     developer’s work is appropriate for the
                                            target computer then can do this                                                        system
                                                                                  •     May use data from RSC developer,
                                                                                        if can demonstrate that it is
                                                                                        pertinent.
4-4   Low-level requirements are        •   Responsible for their low-level       •     Responsible for their low-level         •   Ensure the objective is met
      verifiable. 6.3.2d                    requirements                                requirements
4-5   Low-level requirements            •   Responsible for their low-level       •     Responsible for their low-level         •   Will probably see two requirement’s
      conform to standards. 6.3.2e          requirements conforming to their            requirements                                standards
                                            standards
4-6   Low-level requirements are        •   Responsible for their low-level       •     Traceability must be done within the    •   Expected to see deactivated functionality.
      traceable to high-level               requirements tracing to their high-         context of the system
      requirements. 6.3.2f                  level requirements
                                                                                  •     Any requirements from RSC
                                                                                        developer not traced to higher levels
                                                                                        of the system must be treated as
                                                                                        deactivated
4-7   Algorithms are accurate. 6.3.2g   •   Responsible for the algorithms in     •     Responsible for the algorithms in       •   Ensure the objective is met
                                            their low-level requirements                their low-level requirements
4-8   Software architecture is          •   Supply architectural description of   •     Will have to do the work to meet        •   Ensure the objective is met
      compatible with high-level            their software to integrator                this objective
      requirements. 6.3.3a
4-9   Software architecture is          •   Can do this for their part of the     •     Must do this for their architecture     •   Ensure the objective is met
      consistent. 6.3.3b                    architecture
                                                                                  •     Must ensure that RSC developer’s
                                                                                        work is appropriate and that RSC
                                                                                        developer’s architecture is
                                                                                  F-6
EXAMPLE REUSE CONSIDERATIONS FOR EACH DO-178B OBJECTIVE
4-10   Software architecture is           •   May supply data for conformance      •     Will have to do the work to meet         •   If RSC developer data is used, then need to
       compatible with target                                                            this objective                               determine that the context of RSC
       computer. 6.3.3c                   •   If software must run on a specific                                                      developer’s work is appropriate for the
                                              target computer then can do this     •     May use data from RSC developer,             system.
                                                                                         if can show appropriate
4-11   Software architecture is           •   Can do this for their part of the    •     Responsible for this system-wide         •   Ensure the objective is met
       verifiable. 6.3.3d                     architecture
4-12   Software architecture conforms     •   Can do this for their part of the    •     Responsible for their part of the        •   Expect two standards for architecture
       to standards. 6.3.3e                   architecture                               architecture                                 definition
4-13   Software partitioning integrity    •   Many require a partitioning          •     In many cases compliance with this       •   Review the partitioning analysis
       is confirmed. 6.3.3f                   analysis for a partitioned RSC.            objective will be entirely the
                                                                                         responsibility of the
                                          •   Should document assumptions                integrator/applicant.
                                              regarding partition (e.g., number
                                              and size of partitions).             •     If the RSC implements some
                                                                                         partitioning, the integrator/applicant
                                                                                         will verify the partitioning integrity
                                                                                         of the integrated RSC.
5-1    Source Code complies with          •   Responsible for their part           •     Responsible for their part               •   Ensure the objective is met
       low-level requirements. 6.3.4a
5-2    Source Code complies with          •   Responsible for their part           •     Responsible for their part               •   Ensure the objective is met
       software architecture. 6.3.4b
                                                                                   •     Must do this work for the interfaces
                                                                                         between the RSC developer’s code
                                                                                         and the integrator/applicant’s code
5-3    Source Code is verifiable.         •   Responsible for their part           •     Responsible for their part               •   Ensure the objective is met
       6.3.4c
5-4    Source Code conforms to            •   Responsible for their part           •     Responsible for their part               •   may see two coding standards – on for the
       standards. 6.3.4d                                                                                                              RSC and one for the application using the
                                                                                                                                      RSC.
5-5    Source Code is traceable to        •   Responsible for their part           •     Responsible for their part               •   Ensure the objective is met
       low-level requirements. 6.3.4e
5-6    Source Code is accurate and        •   Responsible for their part           •     Responsible for their part               •   Ensure the objective is met
       consistent. 6.3.4f
5-7    Output of software integration                                              •     Most likely that compliance with         •   Ensure the objective is met
       process is complete and correct.                                                  this objective will be entirely the
       6.3.5                                                                             responsibility of the
                                                                                         integrator/applicant
                                                                                   F-7
EXAMPLE REUSE CONSIDERATIONS FOR EACH DO-178B OBJECTIVE
6-1   Executable Object Code                                                      •     Most likely that compliance with         •   Ensure the objective is met
      complies with high-level                                                          this objective will be entirely the
      requirements. 6.4.2.1, 6.4.3                                                      responsibility of the
                                                                                        integrator/applicant
6-2   Executable Object Code is                                                   •     Most likely that compliance with         •   Ensure the objective is met
      robust with high-level                                                            this objective will be entirely the
      requirements. 6.4.2.2, 6.4.3                                                      responsibility of the
                                                                                        integrator/applicant
6-3   Executable Object Code            •   Responsible for their part            •     Responsible for their part               •   Ensure the objective is met
      complies with low-level
      requirements. 6.4.2.1, 6.4.3
6-4   Executable Object Code is         •   Responsible for their part            •     Responsible for their part               •   Ensure the objective is met
      robust with low-level
      requirements. 6.4.2.2, 6.4.3
6-5   Executable Object Code is         •   Provide sufficient information,       •     Provide procedures to evaluate           •   Typically no credit could be granted to the
      compatible with target                procedures, and computations to             target-specific issues related to the        software RSC developer for this objective,
      computer. 6.4.3a                      allow the integrator/applicant to           reusable components..                        since it is target specific.
                                            establish timing and memory           •     Provide procedures to integrate
                                            margins in the integrated system.           timing and memory data from
                                                                                        reusable components into system
                                                                                        level timing and memory.
7-1   Test procedures are correct.      •   Responsible for any tests they        •     Responsible for their tests, including   •   Ensure the objective is met
      6.3.6b                                perform that will be used by                tests to integrate the RSC
                                            integrator/applicant for compliance
7-2   Test results are correct and      •   Responsible for any tests they        •     Responsible for their tests              •   There will be configuration control issues
      discrepancies explained. 6.3.6c       perform that will be used by                                                             with respect to the executable code tested and
      Specific to executable object         integrator/applicant for compliance   •     RSC developer’s testing must have            the executable code that will be airborne
      code.                                                                             been done against an executable that
                                                                                        will be in the actual airborne
                                                                                        executable. Care must be taken that
                                                                                        the tools used by the RSC developer
                                                                                        to create executable code from
                                                                                        source produced the executable that
                                                                                        will be airborne.
                                                                                  F-8
EXAMPLE REUSE CONSIDERATIONS FOR EACH DO-178B OBJECTIVE
7-3   Test coverage of high-level        •   Can do this to the high-level            •     Most likely that compliance with        •   Ensure the objective is met
      requirements is achieved.              requirements they defined. May be              this objective will be entirely the
      6.4.4.1                                used by integrator/applicant is                responsibility of the
                                             those requirements are his high-               integrator/applicant
                                             level requirements.
7-4   Test coverage of low-level         •   Responsible for their low-level          •     Responsible for their tests             •   Ensure the objective is met
      requirements is achieved.              requirements testing
      6.4.4.1
7-5   Test coverage of software          •   May be able to receive credit on         •     Evaluate the RSCD’s MC/DC               •   Ensure the objective is met
      structure (modified                    the source code aspects of MC/DC               approach for the specific
      condition/decision) is achieved.       but will not be able to get credit for         application.
      6.4.4.2                                the traceability from object code to     •     Carry out the source-to-object code
                                             source code.                                   traceability for the specific target.
                                         •   If target processor and compiler are           Must justify using any RSC
                                             same as applicant’s then object                developer’s data
                                             code to source code traceability         •     See Objective 7-2 for additional
                                             may have meaning                               integrator/applicant considerations
7-6   Test coverage of software          •   Can receive credit for any decision      •     See Objective 7-2 for additional        •   Ensure the objective is met
      structure (decision coverage) is        coverage achieved through their               integrator/applicant considerations
      achieved. 6.4.4.2a, 6.4.4.2b            requirements based testing
7-7   Test coverage of software          •   Can receive credit for any               •     See Objective 7-2 for additional        •   Ensure the objective is met
      structure (statement coverage)         statement coverage achieved                    integrator/applicant considerations
      is achieved. 6.4.4.2a, 6.4.4.2b        through their requirements based
                                             testing
7-8   Test coverage of software          •   Can receive credit for any software      •     Expect integrator/applicant to show     •   Be aware that deactivated code may be more
      structure (data coupling and           structure (data coupling and control           coverage of all data and control            likely in reuse situations
      control coupling) is achieved.         coupling) coverage achieved.                   coupling as related to the interfaces
      6.4.4.2c                                                                              to the RSC developer’s sofware.         •   Ensure that the data coupling and control
                                                                                                                                        coupling analyses for the interface with the
                                                                                      •     See Objective 7-2 for additional            RSC is addressed
                                                                                            integrator/applicant considerations
8-1   Configuration items are            •   No unique requirements.                  •     Ensure that all of the RSC              •   Ensure that the integrator/applicant has
      identified. 7.2.1                                                                     configuration items are incorporated        referenced the proper RSC configuration
                                                                                            in the configuration identification         identification and correct revisions.
                                                                                            scheme for the final product.
8-2   Baselines and traceability are     •   Ensure that specific baselines and       •     Incorporate the baseline and            •   Establish that the RSC baseline has a fully
      established. 7.2.2                     releases are identified for the                releases into the product                   defined approval basis to include open
                                             integrator/applicant. Care should              configuration.                              objectives, problem reports, data sheet, and
                                             be exercised to ensure that a                                                              interface/integration data. Ensure that all
                                                                                      F-9
EXAMPLE REUSE CONSIDERATIONS FOR EACH DO-178B OBJECTIVE
                                            traceable baseline is established for                                                     items are consistent for a given reusable
                                            reusability.                                                                              baseline.
8-3   Problem reporting, change         •   Provide an interface to enable the       •     Develop procedure to accommodate       •   Evaluate the traceability of system and
      control,                              tracking of problem reports                    problems on the reusable                   integrator/applicant problem reports through
      change review, and                    encountered by the                             components.                                to the RSC developer. Track a problem
      configuration status accounting       integrator/applicant.                    •     Evaluate open problem reports and          report through both systems.
      are established. 7.2.3, 7.2.4,                                                       in-service problems of the RSC to      •   Ensure that all open problem reports are
      7.2.5, 7.2.6                                                                         ensure that no safety issues are           evaluated for their potential impact on safety.
                                                                                           present in the installation.
8-4   Archive, retrieval, and release   •   Establish independently controlled       •     Archive the required portions of the   •   Ensure that the archive, retrieval, and release
      are established. 7.2.7                archive and retrieval procedures to            RSC data per DO-178B and AC 20-            procedures are consistent with the level of
                                            achieve maximum reusability                    RSC                                        reuse being provided to the RSC developer.
                                            credit.
8-5   Software load control is          •   No unique requirements.                  •     No unique requirements                 •   No unique requirements
      established. 7.2.8
8-6   Software life cycle environment   •   No unique requirements                   •     Provide for any additional controls    •   Evaluate the integrator/applicant’s evaluation
      control is established. 7.2.9                                                        needed as a result of actions and          of the integration of any RSC tools and
                                                                                           tools required from the RSC.               procedures.
9-1   Assurance is obtained that        •   No unique requirements                   •     No unique requirements                 •   Objective compliance will have to be shown
      software development and                                                                                                        at both sites.
      integral processes comply with
      approved software plans and
      standards. 8.1a
9-2   Assurance is obtained that        •   No unique requirements.                  •     No unique requirements. The            •   Objective compliance will have to be shown
      transition criteria for the                                                          transition criteria should already         at both sites.
      software life cycle processes                                                        have implemented for the RSC
      are satisfied. 8.1b                                                                  elements.
9-3   Software conformity review is     •   The software conformity review           •     Credit can be taken for the partial    •   Objective compliance will have to be shown
      conducted. 8.1c, 8.3                  will have to accommodate the                   software conformity review done by         at both sites. The software conformity
                                            incompleteness of the data.                    the RSC developer.                         reviews will have to be evaluated for
                                            However, this should be readily                                                           completeness to ensure that nothing was
                                            specified as part of the SAS and/or                                                       missed in the overlap between the RSC
                                            data sheet.                                                                               developer and the integrator/applicant.
                                                                                    F-10
EXAMPLE REUSE CONSIDERATIONS FOR EACH DO-178B OBJECTIVE
10-1    Communication and                   •   Jointly coordinate with the FAA         •     Facilitate coordination of FAA and      •   Provide timely response to RSC plans.
FIRST   understanding between the               and applicant/integrator.                     RSCD, as appropriate.                   •   Involve appropriate FAA specialists.
TIME    applicant and the certification     •   Consider future applications of the     •     Assure that the software level of the   •   Inform designees of expectations.
        authority is established. 9.0           RSC when assigning a software                 RSC is compatible with the system       •   Assess overall compliance of the DO-178B
                                                level.                                        safety analysis for the specific        •   Assure the assumptions are valid and there
                                                                                              application.                                have been no changes to data.
                                                                                                                                      •   Assure validity of the SSA.
 10-1   Communication and                   •   Jointly coordinate with the FAA         •     Facilitate coordination of FAA and      •   Provide timely response to RSC plans.
FOLLO   understanding between the               and applicant/integrator.                     RSCD, as appropriate.                   •   Involve appropriate FAA specialists.
W ON    applicant and the certification     •   Consider future applications of the     •     Assure that the software level of the   •   Inform designees of expectations.
TIMES   authority is established. 9.0           RSC when assigning a software                 RSC is compatible with the system       •   Assess overall compliance of the DO-178B
                                                level.                                        safety analysis for the specific        •   Assure the assumptions are valid and there
                                                                                              application.                                have been no changes to data.
                                                                                                                                      •   Assure validity of the SSA.
10-2    The means of compliance is          •   Any changes unique to the RSC           •     The PSAC should address the issue       •   Structure the approval of the PSACs with
First   proposed and agreement with             should be incorporated in the RSC             of previously developed software            two separate letters. One for the RSC
Time    the Plan for Software Aspects           PSAC. The RSC PSAC should                     and the overall approach for                developer and one for the integrator
        of Certification is obtained. 9.1       address any additional                        certification.                              applicant. The integrator applicant will get
                                                considerations unique to the RSC        •     PSAC should express the intent to           both letters.
                                                such as the interface/integration             follow AC 20-RSC
                                                data and data sheet, any
                                                assumptions required to ensure
                                                portability of objectives between
                                                different instances of reuse, and
                                                overall approach for reuse.
                                            •   PSAC should express the intent to
                                                follow AC 20-RSC
10-2    The means of compliance is          •   For a given change, the RSC will        •     If the change is previously approved    •   The FAA should not consider change
FOLL    proposed and agreement with             have to provide any changes to the            the integrator/applicant is still           proposals directly from the RSC developer
OW      the Plan for Software Aspects           PSAC to any integrator applicant              required to submit a PSAC or other          without an associated STC, TC, TSO change
ON      of Certification is obtained. 9.1       for which the change is intended.             documentation specifying the                request (either major or minor). The impact
TIME                                            However the approval is required              change and its associated impact. If        of the change should be reviewed on each
S                                               from only one applicant.                      the RSC DO-178B objectives have             system incorporating the change even though
                                            •   PSAC should express the intent to             been approved for the changes the           the DO-178B objectives of the RSC have
                                                follow AC 20-RSC                              associated approval documentation           been approved.
                                            •   It is recommended that the RSC                should be referenced.
                                                PSAC be updated to address              •     PSAC should express the intent to
                                                deviations, since it will be reused.          follow AC 20-RSC
10-3    Compliance substantiation is        •   The compliance substantiation is        •     The accomplishment summary for          •   Ensure that the RSC developer documents
First   provided. 9.2                           provided in accordance with the               the integrator/applicant will need to       credit for each DO-178B objective and
                                                assumptions specified in the RSC              identify the accomplishment                 remaining activities in the SAS.
Time
                                                PSAC. The accomplishment                      summary and other life cycle data       •   Ensure that the applicant/integrator shows
                                                summary should provide all the                from the RSC developers. Any                how they complete objectives where partial
                                                                                       F-11
EXAMPLE REUSE CONSIDERATIONS FOR EACH DO-178B OBJECTIVE
                                             assumptions needed to ensure that             objectives remaining from the RSC           or no credit were claimed by the RSC
                                             the objectives are transferable to a          should be identified and the                developer.
                                             new use/application without further           associated integrator/applicant data    •   Ensure that all DO-178B objectives are met
                                             reevaluation.                                 supporting their satisfaction should        for the application.
                                        •                                                  be specified. DO-178B section 11.f,     •   Ensure that the integrator/applicant followed
                                                                                           h, and k will require special               the RSC developer data, assumptions, and
                                                                                           treatment for reusability. Reference        limitations. If additional limitations were
                                                                                           to the interface/integration data and       found, those should be addressed.
                                                                                           data sheet will be required
10-3     Compliance substantiation is   For a given change, the RSC will have        If the change is previously approved the      The FAA should not consider approving the
Follow   provided. 9.2                  to provide any changes to the                integrator/applicant is still required to     changes directly from the RSC developer without
ON                                      Accomplishment Summary and                   submit an Accomplishment Summary              an associated STC, TC, TSO change approval
                                        Software Configuration Index to any          and Software Configuration Index and          request (either major or minor). The impact of
                                        integrator applicant for which the           the change’s associated impact. If the        the change should be reviewed on each system
                                        change is intended. Any data needed to       RSC DO-178B objectives have been              incorporating the change even though the DO-
                                        subtantiate an approval will also have to    approved for the changes the associated       178B objectives of the RSC have been approved
                                        be provided. However the approval is         approval documentation should be              as part of another project.
                                        required from only one applicant.            referenced as appropriate.
                                                                                    F-12
   SAMPLE DATA SHEET FOR A
RESUABLE SOFTWARE COMPONENT
          Appendix G
Safety Critical
Products
GHS “Customer”
Operating System
Certification Data
Sheet
Table of Contents
1      Introduction................................................................................................................. 3
    1.1      Purpose................................................................................................................ 3
    1.2      Scope................................................................................................................... 3
    1.3      Abbreviations...................................................................................................... 3
    1.4      Referenced Documents ....................................................................................... 4
       1.4.1      Internal Documentation .............................................................................. 4
       1.4.2      External Documentation ............................................................................. 4
2      Environment Description ............................................................................................ 5
3      Timing Performance ................................................................................................... 6
    3.1      Method ................................................................................................................ 6
       3.1.1      API Execution Times.................................................................................. 6
       3.1.2      Partition Switch Execution Time ................................................................ 8
4      Memory Usage............................................................................................................ 9
    4.1      Methods............................................................................................................... 9
    4.2      Memory Usage Results ....................................................................................... 9
       4.2.1      C Library Memory Usage ........................................................................... 9
       4.2.2      INTEGRITY-178B Memory Usage ........................................................... 9
5      Stack Usage............................................................................................................... 11
    5.1      Method .............................................................................................................. 11
    5.2      Stack Usage Results.......................................................................................... 11
6      Restrictions ............................................................................................................... 12
    6.1      INTEGRITY-178B API.................................................................................... 12
    6.2      Number of AddressSpaces................................................................................ 12
    6.3      Number of Tasks per AddressSpace ................................................................. 12
    6.4      Number of Kernel Objects per AddressSpace .................................................. 12
7      Integrator Considerations for Mitigating Partition Breaches.................................... 13
    7.1      Intra-Partition Considerations........................................................................... 15
Referenced Tables
                                                Appendix G: Page 2 of 16
                SCP GHS “Customer” Operating System Certification Data Sheet
1 Introduction
1.1 Purpose
      This data sheet contains performance results for the Green Hills Software’s
      (GHS) Safety Critical Products (SCP). The document also lists known limitations.
1.2 Scope
      This data sheet is applicable to GHS Safety Critical Products described in this
      document. The performance measurements are limited to the hardware platform
      described in Section 2. The performance results are from the software verification
      results described in Safety Critical Products GHS “Customer” Operating System
      Software Verification Results [1].
      •   Environment.
      •   Timing, memory usage, and stack usage performance.
      •   Limitations.
      •   Integrator considerations for mitigating partition breaches.
1.3 Abbreviations
                               Appendix G: Page 3 of 16
                  SCP GHS “Customer” Operating System Certification Data Sheet
None.
                                 Appendix G: Page 4 of 16
              SCP GHS “Customer” Operating System Certification Data Sheet
2 Environment Description
    The results represented in this data sheet are based on the environment defined in
    Table 1.
                     Includes:
                     • C Library
                     • Common Kernel
                     • PowerPC ASP
                             Appendix G: Page 5 of 16
                    SCP GHS “Customer” Operating System Certification Data Sheet
3 Timing Performance
3.1 Method
The API execution times are worst-case execution times derived from the INTEGRITY-
178B API Test Cases and Procedures. This provides the worst-case blocking terms for
invoking the APIs. These numbers may be used by the end user to verify/confirm their
system level timing requirements and for determining the worst case partition switch time
(see Section 3.1.2). Therefore, timing is only collected for APIs that “trap” into the
kernel (i.e., those that are non-preemptable).
                                   Appendix G: Page 6 of 16
          SCP GHS “Customer” Operating System Certification Data Sheet
                                                                         Time2,5
Section                      API Call                                    (usec)
                             SetClockAlarm                                1.4
                             SetClockTime                                 2.6
                             GetClockName                                 3.6
Memory Management            GetMemoryRegionAddresses                     2.0
Task Management              CurrentTask                                 N/A1
                             HaltTask                                     2.1
                             RunTask                                      3.76
                             ExitTask                                     2.5
                             YieldTask                                    2.7
                             GetMaximumPriorityAndWeight                  2.0
                             SetPriorityAndWeight                         2.96
                             GetPriorityAndWeight                         3.2
                             GetActivePriority                            2.3
                             RaiseCurrentTaskPriority                     3.3
                             LowerCurrentTaskPriority                     3.16
                             GetTaskStatus                                2.8
                             Yield                                       N/A3
                             Exit                                        N/A4
                             GetTaskStackLimits                           2.5
                             SetTaskStackPointer                          2.3
                             GetTaskStackPointer                          2.0
                             SetTaskProgramCounter                        2.5
                             GetTaskProgramCounter                        2.8
                             GetTaskRegister                              2.6
                             SetTaskRegister                              2.8
                             SetTaskIdentification                        2.4
                             GetTaskIdentification                        2.5
                             SetTaskStatusNotificationMask                2.7
                             GetTaskStatusNotificationMask                2.7
                             ResetActivity                                3.3
IO Devices                   GetIODeviceOverruns                          2.8
                             ReadBlockFromIODevice                       N/A8
                             ReadSubBlockFromIODevice                     3.0
                             ReadIODeviceRegister                         2.0
                             ReadIODeviceStatus                           2.1
                             WriteBlockToIODevice                        N/A8
                             WriteSubBlockToIODevice                      2.7
                             WriteIODeviceRegister                        2.4
                             WriteIODeviceStatus                          3.2
                         Appendix G: Page 7 of 16
                    SCP GHS “Customer” Operating System Certification Data Sheet
        1
            <Notes omitted>.
The Partition Switch execution time is the worst case time measured in the Partition
Switch Timing SVC plus the worst case blocking term for the partition switch to occur.
This SVC collected the partition switch execution time using the following process:
A. <Details omitted>.
                                   Appendix G: Page 8 of 16
                  SCP GHS “Customer” Operating System Certification Data Sheet
4 Memory Usage
4.1 Methods
        INTEGRITY-178B is a set of libraries that are linked with the application code to
        obtain an executable image. The data associated with the memory analysis was
        generated by creating “null” main programs in both kernel and virtual
        AddressSpaces and linking them into an executable image. The map file was then
        analyzed to determine the amount of memory used by INTEGRITY-178B.
        The C libraries are Executable and Linking Format (ELF) object archives. This
        means that objects within the archive that are not used by the user code are not
        included in the final linked executable. In order to perform a full memory
        analysis, the C Library archives have to be converted to a single linkable object,
        which preserves all unused objects. The analysis build then uses this newly
        generated object file to generate the memory analysis information.
        The C Libraries will use portions of memory allocated to the .stack, .kstack and
        heap sections. The size of these sections may be defined by the end user. The
        amount required by the C Libraries is dependent on the end user’s usage of the
        functions within the C Libraries.
                                 Appendix G: Page 9 of 16
         SCP GHS “Customer” Operating System Certification Data Sheet
The size of the stack, kstack, and heap sections are user-definable and are
included in the totals above. The values included in the link maps above represent
reasonable values.
                        Appendix G: Page 10 of 16
                SCP GHS “Customer” Operating System Certification Data Sheet
5 Stack Usage
5.1 Method
                               Appendix G: Page 11 of 16
                SCP GHS “Customer” Operating System Certification Data Sheet
6 Restrictions
      The user is limited to the API defined in Safety Critical Products INTEGRITY-
      178B Software Requirements Document [2]. All other calls have been removed
      and will return an error.
                               Appendix G: Page 12 of 16
              SCP GHS “Customer” Operating System Certification Data Sheet
    When integrating INTEGRITY-178B into their system, the user needs to assure
    the integration does not result in potential partition breaches.
    Table 7 lists potential causes of partition breaches the user may need to consider.
    The table is based on an analysis of partition integrity performed by GHS. For
    each potential cause, a description of mitigation considerations is included.
    Value Overwritten by      Kernel Tasks, device drivers, and exception handlers added by
    Kernel Function           a user have full supervisor privileges. An error in a function
    Provided by the User      with supervisor privileges can result in any memory location
                              being overwritten. The user is responsible for process
                              assurance of all of their defined Kernel Tasks.
                             Appendix G: Page 13 of 16
         SCP GHS “Customer” Operating System Certification Data Sheet
RAM Failure              This could include slow write followed by a read before the
                         write is completed.
                        Appendix G: Page 14 of 16
                SCP GHS “Customer” Operating System Certification Data Sheet
      Partition Jitter Due to     Partition windows may be longer or shorter than defined due
      Clock Accuracy and          to accuracy of the clock driving the high resolution timer
      Drift                       (which utilizes the PowerPC Time Base Register). The
                                  clock’s accuracy should be included when establishing time
                                  budgets for each AddressSpace.
      Other Hardware            The user may have failed hardware devices which may cause
      Failures                  misleading data values. This includes analog-to-digital
                                converters and serial devices (which can have stuck bits).
      Exceptions Occurring        Exceptions are not blocked on a partition basis. User should
                                  account for all exceptions (including page faults) and their
                                  expected/worst-case execution time and rate.
      While the operating system protects partitions from failures in other partitions, a
      partition is susceptible to failures induced within the partition. The operating
      system does not prevent interactions between Tasks, Alarms, and other Objects
                                Appendix G: Page 15 of 16
          SCP GHS “Customer” Operating System Certification Data Sheet
•   Task not assigned correct priority to compete with other defined Tasks.
•   Task’s priority was changed by another Task.
•   Task’s status was changed (e.g., Halted) by another Task.
•   Time to transfer a message will be utilized during partition of Task assigned
    to one or both ends of the Connection.
•   Tasks that block will block until the Object they are waiting on (e.g.,
    Semaphore, Alarm, Task, IODevice, Connection) is available.
•   The Task is non-deterministic (e.g., causes recursion).
•   Not accounting for worst-case execution. The program’s execution, cache
    (and its behavior), Kernel calls, context-switch time, partition jitter, and
    exceptions should be a consideration when calculating execution time.
•   The Task is no longer doing useful work (i.e., is livelocked) or deadlocked.
                         Appendix G: Page 16 of 16
SAMPLE ACCEPTANCE LETTER
         Appendix H
                                      Sample Acceptance Letter
Dear <addressee>:
The purpose of this letter is to document the acceptance of ABC’s Reusable Software
Component (RSC), the Y Component, identified in document 12345, revision #. The Y
Component is an operating system that was accepted as part of the XYZ Aircraft
Company’s 555 type certificate, dated ##/##/##. The partitioned operating system is
accepted with the XXX microprocessor. The board support package that serves as the
interface between the Y component and the XYZ company’s application is not accepted
as a reusable component.
The configuration of the Y component and its supporting data is documented in the ABC
Software Configuration Index number 12345, revision #. The acceptance of this
component was developed in compliance to AC 20-RSC, Reusable Software
Components. The agreement for the reusable status of the component is documented in
XYZ’s PSAC number 789-123-003 (revision #) and ABC’s PSAC number 22345
(revision #).
                                             H-1
   •   The Y component is accepted as a Level C component. Any applicant or
       integrator desiring to use this acceptance in the future must ensure that their safety
       assessment supports such a software level.
   •   The vulnerability assessment for the Y component is documented in the ABC
       Vulnerability Assessment document 999-123-001 (revision #). Any applicant or
       integrator desiring to use this acceptance in the future must ensure that their safety
       assessment considers the Vulnerability Assessment and that any claims made in
       the assessment supports their installation.
   •   There are a number of open problem reports that where evaluated to have no
       safety impact on the XYZ application. The problem reports are listed in section
       9.2 of the ABC Software Accomplishment Summary 889-123-002 (revision #).
       Any applicant or integrator desiring to use this acceptance in the future must
       evaluate each open problem report and its potential impact on their system.
   •   The Y component had three derived requirements, which are documented in
       section 7.6 of the ABC Software Accomplishment Summary 889-123-002
       (revision #). Any applicant or integrator desiring to use this acceptance in the
       future must consider each derived requirement in their system safety assessment
       process.
   •   The ABC and XYZ companies implemented a process to share problem reports
       found in-service and elsewhere. ABC will keep a master list of known problems
       with the Y component. Any applicant or integrator that desires to use the Y
       component in the future should evaluate all known problems for safety, operation,
       performance, and functional impact.
   •   The acceptance of the Y component is for the version described in the Software
       Configuration Index 12345, revision #. Any changes to the configuration of the Y
       component are not addressed by this letter and would need to be reassessed on a
       subsequent certification or authorization program.
The Y component life cycle data and processes were reviewed by a team of FAA
engineers and DERs to ensure compliance to RTCA/DO-178B, as described in section
5.3 of the ABC Software Accomplishment Summary 889-123-002 (revision #). The
FAA engineers and designees also reviewed XYZ’s implementation of the Y component.
It must be stated that the acceptance of the Y component is being granted in the context
of the XYZ program. Any other applicants or integrators desiring to use this component
must consider the installation, safety, performance, functional, and operational issues of
their particular system, as well as the other items mentioned in this letter.
John Doe, of the XXX Aircraft Certification Office, served as the FAA focal point for
this acceptance. Any questions may be directed to John or the the XXX Aircraft
Certification Office Manager (phone number ###-###-####).
Sincerely,
  +++++++
Manager of XXX Aircraft Certification Office
                                            H-2
Course Evaluation Form
       Appendix I
                                                                     Course Evaluation Form
We want your candid opinion on the course you just completed. Your feedback will help us to
provide the best possible products and services. Please respond to the questions below. If you
have completed via IVT, your instructor will prompt you when to enter your answers in your
keypad. If you have completed the video option, complete this form manually and return to your
ATM. You must complete and return this evaluation form to your ATM in order to get credit for
the video option.
1. Clarity of objectives A B C D E
2. Clarity of instructions A B C D E
3. Ease of navigation A B C D E
7. Quality of feedback A B C D E
Additional comments: