Search NASA⌕ Search

SEARCH · Search NASA

Results for “software reuse”

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 271 records · Page 15

Statistical and Probabilistic Extensions to Ground Operations' Discrete Event Simulation Modeling

NASA's human exploration initiatives will invest in technologies, public/private partnerships, and infrastructure, paving the way for the expansion of human civilization into the solar system and beyond. As it is has been for the past half century, the Kennedy Space Center will be the embarkation point for humankind's journey into the cosmos. Functioning as a next generation space launch complex, Kennedy's launch pads, integration facilities, processing areas, launch and recovery ranges will bustle with the activities of the world's space transportation providers. In developing this complex, KSC teams work through the potential operational scenarios: conducting trade studies, planning and budgeting for expensive and limited resources, and simulating alternative operational schemes. Numerous tools, among them discrete event simulation (DES), were matured during the Constellation Program to conduct such analyses with the purpose of optimizing the launch complex for maximum efficiency, safety, and flexibility while minimizing life cycle costs. Discrete event simulation is a computer-based modeling technique for complex and dynamic systems where the state of the system changes at discrete points in time and whose inputs may include random variables. DES is used to assess timelines and throughput, and to support operability studies and contingency analyses. It is applicable to any space launch campaign and informs decision-makers of the effects of varying numbers of expensive resources and the impact of off nominal scenarios on measures of performance. In order to develop representative DES models, methods were adopted, exploited, or created to extend traditional uses of DES. The Delphi method was adopted and utilized for task duration estimation. DES software was exploited for probabilistic event variation. A roll-up process was used, which was developed to reuse models and model elements in other less - detailed models. The DES team continues to innovate and expand DES capabilities to address KSC's planning needs.

Trocine, Linda↗

Using program visualization to enhance maintainability and promote reuse

Our intuition is that comprehension of visual representations is often quicker than of equivalent text. In the work described in this paper, we explore the application of this intuition to programming languages. The goal of this project is to create visual representation of segments of computer programs that improve the maintenance and reusability of this code. We describe a software tool, a program browser, that provides a visual representation of the function call graph of any C program. This tool is the first in a series of tools that aids program comprehension, making reuse of existing programs more likely. The development of the program browser is itself an example of code reuse as described in the section on implementation. Although our intuition is that some visual display of programs aid understandability, we are looking for experimental verification. Several human factors experiments in this area have contradicted this intuition. We describe reasons for these contradictions, and potential solutions to overcome them.

Ames, Chuck↗

Automated Inspection of the RSRM Case O-Ring Seal Surface

An automated inspection system has been developed to inspect the o-ring sealing surfaces on the Space Shuttle reusable solid rocket motor (RSRM) case segment joints. A laser digitizing system is used to create a three dimensional map of the o-ring sealing surfaces. This data is analyzed for any irregularities, which are noted for further inspection and disposition. This paper describes both the hardware and the software used to gather data as well as the methods developed to analyze the data. The RSRM is assembled from four casting segments. Each of the field joints between these segments is sealed with three o-rings. These o-rings are critical for the proper operation of the motor. After launch the booster segments are recovered and reused. As part of the refurbishment process the o-ring sealing surfaces are inspected for any irregularities. The system developed uses a combination of commercial and customized hardware and software. The system uses two computer systems in a real time environment to control a laser, an XYZ precision table, and case rotation and position information. The system is capable of inspecting both the tang end and the clevis end of the RSRM field joint. The o-ring grooves and flat sealing surfaces are inspected.

ODell, Keith P.↗

Deep Space Systems Technology Program Future Deliveries

NASA is in a period of frequent launches of low cost deep space missions with challenging performance needs. The modest budgets of these missions make it impossible for each to develop its own technology, therefore, efficient and effective development and insertion of technology for these missions must be approached at a higher level than has been done in the past. The Deep Space Systems Technology Program (DSST), often referred to as X2000, has been formed to address this need. The program is divided into a series of "Deliveries" that develop and demonstrate a set of spacecraft system capabilities with broad applicability for use by multiple missions. The First Delivery Project, to be completed in 2001, will provide a one MRAD-tolerant flight computer, power switching electronics, efficient radioisotope power source, and a transponder with services at 8.4 GHz and 32 GHz bands. Plans call for a Second Delivery in late 2003 to enable complete deep space systems in the 10 to 50 kg class, and a Third Delivery built around Systems on a Chip (extreme levels of electronic and microsystems integration) around 2006. Formulation of Future Deliveries (past the First Delivery) is ongoing and includes plans for such developments as highly miniaturized digital/analog/power electronics, optical communications, multifunctional structures, miniature lightweight propulsion, advanced thermal control techniques, highly efficient radioisotope power sources, and a unified flight ground software architecture to support the needs of future highly intelligent space systems. All developments are targeted at broad applicability and reuse, and will be commercialized within the US.

Salvo, Christopher G.↗

Big Software for SmallSats: Adapting CFS to CubeSat Missions

Expanding capabilities and mission objectives for SmallSats and CubeSats is driving the need for reliable, reusable, and robust flight software. While missions are becoming more complicated and the scientific goals more ambitious, the level of acceptable risk has decreased. Design challenges are further compounded by budget and schedule constraints that have not kept pace. NASA's Core Flight Software System (cFS) is an open source solution which enables teams to build flagship satellite level flight software within a CubeSat schedule and budget. NASA originally developed cFS to reduce mission and schedule risk for flagship satellite missions by increasing code reuse and reliability. The Lunar Reconnaissance Orbiter, which launched in 2009, was the first of a growing list of Class B rated missions to use cFS. Large parts of cFS are now open source, which has spurred adoption outside of NASA. This paper reports on the experiences of two teams using cFS for current CubeSat missions. The performance overheads of cFS are quantified, and the reusability of code between missions is discussed. The analysis shows that cFS is well suited to use on CubeSats and demonstrates the portability and modularity of cFS code.

Open Source↗

Detection and avoidance of errors in computer software

The acceptance test errors of a computer software project to determine if the errors could be detected or avoided in earlier phases of development. GROAGSS (Gamma Ray Observatory Attitude Ground Support System) was selected as the software project to be examined. The development of the software followed the standard Flight Dynamics Software Development methods. GROAGSS was developed between August 1985 and April 1989. The project is approximately 250,000 lines of code of which approximately 43,000 lines are reused from previous projects. GROAGSS had a total of 1715 Change Report Forms (CRFs) submitted during the entire development and testing. These changes contained 936 errors. Of these 936 errors, 374 were found during the acceptance testing. These acceptance test errors were first categorized into methods of avoidance including: more clearly written requirements; detail review; code reading; structural unit testing; and functional system integration testing. The errors were later broken down in terms of effort to detect and correct, class of error, and probability that the prescribed detection method would be successful. These determinations were based on Software Engineering Laboratory (SEL) documents and interviews with the project programmers. A summary of the results of the categorizations is presented. The number of programming errors at the beginning of acceptance testing can be significantly reduced. The results of the existing development methodology are examined for ways of improvements. A basis is provided for the definition is a new development/testing paradigm. Monitoring of the new scheme will objectively determine its effectiveness on avoiding and detecting errors.

Kinsler, Les↗

Integrating the Science Opportunity Analyzer with a Reusable Opportunity Search Framework

In our interactions with the Science Opportunity Analyzer (SOA) software, we recognized how its ability to search for geometric events in space is a need for robotic space missions in general. To satisfy this need, we propose the Tychonis framework, which is built upon the principles of: (1) separations of concerns, (2) extensibility, (3) reusability, and (4) independent verification and validation. Tychonis’ separation of concerns results in the availability of different constructs to model geometric events and search for them. These constructs can be extended by users as needed and reused across missions without changes. Given the low coupling between concerns, and the fact Tychonis can be augmented in isolation, its constructs can be validated independently from other pieces of software. This paper elaborates on these topics and presents an integration case study between Tychonis and SOA that relies on the concept of dynamic integration. Dynamic integration entails that augmentations of the framework are reflected automatically in the host application without any changes to the host application’s code. The SOA-Tychonis integration case study can be extrapolated to other tools that need to search for geometric events as the pattern repeats across implementations: (i) the manipulation of a user interface to model opportunities, (ii) the execution of algorithms to search for opportunities, and (iii) the presentation of search results to users. Overall, Tychonis’ is a story about how the application of proven software principles and good design choices can reduce risk and cost to space missions

Soria, Manel↗

Ada developers' supplement to the recommended approach

This document is a collection of guidelines for programmers and managers who are responsible for the development of flight dynamics applications in Ada. It is intended to be used in conjunction with the Recommended Approach to Software Development (SEL-81-305), which describes the software development life cycle, its products, reviews, methods, tools, and measures. The Ada Developers' Supplement provides additional detail on such topics as reuse, object-oriented analysis, and object-oriented design.

Kester, Rush↗

Goal-Driven Definition of Product Metrics Based on Properties

Defining product metrics requires a rigorous and disciplined approach, because useful metrics depend, to a very large extent, on one's goals and assumptions about the studied software process. Unlike in more mature scientific fields, it appears difficult to devise a "universal" set of metrics in software engineering, that can be used across application environments. We propose an approach for the definition of product metrics which is driven by the experimental goals of measurement, expressed via the Goal/Question/Metric (GQM) paradigm, and is based on the mathematical properties of the metrics. This approach integrates several research contributions from the literature into a consistent, practical and rigorous approach. The approach we outline should not be considered as a complete and definitive solution, but as a starting point for discussion about a product metric definition approach widely accepted in the software engineering community. At this point, we intend to provide an intellectual process that we think is necessary to define sound software product metrics. A precise and complete documentation of such an approach will provide the information needed to make the assessment and reuse of a new metric possible. Thus, product metrics are supported by a solid theory which facilitates their review and refinement. Moreover, their definition is made less exploratory and, as a consequence, one is less likely to identify spurious correlations between process and product metrics.

Briand, Lionel↗

Update on PISCES

An updated version of the Platform Independent Software Components for the Exploration of Space (PISCES) software library is available. A previous version was reported in Library for Developing Spacecraft-Mission-Planning Software (MSC-22983), NASA Tech Briefs, Vol. 25, No. 7 (July 2001), page 52. To recapitulate: This software provides for Web-based, collaborative development of computer programs for planning trajectories and trajectory- related aspects of spacecraft-mission design. The library was built using state-of-the-art object-oriented concepts and software-development methodologies. The components of PISCES include Java-language application programs arranged in a hierarchy of classes that facilitates the reuse of the components. As its full name suggests, the PISCES library affords platform-independence: The Java language makes it possible to use the classes and application programs with a Java virtual machine, which is available in most Web-browser programs. Another advantage is expandability: Object orientation facilitates expansion of the library through creation of a new class. Improvements in the library since the previous version include development of orbital-maneuver- planning and rendezvous-launch-window application programs, enhancement of capabilities for propagation of orbits, and development of a desktop user interface.

Pearson, Don↗

Reuse research plans at Langley Research Center

The reuse activities at Langley have centered on the development of the Eli System by SPS. The development of a computer systems design environment at Langley was described as a target application for the future Eli system. This environment combines software development tools with an architecture design and analysis tool. Specifically, a Computer-Aided Software Engineering (CASE) system, under development at Charles Stark Draper Laboratory for Langley, is being used to generate Ada code for use in architecture functional simulations using the Architecture Design and Assessment System (ADAS). The Eli system will be included in this tool set and will be used to organize and promote reuse of the functional simulation code modules.

Voigt, Susan J.↗

Defining Factors, Goals and Criteria for Reusable Component Evaluation

This paper presents an approach for defining evaluation criteria for reusable software components. We introduce a taxonomy of factors that influence selection, describe each of them, and present a hierarchical decomposition method for deriving reuse goals from factors and formulating the goals into an evaluation criteria hierarchy. We present some highlights from two case studies in which the approach was applied. The approach presented in this paper is a part of the Off-The-Shelf Option (OTSO) method that has been developed for reuseable component selection process.

Kontio, Jyrki↗

Integrated Computational Materials Engineering (ICME) Capability Maturity Levels for Ecosystems Enabling Digital Transformation

Digital engineering (DE) and integrated computational materials engineering (ICME) are widely recognized as critical enablers of faster, more affordable, and more reliable aerospace systems. However, many organizations have struggled to realize the promised return on investment (ROI) from digital initiatives. A primary reason is the absence of a shared, decision-focused framework that distinguishes simple digitization of existing workflows from true digital transformation that fundamentally changes how engineering decisions are made. This paper introduces an ICME capability maturity framework that fills this gap. The framework defines six cumulative ICME capability maturity levels (CMLs), explicitly tied to decision authority, engineering integration, optimization, and uncertainty management across material, process, structure, and performance scales. It is designed to complement established readiness metrics such as technology readiness levels (TRLs), manufacturing readiness levels (MRLs), and integration readiness levels (IRLs), by addressing a missing dimension: the conditions required for model-informed decision authority across scales. A unifying figure and capability table illustrate the six-level ICME Capability Maturity Framework, showing how organizations progress from digitization—with limited or negative ROI—to true digital transformation, where ICME-enabled workflows deliver measurable improvements in decision quality, cycle time, risk reduction, and reuse. The framework is intended for both technical practitioners and executive leadership, providing a common language to assess current state, guide roadmaps, align software ecosystem investments, and set realistic expectations for digital transformation outcomes. A regulatory-relevant statement clarifying the relationship between ICME capability and existing certification frameworks is provided.

ICME↗

NASA Data Acquisition System Software Development for Rocket Propulsion Test Facilities

Current NASA propulsion test facilities include Stennis Space Center in Mississippi, Marshall Space Flight Center in Alabama, Plum Brook Station in Ohio, and White Sands Test Facility in New Mexico. Within and across these centers, a diverse set of data acquisition systems exist with different hardware and software platforms. The NASA Data Acquisition System (NDAS) is a software suite designed to operate and control many critical aspects of rocket engine testing. The software suite combines real-time data visualization, data recording to a variety formats, short-term and long-term acquisition system calibration capabilities, test stand configuration control, and a variety of data post-processing capabilities. Additionally, data stream conversion functions exist to translate test facility data streams to and from downstream systems, including engine customer systems. The primary design goals for NDAS are flexibility, extensibility, and modularity. Providing a common user interface for a variety of hardware platforms helps drive consistency and error reduction during testing. In addition, with an understanding that test facilities have different requirements and setups, the software is designed to be modular. One engine program may require real-time displays and data recording; others may require more complex data stream conversion, measurement filtering, or test stand configuration management. The NDAS suite allows test facilities to choose which components to use based on their specific needs. The NDAS code is primarily written in LabVIEW, a graphical, data-flow driven language. Although LabVIEW is a general-purpose programming language; large-scale software development in the language is relatively rare compared to more commonly used languages. The NDAS software suite also makes extensive use of a new, advanced development framework called the Actor Framework. The Actor Framework provides a level of code reuse and extensibility that has previously been difficult to achieve using LabVIEW. The

Herbert, Phillip W., Sr.↗

AMPHION: Specification-based programming for scientific subroutine libraries

AMPHION is a knowledge-based software engineering (KBSE) system that guides a user in developing a diagram representing a formal problem specification. It then automatically implements a solution to this specification as a program consisting of calls to subroutines from a library. The diagram provides an intuitive domain oriented notation for creating a specification that also facilitates reuse and modification. AMPHION'S architecture is domain independent. AMPHION is specialized to an application domain by developing a declarative domain theory. Creating a domain theory is an iterative process that currently requires the joint expertise of domain experts and experts in automated formal methods for software development.

Lowry, Michael↗

The Cumulus Ecosystem: Open Source and Beyond to Foster Collaboration

NASA’s Earth Observing System Data and Information System (EOSDIS) open source Cumulus software is designed as a common set of code and services that can be used to create a pipeline to deliver and manage earth science data in the cloud. Cumulus strives to create an ecosystem on the foundation of open source that unites those with shared problems and goals by encouraging users to contribute solutions back to the platform. Large parts of ingesting and managing data are common and much of what is created can be used by others. Our goal is to maximize collaboration and code reuse while allowing users to design a custom solution that meets their needs without having to take on extraneous functionality. In this talk we will describe how the Cumulus ecosystem works beyond just open source software. We will review the technology, the successes and challenges, and the evolution and future of Cumulus as an ecosystem.

Cumulus↗

Recent SEL experiments and studies

The studies discussed in this paper are all examples of activities that are performed as part of the Software Engineering Laboratory's (SEL's) process improvement model. Using this model, the SEL starts by understanding the product and process, then assesses the impact of new technologies, and finally packages what was learned. The preliminary examination of maintenance effort, error, and change profiles to establish a maintenance baseline exemplifies understanding-phase activities. The ongoing testing study that is examining the effects of various testing approaches on process and product measures is an example of typical assessing efforts. Finally, the derivation of cost and schedule estimation models from locally driven factors such as reuse level, application type, and language is an example of experience packaging. In the SEL, no study is ever really completed. Studies will be repeated and iterated upon in the future as part of the ongoing software improvement process.

Pajerski, Rose↗

The NASA Technical Report Server

The National Aeronautics and Space Act of 1958 established NASA and charged it to "provide for the widest practicable and appropriate dissemination of information concerning its activities and the results thereof." The search for innovative methods to distribute NASA's information lead a grass-roots team to create the NASA Technical Report Server (NTRS), which uses the World Wide Web and other popular Internet-based information systems as search engines. The NTRS is an inter-center effort which provides uniform access to various distributed publication servers residing on the Internet. Users have immediate desktop access to technical publications from NASA centers and institutes. The NTRS is comprised of several units, some constructed especially for inclusion in NTRS, and others that are existing NASA publication services that NTRS reuses. This paper presents the NTRS architecture, usage metrics, and the lessons learned while implementing and maintaining the service. The NTRS is largely constructed with freely available software running on existing hardware. NTRS builds upon existing hardware and software, and the resulting additional exposure for the body of literature contained ensures that NASA's institutional knowledge base will continue to receive the widest practicable and appropriate dissemination.

Nelson, Michael L.↗