Search NASA⌕ Search

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.

At least 631 records · Page 35

Knowledge-Based Aircraft Automation: Managers Guide on the use of Artificial Intelligence for Aircraft Automation and Verification and Validation Approach for a Neural-Based Flight Controller

The ultimate goal of this report was to integrate the powerful tools of artificial intelligence into the traditional process of software development. To maintain the US aerospace competitive advantage, traditional aerospace and software engineers need to more easily incorporate the technology of artificial intelligence into the advanced aerospace systems being designed today. The future goal was to transition artificial intelligence from an emerging technology to a standard technology that is considered early in the life cycle process to develop state-of-the-art aircraft automation systems. This report addressed the future goal in two ways. First, it provided a matrix that identified typical aircraft automation applications conducive to various artificial intelligence methods. The purpose of this matrix was to provide top-level guidance to managers contemplating the possible use of artificial intelligence in the development of aircraft automation. Second, the report provided a methodology to formally evaluate neural networks as part of the traditional process of software development. The matrix was developed by organizing the discipline of artificial intelligence into the following six methods: logical, object representation-based, distributed, uncertainty management, temporal and neurocomputing. Next, a study of existing aircraft automation applications that have been conducive to artificial intelligence implementation resulted in the following five categories: pilot-vehicle interface, system status and diagnosis, situation assessment, automatic flight planning, and aircraft flight control. The resulting matrix provided management guidance to understand artificial intelligence as it applied to aircraft automation. The approach taken to develop a methodology to formally evaluate neural networks as part of the software engineering life cycle was to start with the existing software quality assurance standards and to change these standards to include neural network development. The changes were to include evaluation tools that can be applied to neural networks at each phase of the software engineering life cycle. The result was a formal evaluation approach to increase the product quality of systems that use neural networks for their implementation.

Broderick, Ron↗

Support for Systematic Code Reviews with the SCRUB Tool

SCRUB is a code review tool that supports both large, team-based software development efforts (e.g., for mission software) as well as individual tasks. The tool was developed at JPL to support a new, streamlined code review process that combines human-generated review reports with program-generated review reports from a customizable range of state-of-the-art source code analyzers. The leading commercial tools include Codesonar, Coverity, and Klocwork, each of which can achieve a reasonably low rate of false-positives in the warnings that they generate. The time required to analyze code with these tools can vary greatly. In each case, however, the tools produce results that would be difficult to realize with human code inspections alone. There is little overlap in the results produced by the different analyzers, and each analyzer used generally increases the effectiveness of the overall effort. The SCRUB tool allows all reports to be accessed through a single, uniform interface (see figure) that facilitates brows ing code and reports. Improvements over existing software include significant simplification, and leveraging of a range of commercial, static source code analyzers in a single, uniform framework. The tool runs as a small stand-alone application, avoiding the security problems related to tools based on Web browsers. A developer or reviewer, for instance, must have already obtained access rights to a code base before that code can be browsed and reviewed with the SCRUB tool. The tool cannot open any files or folders to which the user does not already have access. This means that the tool does not need to enforce or administer any additional security policies. The analysis results presented through the SCRUB tool s user interface are always computed off-line, given that, especially for larger projects, this computation can take longer than appropriate for interactive tool use. The recommended code review process that is supported by the SCRUB tool consists of three phases: Code Review, Developer Response, and Closeout Resolution. In the Code Review phase, all tool-based analysis reports are generated, and specific comments from expert code reviewers are entered into the SCRUB tool. In the second phase, Developer Response, the developer is asked to respond to each comment and tool-report that was produced, either agreeing or disagreeing to provide a fix that addresses the issue that was raised. In the third phase, Closeout Resolution, all disagreements are discussed in a meeting of all parties involved, and a resolution is made for all disagreements. The first two phases generally take one week each, and the third phase is concluded in a single closeout meeting.

Holzmann, Gerald J.↗

Control System Architectures, Technologies and Concepts for Near Term and Future Human Exploration of Space

Technologies that facilitate the design and control of complex, hybrid, and resource-constrained systems are examined. This paper focuses on design methodologies, and system architectures, not on specific control methods that may be applied to life support subsystems. Honeywell and Boeing have estimated that 60-80Y0 of the effort in developing complex control systems is software development, and only 20-40% is control system development. It has also been shown that large software projects have failure rates of as high as 50-65%. Concepts discussed include the Unified Modeling Language (UML) and design patterns with the goal of creating a self-improving, self-documenting system design process. Successful architectures for control must not only facilitate hardware to software integration, but must also reconcile continuously changing software with much less frequently changing hardware. These architectures rely on software modules or components to facilitate change. Architecting such systems for change leverages the interfaces between these modules or components.

Boulanger, Richard↗

An integrated modular environment for SAGA

A key component of the 'SAGA' metatool system for software development support is an integrated modular environment that furnishes a uniform view of software components and can be adapted for different programming languages and development methodologies. Attention is presently given to the model/representation of the entities thus used in software development; programs are structured on the basis of modules whose relationships form layers of abstraction. Different views of the program under development are provided for different development phases. The implementation of the modular environment based on the model of a UNIX system is presented.

Kirslis, Peter A.↗

NASA Software Cost Estimation Model: An Analogy Based Estimation Model

The cost estimation of software development activities is increasingly critical for large scale integrated projects such as those at DOD and NASA especially as the software systems become larger and more complex. As an example MSL (Mars Scientific Laboratory) developed at the Jet Propulsion Laboratory launched with over 2 million lines of code making it the largest robotic spacecraft ever flown (Based on the size of the software). Software development activities are also notorious for their cost growth, with NASA flight software averaging over 50% cost growth. All across the agency, estimators and analysts are increasingly being tasked to develop reliable cost estimates in support of program planning and execution. While there has been extensive work on improving parametric methods there is very little focus on the use of models based on analogy and clustering algorithms. In this paper we summarize our findings on effort/cost model estimation and model development based on ten years of software effort estimation research using data mining and machine learning methods to develop estimation models based on analogy and clustering. The NASA Software Cost Model performance is evaluated by comparing it to COCOMO II, linear regression, and K-­ nearest neighbor prediction model performance on the same data set.

Hihn, Jairus↗

Application of Agile for Systems Engineering, Project Management and Modeling and Lessons Learned

The Systems Engineering team within the Human Research Program (HRP) Exploration Medical Capability (ExMC) Element has been transforming its development processes to be more efficient, robust,and responsive to change and to its stakeholders. To these ends, the Systems Engineering team trialed the integration of agile development techniques into existing and new processes. Agile development methods are well understood within the software development community. Outside ofsoftware development, however, how non-software project management (PM) and systems engineering (SE) teams implement agile development techniques is less well understood. In its transformation efforts, the ExMC SE team focused on three main areas: Improving the project communications among subsystem teams and stakeholders by adopting a scrum-like process, Changing the status and reporting mechanisms to improve schedule coordination between the subsystem team, SE leadership, and ExMC Element leadership, and Unifying the model-based SE workflow to improve understanding of Concepts of Operations across projects.This presentation highlights several of these transformations and what the SE team learned while undergoing the transformation.

S Lumpkins↗

Space Station Software Issues

Issues in the development of software for the Space Station are discussed. Software acquisition and management, software development environment, standards, information system support for software developers, and a future software advisory board are addressed.

Voigt, S.↗

DSN automation

An overall hierarchical automation philosophy along with the results of the radio frequencies automation effort undertaken 2 years ago are summarized. A brief description of each subassembly controller's salient features, the software development process, and the common software used by these controllers will be presented. Comments will be made with respect to the relative advantages of high-level language and assembly language, the operational effectiveness of operator Macro commands, and the program development, and a list of suggested future effort will be given.

Crow, R. B.↗

Optimization of an interactive distributive computer network

The activities under a cooperative agreement for the development of a computer network are briefly summarized. Research activities covered are: computer operating systems optimization and integration; software development and implementation of the IRIS (Infrared Imaging of Shuttle) Experiment; and software design, development, and implementation of the APS (Aerosol Particle System) Experiment.

Frederick, V.↗

Ground Systems Development Environment (GSDE) interface requirements analysis

A set of procedural and functional requirements are presented for the interface between software development environments and software integration and test systems used for space station ground systems software. The requirements focus on the need for centralized configuration management of software as it is transitioned from development to formal, target based testing. This concludes the GSDE Interface Requirements study. A summary is presented of findings concerning the interface itself, possible interface and prototyping directions for further study, and results of the investigation of the Cronus distributed applications environment.

Church, Victor E.↗

Cost effective development of a Shuttle-based astronomical instrument control system

The high level language FORTH is used for the electronic control of the Space Shuttle-based Ultraviolet Imaging Telescope, in a flight computer system which minimizes costs. The greater part of the breadboard version of the flight computer is assembled from commercially available components, reducing novel circuit design features and permitting simultaneous development of both hardware and software. The commercial boards are then refabricated on aluminum core heat conducting stock, using high reliability parts to produce the flight versions of the system. The system's ground support equipment employs a MINC-25 minicomputer which performs such functions as flight computer software development, PROM programming, test and integration support, and flight operations support. The implementation of these concepts in flight computer telescope controls is described.

Parise, R. A.↗

Software safety

Software safety and its relationship to other qualities are discussed. It is shown that standard reliability and fault tolerance techniques will not solve the safety problem for the present. A new attitude requires: looking at what you do NOT want software to do along with what you want it to do; and assuming things will go wrong. New procedures and changes to entire software development process are necessary: special software safety analysis techniques are needed; and design techniques, especially eliminating complexity, can be very helpful.

Leveson, Nancy↗

NLS Advanced Development - Launch operations

Attention is given to Autonomous Launch Operations (ALO), one of a number of the USAF's National Launch System (NLS) Launch Operations projects whose aim is to research, develop and apply new technologies and more efficient approaches toward launch operations. The goal of the ALO project is to develop generic control and monitor software for launch operation subsystems. The result is enhanced reliability of system design, and reduced software development and retention of expert knowledge throughout the life-cycle of the system.

Parrish, Carrie L.↗

DSMC analysis in a heterogeneous parallel computing environment

A methodology for implementing parallel DSMC codes in a heterogeneous computing environment is described. The methodology involves the use of a common message-passing software library together with recently developed software that handles the actual interprocessor communications in a standard manner across a variety of computing platforms. Benchmark tests using a simple DSMC model problem were performed on an Intel iPSC/860, a Cray-YMP and a group of Sun workstations. The approach was found to give speedups that scaled linearly with problem size on all the computing platforms tested. This methodology was then incorporated into a production-type DSMC code to allow the simulation of problems that would not otherwise have been practical. The application of this production code to simulations of hypersonic shear flows and shock-lip interactions under near-continuum conditions is described. Synchronous and asynchronous models for implementing parallelism into DSMC simulations are also described and both models are shown to produce the same steady-state result.

Wilmoth, R. G.↗

Classifying Software For Reuse

Scheme for classifying software facilitates and accelerates retrieval of software components. Method aids reuse of software and increases software developers' productivity. Used to discover software components meeting specified need in large collection of useful, reliable components. Classification and retrieval methodology applies equally to things unrelated to software, such as hardware, patents, legal cases, and books. Searcher enables user to find desired software without being required to answer excessive number of questions and without presenting user with too many possible answers to any one question. Although it guides inexperienced user through system, it lets expert user forge ahead without artificial restriction.

Snyder, William V.↗

WTEC monograph on instrumentation, control and safety systems of Canadian nuclear facilities

This report updates a 1989-90 survey of advanced instrumentation and controls (I&C) technologies and associated human factors issues in the U.S. and Canadian nuclear industries carried out by a team from Oak Ridge National Laboratory (Carter and Uhrig 1990). The authors found that the most advanced I&C systems are in the Canadian CANDU plants, where the newest plant (Darlington) has digital systems in almost 100 percent of its control systems and in over 70 percent of its plant protection system. Increased emphasis on human factors and cognitive science in modern control rooms has resulted in a reduced workload for the operators and the elimination of many human errors. Automation implemented through digital instrumentation and control is effectively changing the role of the operator to that of a systems manager. The hypothesis that properly introducing digital systems increases safety is supported by the Canadian experience. The performance of these digital systems has been achieved using appropriate quality assurance programs for both hardware and software development. Recent regulatory authority review of the development of safety-critical software has resulted in the creation of isolated software modules with well defined interfaces and more formal structure in the software generation. The ability of digital systems to detect impending failures and initiate a fail-safe action is a significant safety issue that should be of special interest to nuclear utilities and regulatory authorities around the world.

Uhrig, Robert E.↗

US Participation in the GOME and SCIAMACHY Projects

The research performed during this reporting period includes development and maintenance of scientific software for the GOME retrieval algorithms, consultation on operational software development for GOME, further sensitivity and instrument studies to help finalize the definition of the SCIAMACHY instrument, and consultation on optical and detector issues for both GOME and SCIAMACHY. The Global Ozone Monitoring Experiment was successfully launched on the ERS-2 satellite on April 20, 1995, during this reporting period, and is working in the expected fashion. The European Space Agency has made their selections from responses to the Announcement of Opportunity for GOME validation and science studies, part of the overall ERS AO. The Smithsonian Astrophysical Observatory (SAO) proposal has been selected. These proposals are primarily for access to the data; ESA does not provide research funding for the selected investigations. The SAO activities that are carried out as a result of selection by ESA are funded by the present grant, to the limit that can be accomplished at the present level of funding. SCIAMACHY is currently in Phase C/D. Instrument design is almost finalized and selection of infrared detectors from the initial production run has been made.

Chance, K. V.↗