SEARCH · Search NASA
Results for “software development”
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.
Can Scientific Software Development Use the Outsourcing Model Successfully.
Abstract not provided.
Embedded Controller Software Development Best Practices at the National Ignition Facility
Explore the source record for details and available documents.
Software-Development-as-Usual Will Not Be Adequate
Explore the source record for details and available documents.
Towards a New Supply Chain Cybersecurity Risk Analysis Technique
Supply chain cyber-attacks, such as the SolarWinds Orion attack, are occurring with greater frequency. These attacks compromise a digital device before it is sent to customers, bypassing traditional security controls to remain persistent and undetected in operational environments. While supply chain attacks are prevalent, methods for analyzing the risk of these attacks are currently unavailable. This paper proposes new supply chain cyber-attack difficulty and risk metrics to evaluate the relative risk of an attack throughout the supply chain lifecycle. Difficulty metrics for each stakeholder in a digital device’s supply chain (e.g., hardware manufacturing, firmware development, software development, storage, and distribution entities) are calculated using scores from cybersecurity maturity questionnaires in a Bayesian Network leaky Noisy-MAX model. These difficulty metrics are then used to calculate an overall supply chain cyber-attack risk. Vulnerability and recoverability metrics are also proposed to evaluate the relative stakeholder influence in the attack risk. These proposed relative risk metrics enable continuous supply chain monitoring, provide decision-makers with information necessary for improved supplier selection, and help drive improvements in the cybersecurity posture of the stakeholders in their supply chain.
Community Organizations: Changing the Culture in Which Research Software Is Developed and Sustained
Software is the key crosscutting technology that enables advances in mathematics, computer science, and domain-specific science and engineering to achieve robust simulations and analysis for science, engineering, and other research fields. However, software itself has not traditionally received focused attention from research communities; rather, software has evolved organically and inconsistently, with its development largely as by-products of other initiatives. Moreover, challenges in scientific software are expanding due to disruptive changes in computer hardware, increasing scale and complexity of data, and demands for more complex simulations involving multiphysics, multiscale modeling and outer-loop analysis. In recent years, community members have established a range of grass-roots organizations and projects to address these growing technical and social challenges in software productivity, quality, reproducibility, and sustainability. This article provides an overview of such groups and discusses opportunities to leverage their synergistic activities while nurturing work toward emerging software ecosystems.
The HPC Best Practices Webinar Series
Here, in this contribution, we discuss our experiences organizing the Best Practices for HPC Software Developers (HPC-BP) webinar series, an effort for the dissemination of software development methodologies, tools and experiences to improve developer productivity and software sustainability. HPC-BP is an outreach component of the IDEAS Productivity Project [4] and has been designed to support the IDEAS mission to work with scientific software development teams to enhance their productivity and the sustainability of their codes. The series, which was launched in 2016, has just presented its 22nd webinar. We summarize and distill our experiences with these webinars, including what we consider to be "best practices" in the execution of both individual webinars and a long-running series like HPC-BP. We also discuss future opportunities and challenges in continuing the series.
GridPACK: Library Architecture and Usability Assessment
The LLNL team has carried out extensive analysis of GridPACK code, including two major code reviews (each being a 2-day event) and a vendor emulation exercise, where the team integrated GridPACK library within a third-party application. The code analysis identified a number of areas for improvement of GridPACK code architecture, but it did not find fundamental flaws in the GridPACK design. The team found the GridPACK strategy of developing a software development kit (SDK) for power systems application development to be sound and well aligned with Office of Electricity long term objectives. The SDK aims to provide power systems software vendors an easy access to high performance computing (HPC) libraries.
Challenges in Eye Tracking for Dynamic User-Driven Workflows
This three-year Laboratory Directed Research and Development (LDRD) project aimed at developing a developed prototype data collection system and analysis techniques to enable the measurement and analysis of user-driven dynamic workflows. Over 3 years, our team developed software, algorithms, and analysis technique to explore the feasibility of capturing and automatically associating eye tracking data with geospatial content, in a user-directed, dynamic visual search task. Although this was a small LDRD, we demonstrated the feasibility of automatically capturing, associating, and expressing gaze events in terms of geospatial image coordinates, even as the human "analyst" is given complete freedom to manipulate the stimulus image during a visual search task. This report describes the problem under examination, our approach, the techniques and software we developed, key achievements, ideas that did not work as we had hoped, and unsolved problems we hope to tackle in future projects.
Hard Rock Drilling Optimization Software
The main objective of the developed software is to reduce the cost per foot during drilling, in other words, optimize the drilling operational parameters in achieving optimum ROP while avoiding critical operational parameters due to either low ROP, drillstring vibration, accelerated cutter wear, or low MSE. The developed software can also be used for post-well analysis to provide insight and lessons learned for future drilling operations. Several functions are available in the software to help the user perform drilling analysis, optimization, and simulation.
Experiences with a Flexible User Research Process to Build Data Change Tools
Scientific software development processes are understood to be distinct from commercial software development practices due to uncertain and evolving states of scientific knowledge. Sustaining these software products is a recognized challenge, but under-examined is the usability and usefulness of such tools to their scientific end users. User research is a well-established set of techniques (e.g., interviews, mockups, usability tests) applied in commercial software projects to develop foundational, generative, and evaluative insights about products and the people who use them. Currently these approaches are not commonly applied and discussed in scientific software development work. The use of user research techniques in scientific environments can be challenging due to the nascent, fluid problem spaces of scientific work, varying scope of projects and their user communities, and funding/economic constraints on projects.In this paper, we reflect on our experiences undertaking a multi-method user research process in the Deduce project. The Deduce project is investigating data change to develop metrics, methods, and tools that will help scientists make decisions around data change. There is a lack of common terminology since the concept of systematically measuring and managing data change is under explored in scientific environments. To bridge this gap we conducted user research that focuses on user practices, needs, and motivations to help us design and develop metrics and tools for data change. This paper contributes reflections and the lessons we have learned from our experiences. We offer key takeaways for scientific software project teams to effectively and flexibly incorporate similar processes into their projects.
The challenges of theory-software translation
Background: Software is now ubiquitous within research. In addition to the general challenges common to all software development projects, research software must also represent, manipulate, and provide data for complex theoretical constructs. Ensuring this process of theory-software translation is robust is essential to maintaining the integrity of the science resulting from it, and yet there has been little formal recognition or exploration of the challenges associated with it. Methods: We thematically analyse the outputs of the discussion sessions at the Theory-Software Translation Workshop 2019, where academic researchers and research software engineers from a variety of domains, and with particular expertise in high performance computing, explored the process of translating between scientific theory and software. Results: We identify a wide range of challenges to implementing scientific theory in research software and using the resulting data and models for the advancement of knowledge. We categorise these within the emergent themes of design, infrastructure, and culture, and map them to associated research questions. Conclusions: Systematically investigating how software is constructed and its outputs used within science has the potential to improve the robustness of research software and accelerate progress in its development. We propose that this issue be examined within a new research area of theory-software translation, which would aim to significantly advance both knowledge and scientific practice.
GeoTGo: AI/ML software for development of community geothermal resources
For effective and equitable outcomes in achieving the national goal of net-zero carbon emissions, communities must be not only included, but even lead the implementation of innovative green-energy technologies. Collaborations with communities should happen through informed decision-making, community-centered research and engagement of stakeholders at the local, state, and regional levels. Community-led research and implementation are fundamental to achieving success. These collaborations include rule makers, environmental regulators, clean energy industries, and technology researchers and developers. Unfortunately, many green infrastructure initiatives still adhere to a top-down and expert-driven process of site selection and design without awareness and acknowledgment of public engagement needs. This can lead to costly delays, including lawsuits, and ultimately less than desired or lacking outcomes as well as missed opportunities1. Geothermal, like many new technologies whose social and economic impacts are not fully understood, often cause disproportionately high adverse effects on disadvantaged communities. These effects can be related to human health, environmental, climate, and other cumulative impacts, as well as the accompanying economic challenges of these impacts. We are focusing our work on the needs of the New Mexico Native American Pueblos and Tribes (NMP&T). To address these needs, we are developing a novel web-based interactive software and user friendly interface called GeoTGO (https://geotgo.com) that provides everything that is needed for communities to better understand and develop their geothermal resources. We will bridge the gap between technology advancements and community needs by facilitating the interactions between the geothermal industry, regulators, stakeholders, and end-users. GeoTGO will merge data, software (including data analysis, text mining, artificial intelligence, and modeling tools), knowledge, expertise, and experience to provide fast processing and dissemination of the latest information about cutting-edge geothermal technologies to users and communities. More information about the project is available at https://envitrace.com/projects/geotgo.html.
Development and performance evaluation of a novel γ-γ coincidence analysis software
Processing of large amounts of data from a γ-γ coincidence system is a practical challenge in trace-level radionuclide measurements. Given the benefits and growing number of multidimensional gamma spectrometers worldwide, this is a major restriction in wide-spread applicability of coincidence techniques. This study demonstrates a novel γ-γ coincidence analysis software developed at Pacific Northwest National Laboratory, USA. The software utilizes advanced search techniques and Python libraries to readily identify coincidence signatures in the large data. Further, using both synthetic and experimental data, the study uncovers various strategies/libraries employed during software’s development. This work aims to provide a reference document in handling large data routinely encountered in trace-level measurements.
Approaches for Synthesis and Deployment of Controller Models on Automated Vehicles for Car-following in Mixed Autonomy
This paper describes the software design patterns and vehicle interfaces that were employed to transition vehicle controllers from simulation environments to open-road field experiments. The approach relies on a life cycle that utilizes model-based design and code generation, along with agile software development, and both software and hardware-in-the-loop testing, with additional safety margins. Autonomous designs should consider the dynamics of mixed autonomy in traffic to safely operate among humans. The software that provides a vehicle’s behavior intelligence is often developed through simulation, which may have a mismatch between dynamics, or as a result of a reinforcement learning workflow, which may be a black box with challenges to analyze. In each of these cases, it is important to have research interfaces that provide strongly typed data streams accessible to researchers who are not software experts while continuing to satisfy safety and liveness constraints. This paper describes how we design the hardware platform interfaces and software design process for a mixed autonomy traffic experiment with a leader-follower scenario. Controller synthesis for these vehicles requires clearly articulated vehicle interfaces and software design patterns for successful onboard deployment. Testing strategies for such controllers are also described before algorithms are transitioned to full-scale field experiments with safety operators for the vehicles. Testing strategies include software-in-the-loop simulation testing, hardware-in-the-loop simulation, ghost-car testing, and read-only testing in live traffic. With our approach, we were not only able to validate our controller synthesized in scripts and simulation, but also able to scale deployment to multiple vehicles.
SoK: A Framework for and Analysis of Software Bill of Materials Tools
Modern software development has gradually become more complex, leveraging available open-source software and third party components. This practice has raised questions about the provenance, licensing, versioning and compliance of reused code and its dependencies. Furthermore, it is par ticularly important to review such code fragments and third party components for known-vulnerabilities before they are included in a software product. A Software Bill of Materials (SBoM) is a mechanism to achieve such an analysis, provid ing transparency and visibility into a software product to both the software developer and its respective consumer. An SBoM lists information and details about all the elements constituting a piece of software and can, therefore, be used to evaluate associated security risk. While the concept of SBoMs is growing in popularity, it is still fairly new to many organizations, causing them to potentially struggle with pro ducing and processing SBoMs and limiting their widespread adoption. In this work, we delve into the area of SBoMs and present the state-of-the-art SBoM tools, creating a framework for analysis and categorizing them based on a diverse set of features and functionalities. We are the first to provide a detailed analysis of 83 open-source SBoM tools along with a perspective on how a potential SBoM user can select a tool based on their specific requirements. Our work aims to help promote understanding of this domain, thereby encouraging and furthering its overall adoption. We additionally seek to pave a path for future work in this area by providing recommendations to tool developers and users, researchers, and standardizing organizations.
Port Hope Area Initiative: Information Management for A Very Large Radiation Survey - 19567
The Port Hope Area Initiative (PHAI) represents the Government of Canada's commitment to the cleanup and safe, local, long-term management of historic low-level radioactive waste (LLRW) in two Southern Ontario municipalities - Port Hope. The PHAI is based on community-recommended solutions for the cleanup and safe long-term management of approximately 1.7 million cubic meters of LLRW. It is currently one of Canada's largest environmental remediation projects at a cost of over one billion dollars. The PHAI is being implemented by Canadian Nuclear Laboratories (CNL) on behalf of Atomic Energy of Canada Limited, a federal Crown corporation. The waste is the result of radium and uranium processing in Port Hope by the former federal crown corporation Eldorado Nuclear Limited between 1933 and 1988. The waste has been distributed in the Municipality of Port Hope through placement of contaminated materials (e.g. fill), reuse of contaminated objects (e.g. tailings use in concrete, steel posts, structural wood) and air-borne deposition. Signature contaminants of potential concern (COPCs) are Ra-226, Th-230, uranium and arsenic; however, there are an additional 17 COPCs that also need to be considered. A very large amount of information has been collected during the survey and effectively managing and analyzing this information is critical to the success for the property owners, CNL's implementation of the PHAI, and Arcadis. Data collected during the survey includes information pertaining to long-term interior radon gas measurements, interior gamma radiation surveys, contaminated objects and surfaces, exterior gamma radiation and subsurface investigations. exterior gamma radiation surveys. The information management (IM) is structured with SharePoint as a focal point supported by an EQuIS database, mobile data collection and GIS support. The IM process for this project is being advanced using recent software developments to assist with internal activities (e.g. QA) and interactions with CNL including notifications and scheduling and status of property completion. Different applications have been developed to help automate, visualize, actively track, and QA different processes using recent software developments by Microsoft. We have used SharePoint to organize and track our data. Power BI has been used to actively track and visualize our data from Interior gamma surveying to exterior drilling. The creation of dynamic/advanced visualizations in Power BI gathers data daily from our multiple sources and analyzes it for anomalous data and trends. Microsoft Flow syncs with Power BI and has been implemented to automate many processes including the QA of surveys and soil results for identification of LLRW. To tie everything together, our GIS and EQuIS systems are our primary data compilation source that makes our advanced analytics/visualization and automation/tracking our data possible. Specific examples will be discussed, as will challenges encountered during the continuing development of the IM system. The incorporation of software advancements to the existing IM system for Port Hope characterization has improved the quality of the surveys, the tracking of completion, meeting schedule requirements and providing the required data for tracking, report preparation and supporting remediation of contamination on the properties. (authors)
WETO Software Stack Best Practices
Wind energy researchers typically share one key characteristic: a passion for increasing wind energy in the global energy mix. The U.S. Department of Energy (DOE) supports this mission in a number of ways including allocating funding directly to various aspects of wind energy research through the Office of Energy Efficiency and Renewable Energy (EERE) via the Wind Energy Technologies Office (WETO). While the traditional output of research is academic publication, software development efforts are increasingly a major focus. Software tools in the research environment allow researchers to describe an idea and quickly increase the scope and scale as they study it further. As a product of research, these tools represent a direct pipeline from researcher to industry practitioners since they are the implementation of ideas described in academic publications. Given this vital role in wind energy research and commercial development, the broad research software portfolio supported by WETO must maintain a minimum level of quality to support the wind energy field in the growing transition to renewable energy. This report outlines a series o f best practices to be adopted by all WETO-supported software projects, as well as expectations that the communities interacting with these projects should have of the developers and tools themselves. Wind energy research software has a unique standing in the field of scientific software. The stakeholders are varied with a subset being: (1) DOE EERE leadership, (2) DOE WETO leadership and program managers, (3) National lab leadership, (4) Associated project principle investigators, (5) Research software engineers, (6) Wind energy researchers in academia (including graduate students, post docs, and national lab staff), (7) Industry researchers and practitioners, (8) Commercial software developers, and (9) The general public interested in wind energy. These software are typically the end-user of other generic software libraries, so the funding cycles are often tied to applied research rather than the development of the software itself. Since the developers are also wind energy researchers, these tools are typically designed in a way that closely resembles the application in which they're used. Additionally, the expertise and incentives for the developers have a high variability, and often neither are aligned with software engineering or computer science. Given the unique environment in which wind energy research software is produced and consumed, it is critical for model owners to understand the context of their software. A framework for developing this understanding is to answer the following questions of a given software project: What is it's purpose? What is its role in the field of wind energy? What is the profile of the expected users? For how long will it be relevant? What is the expected impact? These questions allow model owners to identify the appropriate methods for the design, development, and long term maintenance of their software. Additionally, the answer provide context for future planners to understand why particular decisions were made and discern the consequences of changing course. The information is aggregated from experience within WETO-supported software development groups as well as external organizations and efforts to define the craft of research software engineering. These best practices aim to make the collaborative development process efficient and effective while improving the model understanding across stakeholders. Additionally, the general adoption of a common framework for software quality ensures that the end users of WETO software can trust these tools and accurately understand the risks to workflow integration.