318976 Rev. 1

31 March 2000

X-38 Fault Tolerant system ServicesTelecommunications simulator test station (TSTS)

Telecommunications simulator interface system (TSIS) program

RADIO FREQUENCY INTERFACE SYSTEM

SOFTWARE DEVELOPMENT PLAN

CONTRACT NO. NAS 9-97216

National Aeronautics and Space Administration

Lyndon B. Johnson Space Center

Houston, Texas 77058-3696

Prepared by:

#*

The Charles Stark Draper Laboratory

555 Technology Square, Cambridge, Massachusetts 02139-3563

Telephone 617-258-1000

X-38 Fault Tolerant System Services

SOFTWARE DEVELOPMENT PLAN

Approved by:

Task Leader
Linda Alger / Roger Racine / Date
Software Engineering Division Manager
Linda Alger / Date
Technical Director
Alex Edsall / Date
Program Manager
Roger Medeiros / Date


Record of Revisions

Rev / Result of / Pages Affected / Approval/Date
1 / ECR 071B / Engineering Release / L.S.A. 5/16/2000

TABLE OF CONTENTS

Section Page

1. SCOPE 1

1.1 Identification 1

1.2 System Overview 1

1.3 Document Overview 3

1.4 Relationship to Other Plans 3

2. REFERENCED DOCUMENTS. 4

2.1 Government Documents 4

2.2 Non-Government Documents 4

3. OVERVIEW OF REQUIRED WORK 5

3.1 Requirements and Constraints on Software 5

3.2 Requirements and Constraints on Documentation 5

3.3 Position in System Life Cycle 5

3.4 Acquisition Strategy 6

3.5 Requirements and Constraints on Schedule and Resources 6

3.6 Other Requirements and Constraints 6

4. PLANS FOR PERFORMING General SOFTWARE DEVELOPMENT ACTIVITIES 7

4.1 Software Development Process 7

4.2 General Plans for Software Development 8

4.2.1 Software Development Methods 8

4.2.2 Standards for Software Products 8

4.2.3 Reusable Software Products 8

4.2.3.1 Incorporating Reusable Software 8

4.2.3.2 Developing Reusable Software Products 8

4.2.4 Handling of Critical Requirements 8

4.2.4.1 Safety Assurance 8

4.2.4.2 Security Assurance 8

4.2.4.3 Privacy Assurance 8

4.2.4.4 Assurance of Other Critical Requirements 9

4.2.5 Computer Hardware Resource Utilization 9

4.2.6 Recording Rationale 9

4.2.7 Access for Acquirer Review 9

TABLE OF CONTENTS (cont.)

Section Page

5. Plans for performing detailed Software development activities 10

5.1 Project Planning and Oversight 10

5.1.1 Software Development Planning 10

5.1.2 Software Configuration Item Test Planning 11

5.1.3 System Test Planning 11

5.1.4 Software Installation Planning 11

5.1.5 Software Transition Planning 11

5.1.6 Following and Updating Plans 11

5.1.6.1 Plan Updates 11

5.1.6.2 Management Review Intervals 12

5.2 Establishing a Software Development Environment 12

5.2.1 Software Engineering Environment 12

5.2.2 Software Test Environment 13

5.2.3 Software Development Library 13

5.2.4 Software Development Files 14

5.2.5 Non-Deliverable Software 14

5.3 System Requirements Analysis 14

5.4 System Design 14

5.5 Software Requirements Analysis 14

5.6 Software Design 15

5.7 Software Implementation and Unit Testing 15

5.7.1 Software Implementation 15

5.8 Unit Integration and Testing 15

5.9 Software Configuration Item Qualification Testing 16

5.10 Software Configuration Item/Hardware Item Integration and Testing 16

5.11 System Qualification Testing 16

5.12 Preparing for Software Use 16

5.12.1 Preparing the Executable Software 17

5.12.2 Preparing Version Descriptions for User Sites 17

5.12.3 Preparing User Manuals 17

5.12.4 Installation at User Sites 17

5.13 Preparing for Software Transition 18

5.14 Software Configuration Management (SCM) 18

5.14.1 Configuration Identification 18

5.14.1.1 Engineering Configuration Identification 18

TABLE OF CONTENTS (cont.)

Section Page

5.14.2 Configuration Control 19

5.14.2.1 Developer Configuration Control 19

5.14.2.1.1 Developer Configuration Tools 19

5.14.2.1.2 Developer Reporting Documentation 19

5.14.2.1.3 Developer Review Procedures 20

5.14.2.1.4 Off-site Configuration Management 20

5.14.2.2 Formal Configuration Control 20

5.14.2.2.1 Formal Configuration Tools 21

5.14.2.2.2 Formal Reporting Documentation 21

5.14.2.2.3 Formal Review Procedures 22

5.14.3 Configuration Status Accounting 22

5.14.4 Configuration Audits 22

5.14.5 Packaging, Storage, Handling, and Delivery 22

5.14.5.1 Delivery Preparation 23

5.15 Peer Reviews 23

5.15.1 In-Process and Final Software Product Evaluations 23

5.15.2 Peer Review Records 24

5.16 Software Quality Assurance Overview 24

5.16.1 Software Quality Assurance Evaluations 25

5.16.2 Software Quality Assurance Records 25

5.16.3 Independence in Quality Assurance 25

5.17 Corrective Action 26

5.17.1 Problem Change Reports 26

5.17.2 Corrective action system 26

5.18 Joint Technical and Management Reviews 27

5.18.1 Joint Technical Reviews 27

5.18.2 Joint Management Reviews 27

5.19 Other Software Development Activities 27

5.19.1 Risk Management 27

5.19.2 Software Management Indicators 27

5.19.3 Security and Privacy 27

5.19.4 Subcontractor Management 27

5.19.5 Interface with Software Independent Verification and Validation Agents 28

5.19.6 Coordination with Associate Developers 28

5.19.7 Improvement of Project Processes 28

TABLE OF CONTENTS (cont.)

Section Page

6. SCHEDULES 29

7. PROJECT ORGANIZATION AND RESOURCES 30

7.1 Project Organization 30

7.2 Project Resources 30

8. NOTES 32

8.1 Acronyms 32

1. SCOPE

1.1 Identification

1.2 System Overview

1.3 Document Overview

1.4 Relationship to Other Plans

2. REFERENCED DOCUMENTS.

2.1 Government Documents

2.2 Non-Government Documents

3. OVERVIEW OF REQUIRED WORK

3.1 System and Software Constraints

3.2 Documentation Constraints

3.3 Position of Software Project in System Life Cycle

3.4 Program Strategy, Requirements and Constraints

3.5 Project Schedule and Resource Constraints

3.6 Project Security Constraints

4. PLANS FOR PERFORMING GENERAL SOFTWARE DEVELOPMENT ACTIVITIES

4.1 Software Development Process

4.2 General Plans for Software Development

4.2.1 Software Development Methods

4.2.2 Standards for Software Products

4.2.3 Reusable Software Products

4.2.3.1 Incorporating Reusable Software Products

4.2.3.2 Developing Reusable Software Products

4.2.4 Handling of Critical Requirements

4.2.4.1 Safety Assurance

4.2.4.2 Security Assurance

4.2.4.3 Privacy Assurance

4.2.4.4 Assurance of Other Critical Requirements

4.2.5 Computer Hardware Resource Utilization

4.2.6 Recording Rationale

4.2.7 Access for Acquirer Review

5. PLANS FOR PERFORMING DETAILED SOFTWARE DEVELOPMENT ACTIVITIES

5.1 Project Planning and Oversight

5.1.1 Software Development Planning

5.1.2 Software Configuration Item Test Planning

5.1.3 System Test Planning

5.1.4 Software Installation Planning

5.1.5 Software Transition Planning

5.1.6 Following and Updating Plans, Including the Intervals for Management Review

5.1.6.1 Plan Updates

5.1.6.2 Management Review Intervals

5.2 Establishing a Software Development Environment

5.2.1 Software Engineering Environment

5.2.2 Software Test Environment

5.2.3 Software Development Library

5.2.4 Software Development Files

5.2.5 Non-Deliverable Software

5.3 System Requirements Analysis

5.4 System Design

5.5 Software Requirements Analysis

5.6 Software Design

5.7 Software Implementation and Unit Testing

5.7.1 Software Implementation

5.8 Unit Integration and Testing

5.9 Software Configuration Item Qualification Testing

5.10 Software Configuration Item/ Hardware Item Integration and Testing

5.11 System Qualification Testing

5.12 Preparing for Software Use

5.12.1 Preparing the Executable Software

5.12.2 Preparing Version Descriptions for User Sites

5.12.3 Preparing User Manuals

5.12.4 Installation at User Sites

5.13 Preparing for Software Transition

5.14 Software Configuration Management (SCM)

5.14.1 Configuration Identification

5.14.2 Configuration Control

5.14.2.1 Developer Configuration Control

5.14.2.1.1 Developer Configuration Tools

5.14.2.1.2 Developer Reporting Documentation

5.14.2.1.3 Developer Review Procedures

5.14.2.2 Formal Configuration Control

5.14.2.2.1 Formal Configuration Tools

5.14.2.2.2 Formal Reporting Documentation

5.14.2.2.3 Formal Review Procedures

5.14.3 Configuration Status Accounting

5.14.4 Configuration Audits

5.14.5 Packaging, Storage, Handling, and Delivery

5.15 Software Product Evaluation

5.15.1 In-Process and Final Software Product Evaluations

5.15.2 Software Product Evaluation Records

5.15.3 Independence in Software Product Evaluation

5.16 Software Quality Assurance Overview

5.16.1 Software Quality Assurance Evaluations

5.16.1.1 Generate Evaluation Criteria Checklists

5.16.1.2 Perform Audit

5.16.1.3 Record Deficiencies

5.16.1.4 Notification of Results

5.16.2 Software Quality Assurance Records, Including Items to be Recorded

5.16.3 Independence in Software Quality Assurance

5.17 Corrective Action

5.17.1 Origination

5.17.2 Planning

5.17.3 Analysis

5.17.4 Review

5.17.5 Correction

5.17.6 Retest

5.17.7 Revision

5.17.8 Engineering Approval

5.17.9 Quality Assurance Approval

5.18 Joint Technical and Management Reviews

5.18.1 Joint Technical Reviews

5.18.2 Joint Management Reviews

5.19 Other Software Development Activities

5.19.1 Risk Management, Including Known Risks and Corresponding Strategies

5.19.2 Software Management Indicators, Including Indicators to be Used

5.19.2.1 Software Size

5.19.2.2 Software Development Effort

5.19.2.3 Software Development Cost

5.19.2.4 Schedule

5.19.2.5 Problem/Change Report Status

5.19.3 Security and Privacy

5.19.4 Subcontractor Management

5.19.5 Interface with Software Independent Verification and Validation Agents

5.19.6 Coordination with Associate Developers

5.19.7 Improvement of Project Processes

6. SCHEDULES

7. PROJECT ORGANIZATION AND RESOURCES

7.1 Project Organization

7.2 Project Resources

7.2.1 Personnel Resources

7.2.2 Developer Facilities

7.2.3 Acquirer-Furnished Equipment, Software, Services, Documentation, Data, and Facilities Required for the Contracted Effort

7.2.4 Other Required Resources

8. NOTES

8.1 Acronyms

APPENDIX A. X-38 FTSS SCHEDULE

manual pastup of appa.mpp file (microsoft project)

LIST OF FIGURES

Figure Page

Figure 1-1. FCC Virtual Architecture. 2

Figure 1-2. FCC Software Architecture. 2

Figure 4-1. Development Approach for FTSS Software 7

Figure 7-1. X-38 Program Organization 30

LIST OF TABLES

Table Page

Table 3-1. Software Documents To Be Delivered 5

Table 3-2. FTSS CSCI Software To Be Delivered 5

Table 5-1. FTSS Regular Reviews 12

Table 5-2. FTSS Status Reports 12

Table 5-3. Software Items Needed for FTSS SEE 12

viii

318976 Rev. 1

31 March 2000

1.  SCOPE

1.1  Identification

This Software Development Plan (SDP) describes the organization and procedures used by The Charles Stark Draper Laboratory, Inc. (Draper) in managing the software development activity for the X-38 Fault Tolerant System Services (FTSS).

1.2  System Overview

The central part of the avionics architecture of the National Aeronautics and Space Administration's (NASA's) X-38 Crew Return Vehicle is a quad-redundant Flight Critical Computer (FCC) which is based on Draper's Fault Tolerant Parallel Processor (FTPP) architecture. The FCC consists of four Flight Critical Processors (FCPs) operating as a quad-redundant Virtual Group (VG), four simplex Instrument Control Processors (ICPs) running as four separate VGs, four Draper designed Network Elements (NEs), eight Multi-protocol/RS-422-cards, twelve Digital Input/Output (I/O) (DIO) cards, four Analog I/O cards.

The FCPs, operating as a single, quad-redundant set, function as the main application processor. A complete suite of FTSS software will be loaded onto the FCPs and provide an Application Programming Interface (API) between NASA's application code and the underlying hardware (Motorola Power PCs) and a Commercial Off-the-Shelf (COTS) operating system (VxWorks). The FTSS software provides Scheduling Services, Communication Services, Time Services, Memory Management Services, Fault Detection, Isolation and Recovery (FDIR), System Support Services, and a Mission Management template. A reduced set of FTSS Communications Services will be loaded onto each ICP and will provide an API between the I/O software running on the ICPs and the NEs.

Figure 1-1 is a high-level block diagram of the FCC virtual hardware configuration.

Figure 1-2 is a high-level block diagram of the FCC software architecture.

Figure 1-1. FCC Virtual Architecture.

Figure 1-2. FCC Software Architecture.

1.3  Document Overview

This SDP reflects the planning and management requirements for the FTSS software development effort. It has been prepared in contractor format, with the appropriate Draper standard SDP used as a guideline and tailored as appropriate to FTSS software development. This SDP is not required by the FTSS customer and is being generated to provide guidance to Draper engineering personnel.

Section 1 provides an introduction and overview for the SDP. Section 2 is a list of references. Section 3 describes the constraints on this software and its place in the system life cycle. Section 4 describes the software process to be used and general planning activities. Section 5 discusses the detailed activities required to develop, integrate and test software.

1.4  Relationship to Other Plans

A Risk Management Plan, Software Configuration Management Memo, and a Software Test Plan will be developed for this project. These plans will be available in the Software Development Files (SDFs). The FTSS will rely on Software Quality Assurance (SQA) support as defined in the Product Program Plan (PPP).

2.  REFERENCED DOCUMENTS.

2.1  Government Documents

The following document of the exact issue shown form part of this document to the extent specified herein. In the event of conflict between the documents referenced herein and the contents of this document, the contents of this document shall be considered a superseding requirement.

Document No. / Date / Title
JSC 28671 / 18 March 2000 / X-38 Fault Tolerant Parallel Processor Requirements


Copies of specifications, standards, drawings, and publications required by suppliers in connection with specified procurement functions should be obtained from the contracting agency or as directed by the contracting officer.

2.2  Non-Government Documents

The following documents of the exact issue shown form part of this document to the extent specified herein. In the event of conflict between the documents referenced herein and the contents of this document, the contents of this document shall be considered a superseding requirement.

Document No. / Date / Title
CSDL 297753 / 27 March 00 / Integrated Test Plan
CSDL 297746 / 29 May 99 / Certification Test Procedures
CSDL 297747 / TBD / Certification Report
CSDL 297769 / Aug 98 / Critical Fault Tolerant Processor Hardware and Software Components for the NASA
X-38 Flight Critical Computer,
Product Program Plan (PPP)
CSDL-297749 / 11 Feb 00 / Software Requirements Specification/ Interface Requirements Specification
Memo X-38:99:015 / 31 Mar 99 / Engineering Release
Memo X-38:2000:036 / 19 Jan 00 / Engineering Release
CSDL-C-6218 Rev. G / 31 Dec 97 / Configuration Management Plan for the Charles Stark Draper Laboratory, Inc.
N/A / N/A / ClearCase Users Manual
TBD / TBD / Software Design Description
TBD / TBD / Software Version Description


Non-government standards and other publications are normally available from the organizations which prepare or distribute documents. These documents may also be available through libraries or other informational sources.

3.  OVERVIEW OF REQUIRED WORK

This SDP is for internal use.

3.1  Requirements and Constraints on Software

This is documented in JSC 28671, X-38 Fault Tolerant Parallel Processor Requirements.

3.2  Requirements and Constraints on Documentation

Table 3-1 lists the software documents to be produced for FTSS. Review dates for each document are kept in the program master schedule. Table 3-2 lists the software to be delivered to NASA.

Table 3-1. Software Documents To Be Delivered

Document Name / Acronym / DRL
Software Requirements Specification/ Interface Requirements Specification / SRS/IRS / DRL12/
DRL14
Software Design Description / SDD / DRL13
Software Version Description / SVD / DRL17
Application Programmer’s Interface / API / DRL 15

Table 3-2. FTSS CSCI Software To Be Delivered