Search NASA⌕ Search

SEARCH · Search NASA

Results for “embedded system software”

Search indexed NASA NTRS and DOE OSTI research on propulsion, heat transfer, battery materials and energy systems. Follow report and document links to the original sources.

Quote a phrase for an exact phrase match. Source license links do not imply unrestricted reuse.

At least 37 records · Page 2

Initial flight qualification and operational maintenance of X-29A flight software

This paper is predominantly a nontechnical discussion of some significant aspects of the initial flight qualification and operational maintenance of the flight control system software for the X-29A technology demonstrator. Flight qualification and maintenance of complex, embedded flight control system software poses unique problems. The X-29A technology demonstrator aircraft has a digital flight control system which incorporates functions generally considered too complex for analog systems. Organizational responsibilities, software assurance issues, tools, and facilities are discussed.

Earls, Michael R.↗

Demonstration of the Dynamic Flowgraph Methodology using the Titan 2 Space Launch Vehicle Digital Flight Control System

Dynamic Flowgraph Methodology (DFM) is a new approach developed to integrate the modeling and analysis of the hardware and software components of an embedded system. The objective is to complement the traditional approaches which generally follow the philosophy of separating out the hardware and software portions of the assurance analysis. In this paper, the DFM approach is demonstrated using the Titan 2 Space Launch Vehicle Digital Flight Control System. The hardware and software portions of this embedded system are modeled in an integrated framework. In addition, the time dependent behavior and the switching logic can be captured by this DFM model. In the modeling process, it is found that constructing decision tables for software subroutines is very time consuming. A possible solution is suggested. This approach makes use of a well-known numerical method, the Newton-Raphson method, to solve the equations implemented in the subroutines in reverse. Convergence can be achieved in a few steps.

Yau, M.↗

High performance VLSI telemetry data systems

NASA's deployment of major space complexes such as Space Station Freedom (SSF) and the Earth Observing System (EOS) will demand increased functionality and performance from ground based telemetry acquisition systems well above current system capabilities. Adaptation of space telemetry data transport and processing standards such as those specified by the Consultative Committee for Space Data Systems (CCSDS) standards and those required for commercial ground distribution of telemetry data, will drive these functional and performance requirements. In addition, budget limitations will force the requirement for higher modularity, flexibility, and interchangeability at lower cost in new ground telemetry data system elements. At NASA's Goddard Space Flight Center (GSFC), the design and development of generic ground telemetry data system elements, over the last five years, has resulted in significant solutions to these problems. This solution, referred to as the functional components approach includes both hardware and software components ready for end user application. The hardware functional components consist of modern data flow architectures utilizing Application Specific Integrated Circuits (ASIC's) developed specifically to support NASA's telemetry data systems needs and designed to meet a range of data rate requirements up to 300 Mbps. Real-time operating system software components support both embedded local software intelligence, and overall system control, status, processing, and interface requirements. These components, hardware and software, form the superstructure upon which project specific elements are added to complete a telemetry ground data system installation. This paper describes the functional components approach, some specific component examples, and a project example of the evolution from VLSI component, to basic board level functional component, to integrated telemetry data system.

Chesney, J.↗

The embedded software life cycle - An expanded view

Six common issues that are encountered in the development of software for embedded computer systems are discussed from the perspective of their interrelationships with the development process and/or the system itself. Particular attention is given to concurrent hardware/software development, prototyping, the inaccessibility of the operational system, fault tolerance, the long life cycle, and inheritance. It is noted that the life cycle for embedded software must include elements beyond simply the specification and implementation of the target software.

Larman, Brian T.↗

Initial flight qualification and operational maintenance of X-29A flight software

A discussion is presented of some significant aspects of the initial flight qualification and operational maintenance of the flight control system softward for the X-29A technology demonstrator. Flight qualification and maintenance of complex, embedded flight control system software poses unique problems. The X-29A technology demonstrator aircraft has a digital flight control system which incorporates functions generally considered too complex for analog systems. Organizational responsibilities, software assurance issues, tools, and facilities are discussed.

Earls, Michael R.↗

Use of Soft Computing Technologies For Rocket Engine Control

The problem to be addressed in this paper is to explore how the use of Soft Computing Technologies (SCT) could be employed to further improve overall engine system reliability and performance. Specifically, this will be presented by enhancing rocket engine control and engine health management (EHM) using SCT coupled with conventional control technologies, and sound software engineering practices used in Marshall s Flight Software Group. The principle goals are to improve software management, software development time and maintenance, processor execution, fault tolerance and mitigation, and nonlinear control in power level transitions. The intent is not to discuss any shortcomings of existing engine control and EHM methodologies, but to provide alternative design choices for control, EHM, implementation, performance, and sustaining engineering. The approaches outlined in this paper will require knowledge in the fields of rocket engine propulsion, software engineering for embedded systems, and soft computing technologies (i.e., neural networks, fuzzy logic, and Bayesian belief networks), much of which is presented in this paper. The first targeted demonstration rocket engine platform is the MC-1 (formerly FASTRAC Engine) which is simulated with hardware and software in the Marshall Avionics & Software Testbed laboratory that

Trevino, Luis C.↗

Designing a configuration control mechanism for a flight software validation facility

Embedded computer systems and supporting operating systems have recently enabled the automation of many time-critical flight functions. This automation requires the integration of computer hardware and software, aircraft hardware, and the flight application. To properly integrate and control these critical functions requires a real-time environment that is provided by the onboard flight computer, a real-time operating system, and a real-time flight application that supplies the input commands to the aircraft and responds to the resulting actions. The increased complexity of developing and testing such real-time applications can best be supported by a separate test facility that provides the processing visibility and control which is virtually impossible in the actual real-time operating environment. Such a flight software validation facility has been developed at the NASA Langley Research Center to support applications using the Shuttle real-time language HAL/S. The development and control of this facility are described. Some of the management techniques used were project schedules, status monitoring, code walk-throughs, configuration control, phased releases, validation suites, and modern programming techniques.

Smith-Taylor, R.↗

Man's role in space exploration and exploitation

The crew workloads on the Space Shuttle are described. The Space Shuttle is designed to minimize the activity of the crew in maintaining and operating the Shuttle in order for the crew to be involved in productive activities. The changing role of the crew due to the use of more automated systems on spacecraft is examined. The Shuttle flight system is dependent on embedded software, and the crew is to manage and support these systems. The primary functions of the Space Station are as a laboratory and for construction and assembly of systems, requiring EVA. Examples of EVA are presented. The correlation between manned and unmanned systems and the future direction of space research are discussed.

Loftus, Joseph P.↗

FAILSAFE Health Management for Embedded Systems

The FAILSAFE project is developing concepts and prototype implementations for software health management in mission- critical, real-time embedded systems. The project unites features of the industry-standard ARINC 653 Avionics Application Software Standard Interface and JPL s Mission Data System (MDS) technology (see figure). The ARINC 653 standard establishes requirements for the services provided by partitioned, real-time operating systems. The MDS technology provides a state analysis method, canonical architecture, and software framework that facilitates the design and implementation of software-intensive complex systems. The MDS technology has been used to provide the health management function for an ARINC 653 application implementation. In particular, the focus is on showing how this combination enables reasoning about, and recovering from, application software problems.

Horvath, Gregory A.↗

The Evolution of Software and Its Impact on Complex System Design in Robotic Spacecraft Embedded Systems

The growth in computer hardware performance, coupled with reduced energy requirements, has led to a rapid expansion of the resources available to software systems, driving them towards greater logical abstraction, flexibility, and complexity. This shift in focus from compacting functionality into a limited field towards developing layered, multi-state architectures in a grand field has both driven and been driven by the history of embedded processor design in the robotic spacecraft industry.The combinatorial growth of interprocess conditions is accompanied by benefits (concurrent development, situational autonomy, and evolution of goals) and drawbacks (late integration, non-deterministic interactions, and multifaceted anomalies) in achieving mission success, as illustrated by the case of the Mars Reconnaissance Orbiter. Approaches to optimizing the benefits while mitigating the drawbacks have taken the form of the formalization of requirements, modular design practices, extensive system simulation, and spacecraft data trend analysis. The growth of hardware capability and software complexity can be expected to continue, with future directions including stackable commodity subsystems, computer-generated algorithms, runtime reconfigurable processors, and greater autonomy.

software↗

Embedded Web Technology: Applying World Wide Web Standards to Embedded Systems

Embedded Systems have traditionally been developed in a highly customized manner. The user interface hardware and software along with the interface to the embedded system are typically unique to the system for which they are built, resulting in extra cost to the system in terms of development time and maintenance effort. World Wide Web standards have been developed in the passed ten years with the goal of allowing servers and clients to intemperate seamlessly. The client and server systems can consist of differing hardware and software platforms but the World Wide Web standards allow them to interface without knowing about the details of system at the other end of the interface. Embedded Web Technology is the merging of Embedded Systems with the World Wide Web. Embedded Web Technology decreases the cost of developing and maintaining the user interface by allowing the user to interface to the embedded system through a web browser running on a standard personal computer. Embedded Web Technology can also be used to simplify an Embedded System's internal network.

Ponyik, Joseph G.↗

Flexible Architecture for FPGAs in Embedded Systems

Commonly, field-programmable gate arrays (FPGAs) being developed in cPCI embedded systems include the bus interface in the FPGA. This complicates the development because the interface is complicated and requires a lot of development time and FPGA resources. In addition, flight qualification requires a substantial amount of time be devoted to just this interface. Another complication of putting the cPCI interface into the FPGA being developed is that configuration information loaded into the device by the cPCI microprocessor is lost when a new bit file is loaded, requiring cumbersome operations to return the system to an operational state. Finally, SRAM-based FPGAs are typically programmed via specialized cables and software, with programming files being loaded either directly into the FPGA, or into PROM devices. This can be cumbersome when doing FPGA development in an embedded environment, and does not have an easy path to flight. Currently, FPGAs used in space applications are usually programmed via multiple space-qualified PROM devices that are physically large and require extra circuitry (typically including a separate one-time programmable FPGA) to enable them to be used for this application. This technology adds a cPCI interface device with a simple, flexible, high-performance backend interface supporting multiple backend FPGAs. It includes a mechanism for programming the FPGAs directly via the microprocessor in the embedded system, eliminating specialized hardware, software, and PROM devices and their associated circuitry. It has a direct path to flight, and no extra hardware and minimal software are required to support reprogramming in flight. The device added is currently a small FPGA, but an advantage of this technology is that the design of the device does not change, regardless of the application in which it is being used. This means that it needs to be qualified for flight only once, and is suitable for one-time programmable devices or an application specific integrated circuit (ASIC). An application programming interface (API) further reduces the development time needed to use the interface device in a system.

Clark, Duane I.↗

EOS: A project to investigate the design and construction of real-time distributed Embedded Operating Systems

Project EOS is studying the problems of building adaptable real-time embedded operating systems for the scientific missions of NASA. Choices (A Class Hierarchical Open Interface for Custom Embedded Systems) is an operating system designed and built by Project EOS to address the following specific issues: the software architecture for adaptable embedded parallel operating systems, the achievement of high-performance and real-time operation, the simplification of interprocess communications, the isolation of operating system mechanisms from one another, and the separation of mechanisms from policy decisions. Choices is written in C++ and runs on a ten processor Encore Multimax. The system is intended for use in constructing specialized computer applications and research on advanced operating system features including fault tolerance and parallelism.

Campbell, R. H.↗

Reliability measurement for operational avionics software

Quantitative measures of reliability for operational software in embedded avionics computer systems are presented. Analysis is carried out on data collected during flight testing and from both static and dynamic simulation testing. Failure rate is found to be a useful statistic for estimating software quality and recognizing reliability trends during the operational phase of software development.

Thacker, J.↗

Solar Cruiser Technology Maturation Plans

The NASA Marshall Space Flight Center (MSFC) developed the Solar Cruiser mission concept to mature solar sail technology for use in future Heliophysics missions, as well as missions of interest across a broad user community (e.g., space weather and Earth polar observatories). Solar Cruiser will serve as a pathfinder for missions that observe the solar environment from unique vantage points such as a high inclination solar mission opening a fundamentally new range of observational capabilities for the Heliophysics Program and for space weather monitoring. Sustained observations away from the Sun-Earth line (SEL) present unique opportunities for answering the outstanding science questions of Heliophysics, improving space-weather monitoring and prediction, and revealing new information about our Sun and solar system. Propellantless solar sails can be used to create artificial equilibria and maintain indefinite station-keeping at locations sunward of L1 along the SEL, or at any desired offset from the SEL leading or trailing the Earth in its orbit. They can change the heliocentric inclination of a spacecraft from the ecliptic to as high as solar polar, stopping and remaining at any intermediate inclination orbit in between. Sails can be used to hover over the Earth’s poles, using solar photon pressure to offset the Earth’s gravitational attraction, creating functional equivalents of geostationary earth orbits. The Solar Cruiser mission would fly a small spacecraft with a large (>1,600 square meter) solar sail containing embedded reflectivity control devices (RCDs) and photovoltaic cells. The mission concept includes successful deployment of the solar sail, validation of all sail subsystems, controlled station-keeping inside of the Sun-Earth L1 point, attitude control of the sail with the RCDs (including spinning and de-spinning), demonstration of pointing performance for science imaging, and an increase in heliocentric inclination (out of the ecliptic). To demonstrate the requisite sail technology, the Solar Cruiser project will design, fabricate, deploy, and fly the Solar Sail Propulsion Element (SSPE). The SSPE incorporates the following three systems: • The Solar Sail System (SSS) provides the large propulsive surface required for acceleration and smaller reflectivity-changing surfaces for roll control. • The Active Mass Translator System (AMT) provides SSPE motion with respect to the sailcraft bus for pitch and yaw control. • The Solar Sail Attitude Determination and Control System (SSADCS) consists of embedded software to 1) provide autonomous sailcraft attitude estimation, attitude pointing control, and reaction wheel momentum management following sail deployment and 2) execute the uplinked inertial attitude pointing commands to maintain the desired sailcraft trajectory. The plans for maturing each of these technology systems to TRL 5 and beyond are described herein.

Solar Sail↗

Quality Attributes for Mission Flight Software: A Reference for Architects

In the international standards for architecture descriptions in systems and software engineering (ISO/IEC/IEEE 42010), "concern" is a primary concept that often manifests itself in relation to the quality attributes or "ilities" that a system is expected to exhibit - qualities such as reliability, security and modifiability. One of the main uses of an architecture description is to serve as a basis for analyzing how well the architecture achieves its quality attributes, and that requires architects to be as precise as possible about what they mean in claiming, for example, that an architecture supports "modifiability." This paper describes a table, generated by NASA's Software Architecture Review Board, which lists fourteen key quality attributes, identifies different important aspects of each quality attribute and considers each aspect in terms of requirements, rationale, evidence, and tactics to achieve the aspect. This quality attribute table is intended to serve as a guide to software architects, software developers, and software architecture reviewers in the domain of mission-critical real-time embedded systems, such as space mission flight software.

Software architecture↗

Magnetospheric Multiscale Mission (MMS) Phase 2B Navigation Performance

The Magnetospheric Multiscale (MMS) formation flying mission, which consists of four spacecraft flying in a tetrahedral formation, has challenging navigation requirements associated with determining and maintaining the relative separations required to meet the science requirements. The baseline navigation concept for MMS is for each spacecraft to independently estimate its position, velocity and clock states using GPS pseudorange data provided by the Goddard Space Flight Center-developed Navigator receiver and maneuver acceleration measurements provided by the spacecraft's attitude control subsystem. State estimation is performed onboard in real-time using the Goddard Enhanced Onboard Navigation System flight software, which is embedded in the Navigator receiver. The current concept of operations for formation maintenance consists of a sequence of two maintenance maneuvers that is performed every 2 weeks. Phase 2b of the MMS mission, in which the spacecraft are in 1.2 x 25 Earth radii orbits with nominal separations at apogee ranging from 30 km to 400 km, has the most challenging navigation requirements because, during this phase, GPS signal acquisition is restricted to less than one day of the 2.8-day orbit. This paper summarizes the results from high-fidelity simulations to determine if the MMS navigation requirements can be met between and immediately following the maintenance maneuver sequence in Phase 2b.

Scaperoth, Paige Thomas↗

Integrated Modeling and Development of Component-Based Embedded Software in Scala

Programming of embedded systems is challenging due to the low-level design patterns normally applied in the implementation of such systems. Furthermore, programming languages normally considered suitable for this level of programming, such as C and C++, are themselves low-level compared to more modern programming languages. We report on an effort exploring modeling and programming of embedded systems in modern high-level programming languages combining object-oriented and functional programming. We present an integration of four separate internal DSLs (libraries), considered useful for embedded program- ming, in the Scala programming language, for programming and testing component-based systems. These include a DSL for defining components and their connections, and a DSL for programming the individual components as hierarchical state machines. Two additional DSLs support testing, and include a DSL for writing temporal logic flavored test oracles for monitoring program executions, and a DSL for rule-based test input generation. The paper discusses the gap between Scala as used here and the needs for embedded systems programming.

Bocchino, Robert↗