Engineering Papers⌕ Search

SEARCH · Engineering Papers

Results for “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 325 records · Page 18

Leveraging Existing Mission Tools in a Re-Usable, Component-Based Software Environment

Emerging methods in component-based software development offer significant advantages but may seem incompatible with existing mission operations applications. In this paper we relate our positive experiences integrating existing mission applications into component-based tools we are delivering to three missions. In most operations environments, a number of software applications have been integrated together to form the mission operations software. In contrast, with component-based software development chunks of related functionality and data structures, referred to as components, can be individually delivered, integrated and re-used. With the advent of powerful tools for managing component-based development, complex software systems can potentially see significant benefits in ease of integration, testability and reusability from these techniques. These benefits motivate us to ask how component-based development techniques can be relevant in a mission operations environment, where there is significant investment in software tools that are not component-based and may not be written in languages for which component-based tools even exist. Trusted and complex software tools for sequencing, validation, navigation, and other vital functions cannot simply be re-written or abandoned in order to gain the advantages offered by emerging component-based software techniques. Thus some middle ground must be found. We have faced exactly this issue, and have found several solutions. Ensemble is an open platform for development, integration, and deployment of mission operations software that we are developing. Ensemble itself is an extension of an open source, component-based software development platform called Eclipse. Due to the advantages of component-based development, we have been able to vary rapidly develop mission operations tools for three surface missions by mixing and matching from a common set of mission operation components. We have also had to determine how to integrate existing mission applications for sequence development, sequence validation, and high level activity planning, and other functions into a component-based environment. For each of these, we used a somewhat different technique based upon the structure and usage of the existing application.

Greene, Kevin↗

Guidance and Control Software Project Data - Volume 2: Development Documents

The Guidance and Control Software (GCS) project was the last in a series of software reliability studies conducted at Langley Research Center between 1977 and 1994. The technical results of the GCS project were recorded after the experiment was completed. Some of the support documentation produced as part of the experiment, however, is serving an unexpected role far beyond its original project context. Some of the software used as part of the GCS project was developed to conform to the RTCA/DO-178B software standard, "Software Considerations in Airborne Systems and Equipment Certification," used in the civil aviation industry. That standard requires extensive documentation throughout the software development life cycle, including plans, software requirements, design and source code, verification cases and results, and configuration management and quality control data. The project documentation that includes this information is open for public scrutiny without the legal or safety implications associated with comparable data from an avionics manufacturer. This public availability has afforded an opportunity to use the GCS project documents for DO-178B training. This report provides a brief overview of the GCS project, describes the 4-volume set of documents and the role they are playing in training, and includes the development documents from the GCS project. Volume 2 contains three appendices: A. Guidance and Control Software Development Specification; B. Design Description for the Pluto Implementation of the Guidance and Control Software; and C. Source Code for the Pluto Implementation of the Guidance and Control Software

Hayhurst, Kelly J.↗

Generating Safety-Critical PLC Code From a High-Level Application Software Specification

The benefits of automatic-application code generation are widely accepted within the software engineering community. These benefits include raised abstraction level of application programming, shorter product development time, lower maintenance costs, and increased code quality and consistency. Surprisingly, code generation concepts have not yet found wide acceptance and use in the field of programmable logic controller (PLC) software development. Software engineers at Kennedy Space Center recognized the need for PLC code generation while developing the new ground checkout and launch processing system, called the Launch Control System (LCS). Engineers developed a process and a prototype software tool that automatically translates a high-level representation or specification of application software into ladder logic that executes on a PLC. All the computer hardware in the LCS is planned to be commercial off the shelf (COTS), including industrial controllers or PLCs that are connected to the sensors and end items out in the field. Most of the software in LCS is also planned to be COTS, with only small adapter software modules that must be developed in order to interface between the various COTS software products. A domain-specific language (DSL) is a programming language designed to perform tasks and to solve problems in a particular domain, such as ground processing of launch vehicles. The LCS engineers created a DSL for developing test sequences of ground checkout and launch operations of future launch vehicle and spacecraft elements, and they are developing a tabular specification format that uses the DSL keywords and functions familiar to the ground and flight system users. The tabular specification format, or tabular spec, allows most ground and flight system users to document how the application software is intended to function and requires little or no software programming knowledge or experience. A small sample from a prototype tabular spec application is shown.

Source record↗

Configuring the Orion Guidance, Navigation, and Control Flight Software for Automated Sequencing

The Orion Crew Exploration Vehicle is being designed with greater automation capabilities than any other crewed spacecraft in NASA s history. The Guidance, Navigation, and Control (GN&C) flight software architecture is designed to provide a flexible and evolvable framework that accommodates increasing levels of automation over time. Within the GN&C flight software, a data-driven approach is used to configure software. This approach allows data reconfiguration and updates to automated sequences without requiring recompilation of the software. Because of the great dependency of the automation and the flight software on the configuration data, the data management is a vital component of the processes for software certification, mission design, and flight operations. To enable the automated sequencing and data configuration of the GN&C subsystem on Orion, a desktop database configuration tool has been developed. The database tool allows the specification of the GN&C activity sequences, the automated transitions in the software, and the corresponding parameter reconfigurations. These aspects of the GN&C automation on Orion are all coordinated via data management, and the database tool provides the ability to test the automation capabilities during the development of the GN&C software. In addition to providing the infrastructure to manage the GN&C automation, the database tool has been designed with capabilities to import and export artifacts for simulation analysis and documentation purposes. Furthermore, the database configuration tool, currently used to manage simulation data, is envisioned to evolve into a mission planning tool for generating and testing GN&C software sequences and configurations. A key enabler of the GN&C automation design, the database tool allows both the creation and maintenance of the data artifacts, as well as serving the critical role of helping to manage, visualize, and understand the data-driven parameters both during software development and throughout the life of the Orion project.

Odegard, Ryan G.↗

Data-Driven Software Framework for Web-Based ISS Telescience

Software that enables authorized users to monitor and control scientific payloads aboard the International Space Station (ISS) from diverse terrestrial locations equipped with Internet connections is undergoing development. This software reflects a data-driven approach to distributed operations. A Web-based software framework leverages prior developments in Java and Extensible Markup Language (XML) to create portable code and portable data, to which one can gain access via Web-browser software on almost any common computer. Open-source software is used extensively to minimize cost; the framework also accommodates enterprise-class server software to satisfy needs for high performance and security. To accommodate the diversity of ISS experiments and users, the framework emphasizes openness and extensibility. Users can take advantage of available viewer software to create their own client programs according to their particular preferences, and can upload these programs for custom processing of data, generation of views, and planning of experiments. The same software system, possibly augmented with a subset of data and additional software tools, could be used for public outreach by enabling public users to replay telescience experiments, conduct their experiments with simulated payloads, and create their own client programs and other custom software.

Tso, Kam S.↗

Predicting Software Suitability Using a Bayesian Belief Network

The ability to reliably predict the end quality of software under development presents a significant advantage for a development team. It provides an opportunity to address high risk components earlier in the development life cycle, when their impact is minimized. This research proposes a model that captures the evolution of the quality of a software product, and provides reliable forecasts of the end quality of the software being developed in terms of product suitability. Development team skill, software process maturity, and software problem complexity are hypothesized as driving factors of software product quality. The cause-effect relationships between these factors and the elements of software suitability are modeled using Bayesian Belief Networks, a machine learning method. This research presents a Bayesian Network for software quality, and the techniques used to quantify the factors that influence and represent software quality. The developed model is found to be effective in predicting the end product quality of small-scale software development efforts.

Beaver, Justin M.↗

The Effects of Development Team Skill on Software Product Quality

This paper provides an analysis of the effect of the skill/experience of the software development team on the quality of the final software product. A method for the assessment of software development team skill and experience is proposed, and was derived from a workforce management tool currently in use by the National Aeronautics and Space Administration. Using data from 26 smallscale software development projects, the team skill measures are correlated to 5 software product quality metrics from the ISO/IEC 9126 Software Engineering Product Quality standard. in the analysis of the results, development team skill is found to be a significant factor in the adequacy of the design and implementation. In addition, the results imply that inexperienced software developers are tasked with responsibilities ill-suited to their skill level, and thus have a significant adverse effect on the quality of the software product. Keywords: software quality, development skill, software metrics

Beaver, Justin M.↗

Product Engineering Class in the Software Safety Risk Taxonomy for Building Safety-Critical Systems

When software safety requirements are imposed on legacy safety-critical systems, retrospective safety cases need to be formulated as part of recertifying the systems for further use and risks must be documented and managed to give confidence for reusing the systems. The SEJ Software Development Risk Taxonomy [4] focuses on general software development issues. It does not, however, cover all the safety risks. The Software Safety Risk Taxonomy [8] was developed which provides a construct for eliciting and categorizing software safety risks in a straightforward manner. In this paper, we present extended work on the taxonomy for safety that incorporates the additional issues inherent in the development and maintenance of safety-critical systems with software. An instrument called a Software Safety Risk Taxonomy Based Questionnaire (TBQ) is generated containing questions addressing each safety attribute in the Software Safety Risk Taxonomy. Software safety risks are surfaced using the new TBQ and then analyzed. In this paper we give the definitions for the specialized Product Engineering Class within the Software Safety Risk Taxonomy. At the end of the paper, we present the tool known as the 'Legacy Systems Risk Database Tool' that is used to collect and analyze the data required to show traceability to a particular safety standard

Hill, Janice↗

Importance Ranking of Software Dependability Attributes in the Nuclear Industry

With the current transition from analog to digital instrumentation and control systems in nuclear power plants, the number and variety of software-based systems has significantly increased. Due to the sophisticated nature and the increasing complexity of software, a significant challenge faced by the nuclear industry is the trust one can place in software-based systems once they have been developed. The trust placed in software is typically termed software dependability, a qualifier which encompasses different attributes such as software reliability, safety, security, availability and maintainability. It is recognized that these attributes relate to each other in different ways under various scenarios. The detailed dependencies between software dependability attributes can be found in a previous study. With limited time and budget resources, which dependability attribute should be given the highest priority when certifying software-based systems in the nuclear industry is a fundamental question that needs to be answered. This paper addresses this problem using stakeholders' opinion elicitation. A comprehensive questionnaire was designed to elicit the goals that should be fulfilled by the nuclear industry and to collect the relative importance of the various dependability attributes for each goal. We then used the Analytical Hierarchy Process (AHP) to analyze the data and obtained the relative importance ranking of software dependability attributes in the context of a reactor protection system. The results will provide guidance to resource allocation for the certification of software dependability in the nuclear industry. (authors)

46 INSTRUMENTATION RELATED TO NUCLEAR SCIENCE AND ↗

Software Dependability for Digital Instrumentation and Control Systems in Nuclear Power Plants - Lessons Learnt from a DOE Sponsored Project

This paper discusses the lessons learnt from a sponsored study undertaken under the sponsorship of the Department of Energy by a team of scientists at the Ohio State University in collaboration with Technology Resources and experts around the world. This paper makes recommendations for future research and studies based on these lessons learnt. The purpose of the research was to provide a software dependability quantification framework that would allow its evaluation along the software development life cycle for safety critical instrumentation and control systems (I and C) such as those found in nuclear power plants. A typical example of safety critical system is the reactor protection system. The research funded by the Department of Energy built on preliminary research carried out for the US NRC that had focused solely on software reliability quantification. Quantification of software dependability is important for safety critical I and C because the regulatory framework in use in the United States for nuclear power plants is risk informed. Quantification of risk requires quantification of all contributors to risk and those include instrumentation and control systems. The purpose of the study was to help developers of software-based I and C with an early evaluation of the potential risk an application would represent at different stages of the software development life cycle by building gates at the end of each life cycle phase. Life cycle phases of software development comprehend phases such as requirements, design, coding and test. The gates' function would be to stop development from moving forward if the assessed dependability objective for that phase were not met. Gates thresholds were to be defined based on measurements collected during the life cycle phase under evaluation and phases that preceded it and an understanding of the mechanisms that would lead to threatening the dependability objectives. The information contained in the gates would in addition help steer the development towards areas that needed improvement. The following are four high level conclusions to our study. First the study demonstrates a lack of consensus on mechanisms that will threaten the dependability attributes. This lack of consensus should be resolved. The lack of consensus appears for all measures to the exception of reliability. Second, measures should be developed for software availability and safety. Third, for all dependability attributes (with the exception of reliability) consistency of the measurement threads should evaluated and measurement-based development gates derived. Finally our ability to perform such type of research depends in a significant manner on access to vendor and/or utility data. The licensing environment and the first-of-a-kind nature of current software-based applications for nuclear I and C make it difficult to collect the relevant data. An approach which would either increase access to data by providing 'immunity' to the vendor or utility or the development of a software-based I and C for the sole purpose of data collection for research should be investigated. (authors)

46 INSTRUMENTATION RELATED TO NUCLEAR SCIENCE AND ↗

Maintaining the Health of Software Monitors

Software health management (SWHM) techniques complement the rigorous verification and validation processes that are applied to safety-critical systems prior to their deployment. These techniques are used to monitor deployed software in its execution environment, serving as the last line of defense against the effects of a critical fault. SWHM monitors use information from the specification and implementation of the monitored software to detect violations, predict possible failures, and help the system recover from faults. Changes to the monitored software, such as adding new functionality or fixing defects, therefore, have the potential to impact the correctness of both the monitored software and the SWHM monitor. In this work, we describe how the results of a software change impact analysis technique, Directed Incremental Symbolic Execution (DiSE), can be applied to monitored software to identify the potential impact of the changes on the SWHM monitor software. The results of DiSE can then be used by other analysis techniques, e.g., testing, debugging, to help preserve and improve the integrity of the SWHM monitor as the monitored software evolves.

Runtime Monitor↗

2024 Software for NASA Science Mission Directorate Workshop Report

The 2024 Software for the NASA Science Mission Directorate Workshop was the first workshop of its kind in over 10 years. The numerous attendees and high level of interaction in this hybrid workshop portrayed the untapped interest and energy in the NASA SMD community about software. Over 100 takeaways were collected from the hosted discussions in four key areas - Communication, Communities, Funding and Clarity - as summarized in this report. One takeaway was representative of all four categories: “Software is not hardware; it is organic and needs a different model. You often don't know which components will be Open-Source reusable until later in the development cycle.” For the communication category, this takeaway motivates the reduction of silos by shifting towards a model that better supports community collaboration on common challenges and a more streamlined and improved software release process. For the communities category, the same statement points to forming communities of practice with varying scopes and a new approach to recognition and incentives for open-source software contributions. Concerning funding, this statement motivates a more sustained and flexible funding model that better supports the software foundation needed for NASA’s long-term success, including the collaboration and infrastructure a good foundation requires. The new approach to clarity motivated by this statement calls for significant changes to the software release process and related policies to streamline compliance, align those policies with the open-source science culture NASA is promoting and with each other, and simplify use of the cloud. It is time to recognize software as a foundational component of NASA with an organic nature not properly supported by current approaches. Different models are needed in all four areas to shift the NASA SMD software community and governance structures into a more efficient, open, and collaborative ecosystem - one that enables ground-breaking science and daring exploration into the coming decades

science↗

"Who Has Plots?": Contextualizing Scientific Software, Practice, and Visualizations

We present that software is an integral element of the work of science yet it is not commonly an object of inquiry in studies of scientific infrastructures. This paper presents findings from an ethnographic study of a cosmology group's collaborative scientific software production. We demonstrate how these cosmologists use plots to simultaneously test their software and analyze data while interrogating multiple layers of infrastructural components. We broaden perspectives on scientific software development using a sociotechnical, software studies lens to examine this work of scientific discovery as a creative and embodied, yet exacting and methodical, activity that requires a 'human in the loop'. Here, we offer a new reading of scientific software practices to convey how creating scientific software is often really the act of doing science itself--an intervention we believe is necessary to more successfully support scientific software sharing and infrastructure production.

97 MATHEMATICS AND COMPUTING↗

Multi-institutional Validation Study of Commercially Available Deformable Image Registration Software for Thoracic Images

Purpose: To assess the accuracy of the commercially available deformable image registration (DIR) software for thoracic images at multiple institutions. Methods and Materials: Thoracic 4-dimensional (4D) CT images of 10 patients with esophageal or lung cancer were used. Datasets for these patients were provided by DIR-lab ( (dir-lab.com)) and included a coordinate list of anatomic landmarks (300 bronchial bifurcations) that had been manually identified. Deformable image registration was performed between the peak-inhale and -exhale images. Deformable image registration error was determined by calculating the difference at each landmark point between the displacement calculated by DIR software and that calculated by the landmark. Results: Eleven institutions participated in this study: 4 used RayStation (RaySearch Laboratories, Stockholm, Sweden), 5 used MIM Software (Cleveland, OH), and 3 used Velocity (Varian Medical Systems, Palo Alto, CA). The ranges of the average absolute registration errors over all cases were as follows: 0.48 to 1.51 mm (right-left), 0.53 to 2.86 mm (anterior-posterior), 0.85 to 4.46 mm (superior-inferior), and 1.26 to 6.20 mm (3-dimensional). For each DIR software package, the average 3-dimensional registration error (range) was as follows: RayStation, 3.28 mm (1.26-3.91 mm); MIM Software, 3.29 mm (2.17-3.61 mm); and Velocity, 5.01 mm (4.02-6.20 mm). These results demonstrate that there was moderate variation among institutions, although the DIR software was the same. Conclusions: We evaluated the commercially available DIR software using thoracic 4D-CT images from multiple centers. Our results demonstrated that DIR accuracy differed among institutions because it was dependent on both the DIR software and procedure. Our results could be helpful for establishing prospective clinical trials and for the widespread use of DIR software. In addition, for clinical care, we should try to find the optimal DIR procedure using thoracic 4D-CT data.

62 RADIOLOGY AND NUCLEAR MEDICINE↗

Using Pilot Jobs and CernVM File System for Simplified Use of Containers and Software Distribution

High Energy Physics (HEP) experiments entail an abundance of computing resources, i.e. sites, to run simulations and analyses by processing data. This requirement is fulfilled by local batch farms, grid sites, private/commercial clouds, and supercomputing centers via High Throughput Computing (HTC). The growing needs of such experiments and resources being prone to trends of heterogeneity make it difficult for physicists to handle these resources directly. Additionally, HEP collaborations heavily rely on data and software releases, typically in the order of tens of gigabytes, while conducting simulations and analyses. Hence, aspects of scalability, reliability, and maintenance become crucial with regards to the distribution of the necessary data and software stack. The GlideinWMS [4] framework helps with the resource management problem by using pilot jobs, aka Glideins, to provision reliable elastic virtual clusters. Glideins are submitted to unreliable heterogeneous resources which are validated and customized by the Glideins to make the worker nodes available for end-user job execution. On the other hand, the CernVM File System (CernVM-FS or CVMFS) [1] helps with data distribution. It is a write-once, read-everywhere filesystem used to deploy scientific software to thousands of nodes on a worldwide distributed computing infrastructure. CVMFS is based on the Hyper Text Transfer Protocol and has been widely used within the particle physics community for (1) distributing experiment software and data such as calibrations, and (2) facilitating containerization by efficiently hosting container images along with providing containerization software, especially Singularity [3] GlideinWMS relies on CVMFS installed locally on the computing resources to satisfy the experiments' software needs. This requires system administrators' effort to install and maintain CVMFS at the sites and limits the use of sites, especially HPC resources, that do not have CVMFS installed. This poster presents a solution, taking advantage of Glideins to provide CVMFS at most sites without the need for a local installation. Doing so expands the pool of resources available for HEP experiments and reduces the effort of system administrators for current resources. Additionally, the proposed solution allows GlideinWMS to also start Singularity [3], a containerization software that can run unprivileged, on sites where neither CVMFS nor Singularity are available, including HPC sites. The benefits provided by this solution are: (1) lower overhead for site administrators in that they have less software to install, (2) an expanded pool of resources that run user jobs with easy access to software and data provided by CVMFS, thus making life easier for the scientists, and (3) improved flexibility to use HPC resources by enabling GlideinWMS pilot jobs to support HPC sites.

Urs, Namratha↗

Research software engineering: Professionalization, roles, and identity

This report summarizes the results of a study of research software professionals based on 17 interviews conducted at U.S. national laboratories and academic institutions. The study focuses on understanding the emerging professional role of research software engineer (RSE) and examining how the history of software engineering might be relevant to the emergence of research software engineering as a professional movement. The report first uses interview data to identify several models of professional identity for research software professionals. These include dominance models in which a person strongly identifies with a single professional identity (such as RSE), and multiplicity models in which an individual sees an identity like RSE as just one facet of their overall professional role. Next, it identifies three types of work situations for software professionals at national laboratories, covering those who work in dedicated RSE organizations, those who play an integral role in large multiphysics code projects, and those who work in a more isolated capacity to provide software development support for less computationally intensive research projects. It then reviews some key ideas from the sociology of professions in the context of the software engineering profession, suggesting parallels between the current RSE professional movement and aspects of the history of software engineering. It concludes by suggesting some potential practical implications of these findings for the RSE movement and professional organizations.

97 MATHEMATICS AND COMPUTING↗

The Science of Scientific Software Development and Use

Increasingly powerful and affordable computing has revolutionized scientific and scholarly discovery across a broad range of fields. Computing relies on software, which has been rapidly growing in scope, diversity, and complexity. At the same time, the methods, processes, and tools used to produce and utilize this essential software are often ad hoc, and the study and improvement of them is often done without the benefit of direct funding or prioritization. Consequently, concerns are growing about the productivity of the developers and users of scientific software, its sustainability, and the trustworthiness of the results that it produces. The US Department of Energy Office of Science (DOE-SC) is at the forefront of modern software-enabled scientific discovery across numerous areas of computational, experimental, and observational science, including major investments in national user facilities that support these activities. In December 2021, the DOE-SC Office of Advanced Scientific Computing Research (ASCR) convened a workshop on basic research needs for the Science of Scientific Software Development and Use (SSSDU). Through keynote presentations, lightning talks, and breakout groups, participants discussed the current practice of software development, maintenance, evolution, and use, and considered how the scientific method could be used to examine these practices and develop more evidence-based approaches to enhance the impact of software and computing on all areas of science. Workshop participants identified three priority research directions (PRDs) and three important crosscutting themes that center on the following overarching insight: software has become an essential part of modern science that impacts new discovery, policy, and technological development. To have full confidence in science delivered via software, we must improve the processes and tools that help us create and use it, and this enhancement requires a deep understanding of the diverse array of teams and individuals doing the work. The full workshop report will be available at https://doi.org/10.2172/1846009.

97 MATHEMATICS AND COMPUTING↗

Building Performance Software: Portfolio-Level Capabilities and Applications

Navigating the broad and rapidly evolving market landscape of software solutions is complex whether you are a sustainability leader, building owner, energy manager, or building engineer with energy and greenhouse gas (GHG) emissions reduction goals for a portfolio of buildings. The Department of Energy’s Better Buildings partners have noted this complexity and the associated lack of publicly available information. In response, this report reviews the ecosystem of environmental, social, and governance (ESG), energy management information systems (EMIS), and decarbonization software with the goal of orienting prospective users to current offerings. Organizations can utilize this guidance to determine the specific capabilities needed to support decarbonization efforts and procure appropriate software to streamline the GHG emissions reduction process. In this paper, we refer to “decarbonization software” as the category of software that meets an organization’s needs for decarbonization planning, implementation, and tracking. This software may have a heritage in ESG or EMIS, or it may be an entirely new product. This report offers a snapshot of today’s rapidly evolving decarbonization software capabilities, along with guidance for procuring and utilizing it that will remain relevant despite any future software changes. Exploratory research was conducted on over 100 software providers, and interviews were held with 28 of them. Note that inclusion in this report does not indicate an endorsement, nor does a product’s absence from this report indicate a lack of suitability

97 MATHEMATICS AND COMPUTING↗