Attachment 1 - Statement of Work.docx
DOCX document 54 KB Posted
- Attached to
- SPACECRAFT ENGINEERING, SOFTWARE, RESEARCH AND DEVELOPMENT SERVICES Federal contract opportunity
- Solicitation number
- N00173-20-R-HD01
About this file
This is a request for proposal for spacecraft engineering, software, research and development services. The Naval Center for Space Technology located at the Naval Research Laboratory is seeking these services to develop, enhance, maintain and test software used in the design, development, testing, launch and operations of Department of Defense space assets. This total small business set-aside procurement conducted under NAICS code 541715 involves research and prototype development of spacecraft electronics and space/airborne electronic systems as well as continued maintenance of Naval Research Laboratory owned software supporting development, testing, launch and operations of Department of Defense space assets. Questions are due within 14 calendar days of solicitation issue with the contracting officer's representative and all documentation will be posted to Contract Opportunities at beta.sam.gov.
View the file
Other files for this federal contract opportunity
| File | Type | Posted |
|---|---|---|
| N00173-20-R-HD01 RFP CONFORMED through Amend 0001.pdf | ||
| Amendment 0001.pdf | ||
| Q&A.docx | DOCX document | |
| Attachment 5 - DD254.pdf | ||
| Attachment 2 - Version Description Document.docx | DOCX document | |
| Attachment 9 - PP Questionnaire.pdf | ||
| Attachment 8 - SF 1408.pdf | ||
| Attachment 4 - Requirements for OnSite Contractors.pdf | ||
| Attachment 7 - Cost-Price Summary.XLSX | XLSX spreadsheet | |
| Attachment 3 - Personnel Qualifications.docx | DOCX document | |
| _N00173-20-R-HD01 RFP.pdf |
Show all 11
On GovTribe
Work with this file on GovTribe
- Download the original file
- Contacts named in this file
- Similar government files
- Ask GovTribe AI about this file
Text version
Solicitation Number: N00173-20-R-HD01 Attachment (1)
Statement of Work Spacecraft Engineering, Software, Research and Development Services Version 1
Contents
| 1 Introduction | 3 |
| 1.1 Scope | 3 |
| 2 Performance Requirements | 4 |
| 2.1 The Neptune™ Software | 4 |
| 2.1.1 System Installation and Configuration Support | 4 |
| 2.1.2 Application Project Development | 4 |
| 2.1.3 Hardware and Device Driver Development | 4 |
| 2.1.4 Command and Telemetry Development | 5 |
| 2.1.5 Ground Station Configuration and Deployment | 5 |
| 2.1.6 Customer Support | 5 |
| 2.1.7 New Release Support | 5 |
| 2.1.8 Neptune™/CGA Software Maintenance | 5 |
| 2.2 Ground Station and Mission Operations | 6 |
| 2.2.1 Ground System Control | 6 |
| 2.2.2 Mission Unique Software (MUS) | 7 |
| 2.2.3 Satellite Specific Software | 7 |
| 2.2.4 Data Reduction and Analysis (DRA) | 7 |
| 2.2.5 Tasking Generation Systems | 8 |
| 2.2.6 Commercial Off The Shelf (COTS) Software Integration | 8 |
| 2.2.7 Remote Tracking Stations (RTS) | 8 |
| 2.2.8 Ground System Systems Engineering Services | 9 |
| 2.3 Spacecraft and Payload Integration and Test | 9 |
| 2.3.1 Ground Integration and Test Software | 9 |
| 2.3.2 Integration and Test Ground Support Equipment | 10 |
| 2.4 Real-Time Embedded Software | 11 |
| 2.4.1 Embedded Software Life Cycle Expertise | 11 |
| 2.4.2 Embedded Software Engineering Tools | 12 |
| 2.4.3 Embedded Platforms for Flight Software | 13 |
| 2.4.4 Embedded Software System Skill Set | 13 |
| 2.4.5 Software System Engineering Contributions to System Design | 14 |
| 2.4.6 Flight Software Engineering Contributions to Mission Operations | 14 |
| 2.5 VMOC Software | 14 |
| 2.5.1 Mission Unique Software (MUS) | 15 |
| 2.5.2 Framework Development | 15 |
| 2.5.3 Software Development Infrastructure | 16 |
| 2.5.4 Software Releases | 16 |
| 2.5.5 Information Assurance (IA) Support | 17 |
| 2.6 Other Software | 17 |
| 2.6.1 Mission Simulation | 17 |
| 2.6.2 Infrastructure Support | 18 |
| 2.6.3 Utilization of Third-party and Open Source Software | 19 |
| 3 Special Requirements | 19 |
| 3.1 Security | 19 |
| 3.1.1 DD Forms 254 | 19 |
| 4 Acronyms | 20 |
Statement of Work (SOW) Spacecraft Engineering, Software, Research and Development Services 1 Introduction The Naval Center for Space Technology (NCST), located at the U.S. Naval Research Laboratory (NRL) in Washington, DC, is the designated lead laboratory for Navy space programs. NCST has the mission to “preserve and enhance a strong space technology base and provide expert capabilities in the development and acquisition of space systems which support Naval missions.” NCST has the primary responsibility to develop space systems, spacecraft payloads, tactical communications, and aerospace systems, and to actively pursue emerging technologies in an effort to advance space, tactical, and aerospace system development.
The NCST defines system requirements based on overall mission objectives, develops alternative system architectures, designs and develops systems and subsystems, and implements technologies to achieve optimized operational systems.
The NCST has several on-going advanced science and technology space programs at various states of the development process. These include but are not limited to RSGS and Fountainhead. These programs are developed and tested at NRL and many use the Blossom Point Tracking Facility (BPTF) as the ground systems responsible for flight operations.
Over the past 25 years the NCST has developed, enhanced, and maintained a collection of software used for design, development, test, launch, and mission operations of DoD space assets. This software is constantly being enhanced to provide state of the art solutions to space applications. The core suite of software components are used in all aspects of the spacecraft or component life-cycle.
1.1 Scope
NCST develops spacecraft for DoD, NASA, and numerous other Government agency customers. These efforts have resulted in successful satellite operations in low, medium, highly elliptical, and geosynchronous orbits. The ability of the center to rapidly produce cost effective and reliable spacecraft and components is directly related to the experience of the engineering team and the ability to apply and modify development techniques, software procedures, processors, and other hardware components to accomplish new requirements. A vast collection of reusable and application specific software components, test procedures, operating system modifications, and other software has been collected and organized. This collection requires continued new development, enhancement, maintenance, test, and configuration management as required by new programs.
Efforts of the tasks delineated in Section 3, Performance Requirements, below will be conducted in coordination with Principal Investigator (PI) led research teams that may include Government scientists and other Contractors. The quality and timeliness of the provider's contribution to the work will be evaluated in terms of its impact on the success of the overall project.
This Statement of Work (SOW) defines the technical and managerial tasks required to design, develop, test, maintain, enhance, and provide configuration control for all software modules related to spacecraft and space component development/test and system operations. This includes:
1) The Neptune™ Software
2) Ground Station and Mission Operations
3) Spacecraft and Payload Integration and Test
4) Real-time Embedded Software
5) Other software 2 Performance Requirements The following section specifies the Performance Objectives and Performance Elements for the contract.
2.1 The Neptune™ Software
The contractor shall provide software engineering development, maintenance, enhancement and configuration management support for all components contained within the Neptune™ software suite under the direction of the NRL Configuration Control Board. The NCST has developed, maintained and enhanced the Neptune™ software for over 30 years. The Neptune™ Software is a government owned suite of software tools that provides a set of reusable components that facilitate the development of command, control, and monitoring applications used for spacecraft, and component development, integration & test, and flight operations (pre-launch, launch, mission). The software executes on the Linux operating system with the ability to support applications on Windows/PC devices. The Neptune™ software is being distributed to other Government and industry agencies but is always managed and its distribution is controlled by the NRL team.
2.1.1 System Installation and Configuration Support
The Contractor shall configure the Linux Red Hat operating system for Neptune™/CGA usage, defining and configuring the system’s architecture to best support the Neptune™/CGA software, and in configuring the Neptune™/CGA software for standalone, multi-node and multi-developer usage. The Contractor shall use and configure intuitive installation applications like Flexera Software’s Install Anywhere.
2.1.2 Application Project Development
The Contractor shall provide support to add new projects to existing systems and assistance to users using the defined API’s for application development. The contractor shall modify and use existing scripts to build project software, display pages, and sample application projects: GCA Test Project (CTP) and the Colony 1 Core (C1C).
2.1.3 Hardware and Device Driver Development
The Contractor shall modify and maintain all existing hardware and drivers, add new hardware and device driver interfaces, and modify existing and add new CGA Command Language (CCL) directives to activate, control and monitor hardware and device drivers.
2.1.4 Command and Telemetry Development
The Contractor shall create command and telemetry databases from defined specifications. The Contractor shall modify the common application specific input software module to (1) decommutate raw telemetry and apply any required project specific pre-processing before submitting the raw telemetry for standard telemetry processing; and (2) apply any required project specific formatting before sending the command to the spacecraft or unit under test.
2.1.5 Ground Station Configuration and Deployment
The Contractor shall configure any customer site using the Neptune™/CGA software for ‘Lights Out’ operations and importing ephemeris data to the satellite contact schedule. The Contractor shall modify and create CCL-based scripts to activate, execute and shutdown scheduled operations at any site using the Neptune™/CGA software.
2.1.6 Customer Support
The Contractor shall provide Neptune™/CGA software training, both standard training covering beginner to advance topics as well as training tailored to specific customer needs including the native scripting language, CCL, that covers syntax, script development, and troubleshooting. The Contractor shall provide a detailed review of all Neptune™/CGA software documents at least once per calendar year to ensure that the documents remain accurate and current. The Contractor shall create and distribute new technical documents and a monthly newsletter to inform customers of any important news or release dates and to address other topics of interest to the users of the Neptune™/CGA software. The Contractor shall provide technical support to all users of the Neptune™/CGA software via telephone, email or remote login.
2.1.7 New Release Support
The Contractor shall manage the software configuration and complete tasks necessary to identify and build a release. The Contractor shall create a Version Description Document identifying what the release contains, any defects fixed by this release, any known defects not fixed by this release and any other information specific to this release. Installation and regression testing of all new releases are needed prior to the release being used or installed at any customer site.
2.1.8 Neptune™/CGA Software Maintenance
The Contractor shall maintain the Neptune™/CGA software including:
· Collecting defect reports and enhancement requests from all users
· All reports shall be reviewed and accepted or rejected
· All accepted defects shall be prioritized and assigned to a single developer for resolution
· All steps to resolution shall be documented, tracked and reported
· All resolutions shall be verified prior to closing
· Any defect or resolution that will significantly impact the current capability will be reported to the Configuration Control Board (CCB) for final adjudication
· Requests for enhancements shall follow a similar process
· A single developer, responsible for all defect, enhancement and support requests shall be assigned to each component of the Neptune™/CGA software
· The components to be covered currently are C&T, CGA Core All, CGA Test Suite, Common Services, GUI, Install & Verify Scripts, LPC, RMON, SWB, AGO, AGO BPTF, BEP, BPTF GSEC, BPCOMM, COMM, DRA, FEP, GC, GMSEC, GSEC, OAC, REM, and VMOCIF
· All code is written in C/C++, Fortran and Java currently with the scripts
· Meet quarterly with the government CCB to review the direction of the software development, get direction on significant defects and to discuss innovative enhancement requests
· Software Engineering practices shall be documented and submitted to the COR for review and approval
· Implement a configuration management system to ensure changes to the code are tracked and controlled
· Use a defect tracking system to ensure all defects and enhancement requests are properly tracked from identification to closure
· Use industry standard tools to check and track the quality of the software being produced
2.2 Ground Station and Mission Operations
The contractor shall operate ground station and spacecraft command and control at NRL, NRL field sites and other remote locations. The contractor shall provide the design and development of command, control, tasking, and monitoring multiple spacecraft and constellations simultaneously with the processes and procedures applied to operational satellite ground system software and system engineering tasks. The ground system software consists of the following components: the Neptune™ software suite; ground system control; mission unique software; satellite specific software; data reduction and analysis; task generation system; COTS integration; and remote tracking systems. The contractor shall develop a software system that satisfies mission unique requirements. The contractor shall describe the application of the components and facilities to provide the following capabilities: ground telemetry processing; spacecraft command and control; device command and control; mission planning, scheduling, and tasking; commercial inference engine integration; command and telemetry database creation, management, analysis and control; and data reduction and analysis.
2.2.1 Ground System Control
The contractor shall generate and maintain a ground system application using the Neptune™ software and the following components:
1. OAC: Operations and Control provides scheduling, setup, and control of the system based on ephemeris or timed events.
2. REM: Resource Equipment Management determines the availability of ground system hardware and how to configure the ground system.
3. AGO: Automated Ground Operations provides the ability to run ‘lights out’ by combining ground, spacecraft and site status with a pre-defined set of procedures to increase operational availability and minimize costs.
4. GSEC: Ground System Equipment Control provides control and status for the ground system hardware (antenna controllers, receivers, bit/frame syncs, special purpose processors, switching matrixes, signal generators, and other equipment that provides status information).
5. DRA: Data Reduction and Analysis provides long-term archive of all data as well as configurable output formatting and post-processing algorithms.
6. CEUdrvr: Command Encoder Unit (command uplink formatter) driver provides operational status of the unit.
7. FEP: Front End Processor provides the interface to the frame synchronizers.
8. STKIF: Provides an interface to the Satellite Toolkit software (running on a PC) to visualize satellite position and attitude.
The operational ground system software consists of a library of ground station software modules that provide the functionality to operate the system.
2.2.2 Mission Unique Software (MUS)
The contractor shall provide software engineering support and integration for the MUS layer into the Neptune™ software based application. The current version of the application installed at the ground station contains a set of mission unique software components used for real-time command and control of both national program and other sponsors’ spacecraft. This consists of a large library of common satellite, orbital analysis, and mathematical software modules that are developed, updated, and configuration controlled. This layer expands with each new satellite support requirement and is available as a stand-alone library. Examples of software modules that currently reside in the MUS are: reusable code to convert satellite databases from Excel, Access, and Oracle; an Orbital library; socket and serial interface libraries; reusable code for adding new ground equipment; automatic display generation from database input; software simulation capabilities; templates for MUS specific command and telemetry processing; and reusable code for importing mission planning products. The contractor shall maintain the MUS and continue to update the components when required for new spacecraft support or new technological advances.
2.2.3 Satellite Specific Software
The contractor shall maintain and update the satellite specific software for mission applications and new satellite supports. The ground station software also consists of satellite specific software, processes and procedures that require maintenance and enhancements. These applications are not generic and therefore are not included in the Neptune™ software or MUS. An example of this software is the Upper Stage maneuver verification component. This software was developed in conjunction with NRL scientists to perform analysis of the main engine thrusting. The software predicted the performance of the engine and compared the actual performance to the predicted in real-time results. The software has built-in alarm conditions to notify the propulsion engineers if a problem was detected so they could terminate the burn. Associated with the satellite specific software are the satellite specific databases that include: command databases, telemetry databases, procedures, programmable satellite memories, and graphical user interface display creation routines. The contractor shall create new procedures, processing components, and databases that are satellite specific and integrate these components with the Neptune™ software and MUS to update the ground system.
2.2.4 Data Reduction and Analysis (DRA)
The contractor shall apply, enhance, and maintain the data reduction and analysis components for current spacecraft and adapt to new spacecraft supports and requirements using the current DRA as the model for new development. DRA provides the capability to support offline analysis of telemetry data and monitor data, computation of orbital parameters and conditions, logging of command actions and responses, and support tools used to populate and extract this data from a database management system. The functions of the DRA are: ingestion and long-term archival of all received telemetry, derived telemetry data, memory readouts, and command action/response into the system database and file management products; processing of selected telemetry, memory readout, ephemeris, and command data by: time, type, revolution, satellite, or any combination of the above; analysis of the selected data, to include curve fits, average, minimum, maximum, rate of change, median, sigma, etc.; product generation of the analysis to be printed, plotted, displayed on a graphic terminal, or stored for further analysis.
2.2.5 Tasking Generation Systems
The contractor shall use, maintain, and enhance the following list of task generation systems:
1. CGS – Command Generation System supports the national program. It consists of 11 configurable components and has several external interfaces.
2. TGD – The Task Group Definition system defines payload configurations for the national program.
3. RCGS – The Responsive Command Generation System generates payload tasking for the TacSat-L program.
4. UST_EXT – Upper Stage Extension task generation utilizes aspects of the Neptune™ architecture and spacecraft command language (SCL) to build flight loads that support the extended mission. This system is currently in development.
5. TaskGen-1 – TaskGen-1 creates uplink loads for the TacSat 1 spacecraft.
6. TaskGen-4 – TaskGen-4 generates uplink loads for the TacSat 4 vehicle to configure the COMM-X payload.
7. CmdQGen – Command Queue Generator generates uplink loads for the Windsat spacecraft.
The current ground system consists of several tasking generation systems developed to support mission operations. These systems receive task requests from external users or spacecraft engineers and generate binary loads that are loaded into the spacecraft to be executed by the on-board flight computers. The tasks perform engineering functions, payload reconfigurations and communications (downlink) configurations. Some of the following systems have been in use for many years and only require maintenance to support new requirements or vehicle failures. The other systems are currently in design and development to support upcoming launches.
2.2.6 Commercial Off The Shelf (COTS) Software Integration
The contractor shall perform trade studies and make recommendations for approval. The ground system environment is constantly being evaluated and upgraded because of technological advances and commercial software evolutions. The current system and associated components utilize many COTS and shareware products in order to reduce the overall development and maintenances costs. Each component is evaluated for use, applicability, and cost. Integration of these products is an ongoing effort by the engineering team. As new versions become available they are evaluated for performance and functionality, and if appropriate, they are integrated into the software baselines. Studies are conducted periodically to determine if a COTS product should be replaced by another or by newly developed code.
2.2.7 Remote Tracking Stations (RTS)
The contractor shall operate the remote tracking station development and deployment. The contractor shall provide operational ground system software, hardware architecture and system engineering related to the design and development of remote tracking stations used for the collection of spacecraft data and real-time command and control. The contractor shall use the ground system to operate the RTS’s as automated, unmanned facilities. The contractor shall support high speed network design and development including the design and development of operational interfaces to external communications facilities as required. These facilities include commercially available global internet and Satellite Communications (SATCOM) facilities. The contractor shall design, develop, deploy and support the RTS’s and BPTF as a worldwide satellite collection, command and control system. The contractor shall develop a “lights out” operational mode of defined housekeeping functions. The contractor shall support the high speed network design and development including the design and development of operational interfaces to external systems as required.
2.2.8 Ground System Systems Engineering Services
The contractor shall provide Systems Engineering services to assist in the development and evolution of the ground architecture used and managed by NRL. The Contractor shall provide proof of concept tests and increase automation of the routine tasks used to properly or more efficiently provide command and control of satellites. The Contractor shall provide spacecraft engineering support to existing and new programs. The Contractor shall design and implement the communications and networks to maintain the networks and meet the DoD Information Security/Information Assurance policies as directed by the NRL. The Contractor shall support studies as requested by the NRL or sponsoring agencies.
2.3 Spacecraft and Payload Integration and Test
The contractor shall provide spacecraft and payload Integration and Test (I&T). The contractor shall provide I&T architecture used in the design and development of command and telemetry processing, testing of hardware specific interfaces, and test procedure development from box to system to complete spacecraft/component acceptance testing. The contractor shall utilize the Neptune™ software and the test system specific device control and status libraries to develop systems that satisfy the requirements of full spacecraft development, acceptance testing and pre/post launch processing and analysis. The requirements for Spacecraft and Payload Integration and Test are separated into two sections: a) Ground Integration and Test Software; and b) Integration and Test Ground Support Equipment.
2.3.1 Ground Integration and Test Software
The contractor shall provide software engineering and hardware integration expertise in support of the spacecraft and payload development, integration and test efforts. The contractor shall use common hardware and software components to support Command, Telemetry & Data Handling (CT&DH), Flight Software, Payload and Spacecraft development, integration & test activities. The contractor shall develop the ground integration and test software such that it will integrate effectively and efficiently into the Neptune™ based operational ground system to support flight and mission operations. The existing I&T ground software code base represents a Neptune™ application layer that shall be reused and/or adapted to future spacecraft and payload development efforts. The contractor shall continue the growth and adaptation of the existing NCST reusable code base to new space missions. The contractor shall provide command formatting, command transmission, telemetry acquisition, telemetry decommutation, telemetry analysis, embedded memory & log handling, Ground Support Equipment (GSE) control/monitoring, Simulation control/monitoring, time synchronization control/monitoring, and automated test control in support of the I&T Ground Software system deployments.
2.3.1.1 The contractor shall design, develop, test, and deploy spacecraft related integration and test ground software components. The contractor shall generate the following specifications and documentation: system design review presentations, software development plan, software requirements, interface requirements, interface definitions, detailed design, technical notes, unit test results, test plan, test descriptions, test results and user guides. The contractor shall tailor the development approach and documentation requirements to be commensurate with sponsor, NCST, budget, schedule and risk constraints. The contractor shall apply the techniques and design approaches necessary to maximize the application of existing software components, maximize the potential for future reuse, expand the functionality of the existing code base to support new requirements, incorporate generic and non-proprietary ground I&T software components & concepts from other organizations, and adhere to existing and emerging interface standards. NCST recognizes the criticality and costs associated with component and system level test efforts. The contractor shall provide incremental improvements in test coverage and test automation while reducing cost and schedule by continuously evaluating the test approach, technique and tools.
2.3.1.2 The contractor shall design, develop, and deploy automated test procedures using the scripting language provided by the Neptune™ software. The contractor shall generate the following specifications and documentation: test plans, test descriptions, anomaly reporting and test results. The automated test procedures shall be used to space flight qualify for the CT&DH, Flight Software, Spacecraft and Payload. Furthermore the automated test procedures may be used for space flight qualification of other spacecraft avionic components. The development of the test plans, test descriptions and automated test procedure require a high degree of insight into the spacecraft HW subsystems, spacecraft SW subsystems, GSE, Simulation SW, and I&T Ground SW. The contractor shall refine the UUT test plan and test description working with the Unit Under Test (UUT) engineers. The contractor shall develop and deploy the UUT automated test procedures and exercise these procedures as part of the space flight qualification of the UUT.
2.3.2 Integration and Test Ground Support Equipment
The contractor shall assist in the specification of the I&T Ground Support Equipment (GSE). The contractor shall facilitate the specification, design, development, test and deployment of GSE embedded software. The contractor shall use a common hardware and software design for the development, integration & test of the CT&DH, Flight Software, Payload, and Spacecraft. The contractor shall provide existing NCST I&T GSE, which contain common and reusable components used for stimulation and/or monitoring of all UUT interfaces. The GSE capabilities in conjunction with I&T ground and simulation software provide an environment in which all interfaces can be exercised in a flight equivalent fashion. The contractor shall configure the GSE and associated software support modules and provide the functionality required for fully automated design and production testing. The contractor shall use the GSE HW and related software components designed to provide a high fidelity spacecraft simulation capability when used in conjunction with hardware in the loop (HWIL) configuration. The contractor shall continue the growth and adaptation of the existing NCST GSE hardware and software architecture to support new NCST spacecraft subsystem and system level testing. The contractor shall evaluate spacecraft system and subsystem test requirements and use this evaluation to develop GSE hardware interface and software specifications.
2.3.2.1 The contractor shall design, develop, test, and deploy embedded GSE software. The contractor shall modify, enhance, and create device specific interfaces for real time data collection and GSE control by understanding the internals of the VxWorks operating system. The contractor shall configure the VxWorks based GSE, the Neptune™ based test system, the application specific interfaces, and the spacecraft hardware unit under test for performance, environmental, and acceptance testing. The contractor shall design, develop, and configure management of automated procedures that are used during integration and test in order to use proven and tested sequences during launch and mission operations. The contractor shall modify the software source code and automated procedures to replace the GSE interfaces and simulation practices with real time operational data in order to create operational procedures. The contractor shall reduce mission operations development cost and risk by using proven techniques using common software and procedures for I&T and migrating the source to both the Neptune™ ground station application and other potential ground stations.
2.3.2.2 The contractor shall generate the following specifications and documentation: system design review presentations, software development plan, software requirements, interface requirements, interface definitions, detailed design, technical notes, unit test results, test plan, test descriptions, test results and user guides. The contractor shall tailor the development approach and documentation requirements to be commensurate with sponsor, NCST, budget, schedule and risk constraints. The contractor shall apply the techniques and design approaches necessary to maximize the application of existing software components, maximize the potential for future reuse, expand the functionality of the existing code base to support new requirements, incorporate generic and non-proprietary embedded GSE software components & concepts from other organizations, and adhere to existing and emerging interface standards.
2.4 Real-Time Embedded Software
2.4.1 Embedded Software Life Cycle Expertise
The contractor shall design, develop, test, and deploy a wide range of real-time embedded software components. The contractor shall develop flight software components for both the spacecraft bus and application specific payloads and experiments. The contractor shall also develop real-time embedded software for control applications that support other applications like robotics. The contractor shall generate the following specifications and documentation: system design review presentations, software development plans, software requirements, interface requirements, interface definitions, detailed designs, technical notes, unit test results, test plans, test descriptions, test results and user guides. The contractor must be prepared to tailor the development approach and documentation requirements to be commensurate with sponsor, NCST, budget, schedule and risk constraints.
2.4.1.1 The contractor shall analyze the embedded software library and reapply proven techniques and/or develop new modules to satisfy mission requirements. The contractor shall certify rapid prototyping and reuse of common software tools, standards and proven practices through the complete development, maintenance, and configuration control process. The contractor shall employ the engineering process in applying real-time operating system enhancements and modifications for use on operational spacecraft and components.
2.4.1.2 The contractor shall provide software engineering support to embedded spacecraft, payload and robotic control systems. The NCST has directed a 10 year effort to develop a reusable and non-proprietary spacecraft flight software system referred to as RFA. This system has supported a wide range of programs from a highly reliable NASA manned space system to cost/schedule constrained R&D responsive missions. The contractor shall continue the growth and adaptation of the existing NCST reusable code base to existing and new NCST space missions while adhering to the following practices that promote long term and concurrent utilization of RFA:
· Mission specific software that does not extend the capabilities of RFA in a generic, general purpose way shall not coexist within the RFA code base; furthermore, projects must establish a clear boundary between mission/project code and RFA code.
· RFA shall be utilized in a manner that ensures the stability of concurrent project development; furthermore, no single project shall leverage RFA to the exclusion of other concurrent projects.
· No single project shall modify the RFA code baseline or trunk without a formal merge review with stakeholders; furthermore, no project shall actively develop within the context of the trunk.
2.4.2 Embedded Software Engineering Tools
The contractor shall utilize the existing NCST tool sets that comprise the infrastructure used over the full flight software development life cycle. These tools encompass requirements tracking, interface definition, modeling, simulation, auto-code generation, auto document generation, operating systems, integrated development environments, computer aided software engineering, compilers, configuration management, problem tracking, unit test tool sets, static code analysis tools, runtime code analysis tools, performance monitoring tools, test requirement tracking, test result tracking and Programmable Read Only Memory (PROM)/Electrically Erasable Programmable Read Only Memory (EEPROM) programming techniques. Embedded software support often requires the tight integration with Field-Programmable Gate Array (FPGAs). The contractor shall develop FPGA designs in HDLs. In addition to providing expertise required to adequately utilize the existing tools sets, the contractor shall support NCST in expanding the role of automated tools and providing the means to integrate these tools into the NCST software development process.
Tool sets will include but are not limited to:
| Databases: |
| Oracle, Sybase, Microsoft Access, MySQL |
| Code Analysis Tools: |
| Lint, Purify, Pure Coverage, Wind River Tornado, Klocwork |
| CASE: |
| Rational Rose, Enterprise Architect UML Modeling |
| CM: |
| CVS, WinCVS, SVN, TortoiseSVN, Clearcase, SourceSafe, Git |
| Problem Tracking: |
| ClearDDTS, Bugzilla, JIRA |
| Document Generation: |
| Microsoft Word, ADOBE PDF |
| Requirements Tracking: |
| DOORS, SQL and Access Based Databases, Jama |
| Test Tracking: |
| SQL and Access Based Databases, Neptune™ software |
| Automated Testing: |
| Neptune™ software, C++ Test Coding Standards, CppUnit |
Testing
| Operating Systems: |
| Solaris, Windows, VxWorks, Realtime and COTS Linux variants |
| Compilers/Languages: |
| Macro Assembler, C, C++, Visual Basic, Python, Perl, |
FORTRAN
| Modeling and Simulation: |
| Matlab/Simulink |
| EEPROM/PROM Programmers: |
| BPM Microsystems |
| IDEs: |
| Solaris IDE, Microsoft Visual Studio Software Development, IAR, Keil |
| FPGA: |
| Xilinx toolsets |
These tools encompass requirements tracking, interface definition, modeling, simulation, auto-code generation, auto document generation, operating systems, integrated development environments, computer aided software engineering, compilers, configuration management, problem tracking, unit test tool sets, static code analysis tools, runtime code analysis tools, performance monitoring tools, test requirement tracking, test result tracking and PROM/EEPROM programming techniques.
2.4.3 Embedded Platforms for Flight Software
To support the Flight Software embedded subsystems, the contractor must show extensive experience with radiation hardened embedded processors, memory constrained systems, processor bandwidth constrained systems, I/O constrained systems, embedded operating systems, command reception & processing, telemetry acquisition & reporting, diagnostics, spacecraft avionics and payload interfaces, memory and log management, redundant systems, fault detection isolation and recovery algorithms, spacecraft subsystem closed loop control, attitude determination & control algorithms, guidance & navigation algorithms, spacecraft autonomy and onboard data reduction & analysis.
The contractor shall support software components compatible with embedded processors including but not limited to 8051 microcontrollers, R3000 MIPS processors and PowerPC based processors. The contractor shall apply the techniques and design approaches necessary to maximize the application of existing software components, maximize the potential for future reuse, expand the functionality of the existing code base to support new requirements, incorporate generic and non-proprietary flight components and concepts from other organizations and adhere to existing and emerging interface standards. The requirements, complexity and performance of flight software components are highly dependent on the embedded hardware architecture and hardware interfaces. The contractor shall provide digital hardware design, FPGA capabilities and digital interface protocols to the extent that the contractor can coordinate with digital hardware designers to develop a balanced approach that will help minimize overall system complexity and cost. The specification of the design, development and implementation of the embedded software systems shall require expertise in the area of fault tolerant control systems with emphasis on attitude control, fault tolerance and safety compliance.
2.4.4 Embedded Software System Skill Set
The contractor shall provide the following components:
· Embedded software system design and documentation
· Embedded software development environments
· Embedded software problem tracking, CM and release engineering
· Embedded real-time and near real-time operating systems
· Operating system integration with embedded processors
· Embedded device drivers
· Interrupt service routines
· Exception processing
· Diagnostic tool sets compatible with operating systems, embedded applications, embedded hardware and test sets
· Performance monitoring and performance improvement techniques
· Built-in-tests
· Software and hardware redundancy techniques
· Standardized inter-task and inter-processor communication techniques
· Resource management (memory, logs, parameter tables, configuration tables, priorities, locks, task control)
· Telemetry acquisition, reporting, and logging
· Command acceptance, distribution, disposition, and logging
· Closed loop control in support of spacecraft or payload power, thermal, mechanical, propulsion, ordnance, and radio frequency subsystems
· Attitude determination sensors and algorithms
· Attitude control actuators and algorithms
· Position knowledge algorithms
· Delta-V Control
· Time knowledge and maintenance algorithms
· Payload data interface and data handling techniques
· Hardware protection techniques
· Fault detection, isolation, and recovery techniques
· Autonomous Tasking
· Auto-code generation
· Embedded hardware integration
· Embedded hardware testing
· Embedded software test planning and test execution
· Embedded hardware test planning and test execution
2.4.5 Software System Engineering Contributions to System Design The contractor shall provide technical proposals; flight component software requirements and design; interface control descriptions and documentation; liaison meetings between hardware and structural engineering personnel; test system requirements and design; and spacecraft avionics requirements and design. The contractor shall provide engineering and development support for system, subsystem and component level prototyping and path-finding tasks.
2.4.6 Flight Software Engineering Contributions to Mission Operations The contractor shall support spacecraft flight operations from final acceptance testing to launch through mission operations. The contractor shall support development of nominal mission and anomaly resolution procedures, and implementation of automated ground and flight based procedures. The contractor shall provide operational scenario test development for flight hardware, flight software, ground station compatibility and training. The contractor shall provide support to the flight operations team during launch and mission operations as required for the mission or when determined necessary by the COR.
2.5 VMOC Software
The contractor shall provide software engineering development, maintenance, enhancement and configuration management support for all components contained within the VMOC™ software framework under the direction of the VMOC™ Program Management and Software Engineering teams. The NCST has developed, maintained and enhanced the VMOC™ software for over 10 years. The VMOC™ Software is a government-owned software framework that provides a set of reusable components to provide satellite mission management services, including collection requirement management, planning services, scheduling, and real-time operations. The software executes on the Linux operating system with the ability to support applications on Windows/PC devices. The VMOC™ software is being distributed to other Government and industry agencies but its distribution is controlled by NRL.
The software is written utilizing Java Enterprise Edition (JEE) technology for server-side processing, with Oracle Database providing persistent storage. The UI is web based heavily leveraging JavaScript with frameworks such as ExtJS. The software is deployed onto a JEE application server.
All software developed under this contract is Government owned with unlimited rights and the contractor and all subcontractors retain no rights to the software.
2.5.1 Mission Unique Software (MUS)
The contractor shall provide system engineering, development, testing, integration, and documentation of VMOC™ MUS to support specific satellite missions or mission sets, based on mission requirements, based on guidance from VMOC™ system engineers, and other Subject Matter Experts. Types of MUS include but are not limited to:
· Sensor plugins containing satellite and satellite payload constraints, sensor capability description, and other software needed to perform mission management on that satellite
· Prioritization and other satellite resource management software components
· External system integration software in areas such as task request ingest, TT&C system interface
· Testing and validation software
· Database scripts and application server configuration files necessary to execute delivered MUS
2.5.2 Framework Development
The contractor shall provide system engineering, development, testing, integration, and documentation of the VMOC™ software framework. This component of the VMOC™ architecture provides basic services common to all mission operations environments, including:
· User authentication and authorization
· Other administrative services such as workgroups, user organizations, etc.
· Secure access to software components
· Logging services
· Orbit propagation and other geometry services
· Task request/collection requirement management services
· Workflow configuration services
· Catalog service to register satellites, satellite effects, and other mission management data
· Plugin management
· Master execution schedule services
· Region management
· Data exposure via web services (RESTful and/or SOAP)
· Notification services such as email
· User Interface component management
· Miscellaneous utilities useful to a wide subset of mission operations software
· Database scripts and application server configuration files necessary to execute delivered framework components The contractor shall identify and document software components that comprise the VMOC™ API, in collaboration with direction from the VMOC™ System Engineering team. These components shall have interfaces that are fully documented and shall support VMOC™ team efforts to provide documentation on the API.
The contractor shall provide documentation to support third party development of mission unique software to be integrated with the VMOC™ framework, documenting services listed above, build and deployment processes, and general design guidelines to building high-quality MUS.
2.5.3 Software Development Infrastructure
The Contractor shall configure and maintain the software infrastructure necessary to perform VMOC™ software development. The infrastructure currently includes:
· 2 servers with 12 virtual machines on the NICENET (DoD Unclassified network)
· 1 server with 8 virtual machines on an SCI-level network The contractor shall maintain a reference development virtual machine; provide copies of that virtual machine on the NRL infrastructure or to external parties as directed. The reference virtual machine shall:
· Contain all necessary COTS products which are installed on development machines
· Ensure machines comply with all relevant NRL Information Assurance (IA) regulations, including performing security patches on the OS and COTS components when necessary
· Have appropriate network configuration to connect to the relevant network For copies maintained on the NRL infrastructure, the contractor shall provide account management and login credential maintenance.
2.5.4 Software Releases
The Contractor shall maintain the VMOC™ software including:
· Collecting defect reports and enhancement requests from all users
· All reports shall be reviewed and accepted or rejected
· All accepted defects shall be prioritized and assigned to a single developer for resolution
· All steps to resolution shall be documented, tracked and reported
· All resolutions shall be verified prior to closing
· Any defect or resolution that will significantly impact the current capability will be reported to the VMOC™ System Engineering team for final adjudication
· Requests for enhancements shall follow a similar process
· Software Engineering practices shall be documented and submitted to the COR for review and approval
· Implement a configuration management system to ensure changes to the code are tracked and controlled, and that separate development branches can be developed independently and merged back together reliably
· Implement and maintain a continuous integration system to perform periodic regression testing on VMOC™ framework and mission unique software components
· Use a defect tracking system to ensure all defects and enhancement requests are properly tracked from identification to closure
· Use industry standard tools to check and track the quality of the software being produced
2.5.5 Information Assurance (IA) Support
The contractor shall provide IA support including:
· Analysis and documentation of relevant VMOC™ software and infrastructure to support IA requirements
· Technical and meeting support with VMOC™ team and IA approving authorities
· Perform scans and deliver scan results to meet IA requirements
· Perform IA fixes to operating system, COTS software, and VMOC™ software to remedy IA findings in consultation with VMOC™ System Engineering and Program Management
2.6 Other Software
The contractor shall provide computer system administration and communication system development. These capabilities include: server configuration and maintenance; workstation configuration and maintenance; relational database design, configuration and maintenance; configuration management; error tracking, reporting, resolution, and documentation; and communication network design, development, administration, and trouble-shooting. The contractor shall provide software expertise and experience with real-time embedded systems, reconfigurable computers as well as Windows and Linux-based workstations.
2.6.1 Mission Simulation
The contractor shall support the NCST Mission Simulation Software. The NCST approach is to use a common simulation software approach to support the CT&DH, Flight Software, Payload and Spacecraft development, integration and test activities. Furthermore, the NCST approach is to develop the Mission Simulation software such that it will provide a high fidelity spacecraft simulation capability when used in HWIL configurations. The existing mission simulation software code base is comprised of an embedded component and a supporting Neptune™ application layer component. These components shall be reused and/or adapted to future spacecraft and payload development efforts. The contractor shall support the growth and adaptation of the existing NCST reusable simulation code base to existing and new space missions. In support of Mission Simulation Software system deployments, the contractor shall provide hardware interface protocols, interface testing, spacecraft component modeling, spacecraft dynamics modeling, orbit modeling, sensor field of view modeling, time synchronization, propulsion system modeling, thermal modeling, mechanism modeling, and electrical power system modeling.
2.6.1.1 The contractor shall support the design, development and deployment of the Mission Simulation software components. The contractor shall support the generation of the following specifications and documentation: system design review presentations, software development plan, software requirements, interface requirements, interface definitions, detailed design, technical notes, unit test results, test plan, test descriptions, test results and user guides. The contractor shall tailor the development approach and documentation requirements to be commensurate with sponsor, NCST, budget, schedule and risk constraints. The contractor shall apply the techniques and design approaches necessary to maximize the application of existing software components, maximize the potential for future reuse, expand the functionality of the existing code base to support new requirements, incorporate generic and non-proprietary simulation and modeling software components & concepts from other organizations, and adhere to existing and emerging interface standards.
2.6.2 Infrastructure Support
The contractor shall provide System Administration for all related computer operating systems used in performance of…
This is the start of the file's text. The full file is on GovTribe.
File details come from the government source that posted it. Updated .