Search NASA⌕ Search

SEARCH · Search NASA

Results for “software development practice”

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 91 records · Page 5

Software production methodology tested project

The history and results of a 3 1/2-year study in software development methodology are reported. The findings of this study have become the basis for DSN software development guidelines and standard practices. The article discusses accomplishments, discoveries, problems, recommendations and future directions.

Tausworthe, R. C.↗

Software engineering and Ada in design

Modern software engineering promises significant reductions in software costs and improvements in software quality. The Ada language is the focus for these software methodology and tool improvements. The IBM FSD approach, including the software engineering practices that guide the systematic design and development of software products and the management of the software process are examined. The revised Ada design language adaptation is revealed. This four level design methodology is detailed including the purpose of each level, the management strategy that integrates the software design activity with the program milestones, and the technical strategy that maps the Ada constructs to each level of design. A complete description of each design level is provided along with specific design language recording guidelines for each level. Finally, some testimony is offered on education, tools, architecture, and metrics resulting from project use of the four level Ada design language adaptation.

Oneill, Don↗

TPSAS-NF1676L-14454-DND

FUN3D Core Capabilities - Established as a research code in late 1980’s; now supports numerous internal and external efforts across the speed range - Solves 2D/3D steady and unsteady Euler and RANS equations on node-based mixed element grids for compressible and incompressible flows - General dynamic mesh capability: any combination of rigid / overset / morphing grids, including 6-DOF effects - Aeroelastic modeling using mode shapes, full FEM, CC, etc. - Constrained / multipoint adjoint-based design and mesh adaptation - Distributed development team using agile/extreme software practices including 24/7 regression and performance testing - Capabilities fully integrated, online documentation, training videos, tutorials

Eric J Nielsen↗

NASA LaRC Contribution to the High Angle Working Group of the Third Aeroelastic Prediction Workshop: BSCW Shock Buffet

FUN3D Core Capabilities - Established as a research code in late 1980s; now supports numerous internal and external efforts across the speed range - Solves 2D/3D steady and unsteady Euler and RANS equations on node-based mixed element grids for compressible and incompressible flows - General dynamic mesh capability: any combination of rigid / overset / morphing grids, including 6-DOF effects - Aeroelastic modeling using mode shapes, full FEM, etc. - Constrained / multipoint adjoint-based design and mesh adaptation - Distributed development team using agile/extreme software practices including 24/7 regression, performance testing - Capabilities fully integrated, online documentation, training videos, tutorials

Pawel Chwalowski↗

Organizational management practices for achieving software process improvement

The crisis in developing software has been known for over thirty years. Problems that existed in developing software in the early days of computing still exist today. These problems include the delivery of low-quality products, actual development costs that exceed expected development costs, and actual development time that exceeds expected development time. Several solutions have been offered to overcome out inability to deliver high-quality software, on-time and within budget. One of these solutions involves software process improvement. However, such efforts often fail because of organizational management issues. This paper discusses business practices that organizations should follow to improve their chances of initiating and sustaining successful software process improvement efforts.

software process improvement↗

Recommended approach to software development, revision 3

Guidelines for an organized, disciplined approach to software development that is based on studies conducted by the Software Engineering Laboratory (SEL) since 1976 are presented. It describes methods and practices for each phase of a software development life cycle that starts with requirements definition and ends with acceptance testing. For each defined life cycle phase, guidelines for the development process and its management, and for the products produced and their reviews are presented.

Landis, Linda↗

Conjunctive programming: An interactive approach to software system synthesis

This report introduces a technique of software documentation called conjunctive programming and discusses its role in the development and maintenance of software systems. The report also describes the conjoin tool, an adjunct to assist practitioners. Aimed at supporting software reuse while conforming with conventional development practices, conjunctive programming is defined as the extraction, integration, and embellishment of pertinent information obtained directly from an existing database of software artifacts, such as specifications, source code, configuration data, link-edit scripts, utility files, and other relevant information, into a product that achieves desired levels of detail, content, and production quality. Conjunctive programs typically include automatically generated tables of contents, indexes, cross references, bibliographic citations, tables, and figures (including graphics and illustrations). This report presents an example of conjunctive programming by documenting the use and implementation of the conjoin program.

Tausworthe, Robert C.↗

Abstracts of the 2025 51st Annual NATAS Conference

The North American Thermal Analysis Society (NATAS) is pleased to announce its 51st Annual Conference, held jointly with the IX International Baekeland Symposium. This premier event unites scientists, practitioners, and students from academia, industry, and government to explore the forefront of materials science. The NATAS conference provides a dynamic forum for attendees to delve into the latest advancements in thermal analysis, rheology, and materials characterization. The technical program will highlight new developments in instrumentation and software, alongside practical applications across a wide range of industries. Concurrently, the Baekeland Symposium will showcase cutting-edge scientific, technical, and industrial innovations in the field of high-performance thermosetting polymers. The synergy of this joint meeting creates a unique platform for cross-disciplinary collaboration, fostering the exchange of novel ideas and sparking new research opportunities. Featuring technical presentations, poster sessions, and plenary lectures from renowned experts and emerging graduate students, the conference offers an ideal environment for networking and professional development. We invite you to join us to discover state-of-the-art techniques, discuss groundbreaking research, and connect with peers and leaders in the thermal and materials community.

batteries↗

Impact of knowledge-based software engineering on aerospace systems

The emergence of knowledge engineering as a software technology will dramatically alter the use of software by expanding application areas across a wide spectrum of industries. The engineering and management of large aerospace software systems could benefit from a knowledge engineering approach. An understanding of this technology can potentially make significant improvements to the current practice of software engineering, and provide new insights into future development and support practices.

Peyton, Liem↗

Transforming Science Through Software: Improving While Delivering 100×

The U.S. Department of Energy (DOE) Exascale Computing Project (ECP) funded the development of new (and the transformation of important existing) applications, libraries, and tools that realized improvement in performance and capabilities of often 100 times or more on emerging exascale computers. This exceptional gain inspired the title of this special issue: Transforming Science through Software: Improving while delivering 100X. The term 100X refers to advancing capabilities in modeling, simulation, and analysis by a factor of 100 or more using some combination of new algorithms, optimization techniques, software libraries, and programming models, coupled with the next generation of hardware for high-performance computing (HPC). The papers in this issue share experiences with the practice and science of scientific software development, with an emphasis on developing a coherent, portable, and sustainable HPC software ecosystem for next-generation computational science. Finally, we hope to foster expanded community efforts related to the fundamental role of sustainable scientific software ecosystems in advancing the computing sciences.

97 MATHEMATICS AND COMPUTING↗

Artificial intelligence approaches to software engineering

Artificial intelligence approaches to software engineering are examined. The software development life cycle is a sequence of not so well-defined phases. Improved techniques for developing systems have been formulated over the past 15 years, but pressure continues to attempt to reduce current costs. Software development technology seems to be standing still. The primary objective of the knowledge-based approach to software development presented in this paper is to avoid problem areas that lead to schedule slippages, cost overruns, or software products that fall short of their desired goals. Identifying and resolving software problems early, often in the phase in which they first occur, has been shown to contribute significantly to reducing risks in software development. Software development is not a mechanical process but a basic human activity. It requires clear thinking, work, and rework to be successful. The artificial intelligence approaches to software engineering presented support the software development life cycle through the use of software development techniques and methodologies in terms of changing current practices and methods. These should be replaced by better techniques that that improve the process of of software development and the quality of the resulting products. The software development process can be structured into well-defined steps, of which the interfaces are standardized, supported and checked by automated procedures that provide error detection, production of the documentation and ultimately support the actual design of complex programs.

Johannes, James D.↗

Innovative Development of a Cross-Center Timeline Planning Tool

The Payload Operations Integration Center (POIC) at Marshall Space Flight Center (MSFC) supports planning, coordination and scheduling of science activities for the International Space Station (ISS) in coordination with other NASA centers, international partners, and payload developers. The ability to efficiently plan and re-plan in response to change is critical to the flight planning teams. With the achievement of supporting a fourth crew member aboard the ISS and an increasing amount of payload science activities, came the need for a dynamic, more efficient way of building timeline planning reports that could be readily updated as fast as payload science plans could change. This paper addresses software architecture considerations in the successful cross-center development of an automated planning tool with multiple data sources. It also discusses the practical implementation of a time-boxed, hybrid Agile Software Development (ASD) approach to deliver customer-driven value despite changing requirements with respect to low-Earth orbit operational planning activities. The goal of this paper is to open discussion with members of the international community and trade effective strategies for cross-center architectural and customer-developer driven collaborations, to support increasing utilization of planning and conducting science activities in space.

Pedoto, Ramon W.↗

UQpy v4.1: Uncertainty quantification with Python

This paper presents the latest improvements introduced in Version 4 of the UQpy, Uncertainty Quantification with Python, library. In the latest version, the code was restructured to conform with the latest Python coding conventions, refactored to simplify previous tightly coupled features, and improve its extensibility and modularity. To improve the robustness of UQpy, software engineering best practices were adopted. A new software development workflow significantly improved collaboration between team members, and continuous integration and automated testing ensured the robustness and reliability of software performance. Continuous deployment of UQpy allowed its automated packaging and distribution in system agnostic format via multiple channels, while a Docker image enables the use of the toolbox regardless of operating system limitations.

97 MATHEMATICS AND COMPUTING↗

Simulation Tools Model Icing for Aircraft Design

Here s a simple science experiment to try: Place an unopened bottle of distilled water in your freezer. After 2-3 hours, if the water is pure enough, you will notice that it has not frozen. Carefully pour the water into a bowl with a piece of ice in it. When it strikes the ice, the water will instantly freeze. One of the most basic and commonly known scientific facts is that water freezes at around 32 F. But this is not always the case. Water lacking any impurities for ice crystals to form around can be supercooled to even lower temperatures without freezing. High in the atmosphere, water droplets can achieve this delicate, supercooled state. When a plane flies through clouds containing these droplets, the water can strike the airframe and, like the supercooled water hitting the ice in the experiment above, freeze instantly. The ice buildup alters the aerodynamics of the plane - reducing lift and increasing drag - affecting its performance and presenting a safety issue if the plane can no longer fly effectively. In certain circumstances, ice can form inside aircraft engines, another potential hazard. NASA has long studied ways of detecting and countering atmospheric icing conditions as part of the Agency s efforts to enhance aviation safety. To do this, the Icing Branch at Glenn Research Center utilizes a number of world-class tools, including the Center s Icing Research Tunnel and the NASA 607 icing research aircraft, a "flying laboratory" for studying icing conditions. The branch has also developed a suite of software programs to help aircraft and icing protection system designers understand the behavior of ice accumulation on various surfaces and in various conditions. One of these innovations is the LEWICE ice accretion simulation software. Initially developed in the 1980s (when Glenn was known as Lewis Research Center), LEWICE has become one of the most widely used tools in icing research and aircraft design and certification. LEWICE has been transformed over the years from strictly a research tool to one used routinely by industry and other government agencies. Glenn contractor William Wright has been the architect of this development, supported by a team of researchers investigating icing physics, creating validation data, and ensuring development according to standard software engineering practices. The program provides a virtual simulation environment for determining where water droplets strike an airfoil in flight, what kind of ice would result, and what shape that ice would take. Users can enter geometries for specific, two-dimensional cross sections of an airfoil or other airframe surface and then apply a range of inputs - different droplet sizes, temperatures, airspeeds, and more - to model how ice would build up on the surface in various conditions. The program s versatility, ease of use, and speed - LEWICE can run through complex icing simulations in only a few minutes - have contributed to it becoming a popular resource in the aviation industry.

Source record↗

Advances in High-rate Delay Tolerant Networking On-board the International Space Station

The High-rate Delay Tolerant Networking (HDTN) project at the NASA John H. Glenn Research Center (GRC) is developing a performance optimized Delay Tolerant Networking (DTN) implementation which is able to provide reliable multigigabit per second automated network communications for near-Earth and deep space missions. To that end, this paper provides an overview of the testing and integration efforts culminating in a high-rate DTN demonstration onboard the International Space Station (ISS). Over several years, the HDTN team has performed a series of end-to-end tests between the Software Development and Integration Laboratory (SDIL) at the Lyndon B. Johnson Space Center (JSC) and Marshall Space Flight Center’s Huntsville Operations Support Center (HOSC). The testing has focused on a realistic emulation of the ISS Ku-band RF link, which operates at a maximum of 500 Mbps downlink with a 600 ms round-trip time. In this environment, the HDTN onboard gateway has been tested for interoperability with ISS payload nodes and the DTN ground gateway, store and forward capability, reliable transport using the Licklider Transmission Protocol (LTP), and successful recovery from unexpected loss of signal. In addition to integration testing, HDTN has developed a series of software engineering practices to ensure the stability and maturity of the implementation. As the result, HDTN has successfully demonstrated high-rate DTN services onboard the ISS. This paper concludes with a summary of preliminary flight testing results from the Integrated LCRD LEO User Modem and Amplifier Terminal networking experiments.

Delay tolerant networking↗

Software Reuse Methods to Improve Technological Infrastructure for e-Science

Social computing has the potential to contribute to scientific research. Ongoing developments in information and communications technology improve capabilities for enabling scientific research, including research fostered by social computing capabilities. The recent emergence of e-Science practices has demonstrated the benefits from improvements in the technological infrastructure, or cyber-infrastructure, that has been developed to support science. Cloud computing is one example of this e-Science trend. Our own work in the area of software reuse offers methods that can be used to improve new technological development, including cloud computing capabilities, to support scientific research practices. In this paper, we focus on software reuse and its potential to contribute to the development and evaluation of information systems and related services designed to support new capabilities for conducting scientific research.

Marshall, James J.↗

Software engineering standards and practices

Guidelines are presented for the preparation of a software development plan. The various phases of a software development project are discussed throughout its life cycle including a general description of the software engineering standards and practices to be followed during each phase.

Durachka, R. W.↗

Constructing a working taxonomy of functional Ada software components for real-time embedded system applications

A major impediment to a systematic attack on Ada software reusability is the lack of an effective taxonomy for software component functions. The scope of all possible applications of Ada software is considered too great to allow the practical development of a working taxonomy. Instead, for the purposes herein, the scope of Ada software application is limited to device and subsystem control in real-time embedded systems. A functional approach is taken in constructing the taxonomy tree for identified Ada domain. The use of modular software functions as a starting point fits well with the object oriented programming philosophy of Ada. Examples of the types of functions represented within the working taxonomy are real time kernels, interrupt service routines, synchronization and message passing, data conversion, digital filtering and signal conditioning, and device control. The constructed taxonomy is proposed as a framework from which a need analysis can be performed to reveal voids in current Ada real-time embedded programming efforts for Space Station.

Wallace, Robert↗