Search NASA⌕ Search

SEARCH · Search NASA

Results for “ADAS”

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 109 records · Page 6

Implementation of a production Ada project: The GRODY study

The use of the Ada language and design methodologies that encourage full use of its capabilities have a strong impact on all phases of the software development project life cycle. At the National Aeronautics and Space Administration/Goddard Space Flight Center (NASA/GSFC), the Software Engineering Laboratory (SEL) conducted an experiment in parallel development of two flight dynamics systems in FORTRAN and Ada. The differences observed during the implementation, unit testing, and integration phases of the two projects are described and the lessons learned during the implementation phase of the Ada development are outlined. Included are recommendations for future Ada development projects.

Godfrey, Sara↗

A report on NASA software engineering and Ada training requirements

NASA's software engineering and Ada skill base are assessed and information that may result in new models for software engineering, Ada training plans, and curricula are provided. A quantitative assessment which reflects the requirements for software engineering and Ada training across NASA is provided. A recommended implementation plan including a suggested curriculum with associated duration per course and suggested means of delivery is also provided. The distinction between education and training is made. Although it was directed to focus on NASA's need for the latter, the key relationships to software engineering education are also identified. A rationale and strategy for implementing a life cycle education and training program are detailed in support of improved software engineering practices and the transition to Ada.

Legrand, Sue↗

Toward the efficient implementation of expert systems in Ada

Here, the authors describe Ada language issues encountered during the development of ART-Ada, an expert system tool for Ada deployment. ART-Ada is being used to implement several expert system applications for the Space Station Freedom and the U.S. Air Force. Additional information is given on dynamic memory allocation.

Lee, S. Daniel↗

Ada To X-Window Bindings

Ada to X-Window Bindings computer program developed to provide Ada programmers with complete interfaces to Xt Intrinsics and OSF Motif toolkits. Provides "Ada view" of some mostly C-language programming libraries. Package of software written in Ada and C languages.

Souleles, Dean↗

Software Engineering Laboratory Ada performance study: Results and implications

The SEL is an organization sponsored by NASA/GSFC to investigate the effectiveness of software engineering technologies applied to the development of applications software. The SEL was created in 1977 and has three organizational members: NASA/GSFC, Systems Development Branch; The University of Maryland, Computer Sciences Department; and Computer Sciences Corporation, Systems Development Operation. The goals of the SEL are as follows: (1) to understand the software development process in the GSFC environments; (2) to measure the effect of various methodologies, tools, and models on this process; and (3) to identify and then to apply successful development practices. The activities, findings, and recommendations of the SEL are recorded in the Software Engineering Laboratory Series, a continuing series of reports that include the Ada Performance Study Report. This paper describes the background of Ada in the Flight Dynamics Division (FDD), the objectives and scope of the Ada Performance Study, the measurement approach used, the performance tests performed, the major test results, and the implications for future FDD Ada development efforts.

Booth, Eric W.↗

ASAP: An Ada static source code analyzer program

A user's manual is described and is provided for ASAP, an automated tool for static source code analysis of programs written in the Ada programming language. The purpose of the analysis is to collect and store information pertaining to the analyzed Ada compilation unit's size, complexity, usage of Ada language constructs and features, and static interface with other Ada compilation units.

Doubleday, Dennis Lee↗

The Adam language: Ada extended with support for multiway activities

The Adam language is an extension of Ada that supports multiway activities, which are cooperative activities involving two or more processes. This support is provided by three new constructs: diva procedures, meet statements, and multiway accept statements. Diva procedures are recursive generic procedures having a particular restrictive syntax that facilitates translation for parallel computers. Meet statements and multiway accept statements provide two ways to express a multiway rendezvous, which is an n-way rendezvous generalizing Ada's 2-way rendezvous. While meet statements tend to have simpler rules than multiway accept statements, the latter approach is a more straightforward extension of Ada. The only nonnull statements permitted within meet statements and multiway accept statements are calls on instantiated diva procedures. A call on an instantiated diva procedure is also permitted outside a multiway rendezvous; thus sequential Adam programs using diva procedures can be written. Adam programs are translated into Ada programs appropriate for use on parallel computers.

Charlesworth, Arthur↗

CLIPS/Ada: An Ada-based tool for building expert systems

Clips/Ada is a production system language and a development environment. It is functionally equivalent to the CLIPS tool. CLIPS/Ada was developed in order to provide a means of incorporating expert system technology into projects where the use of the Ada language had been mandated. A secondary purpose was to glean information about the Ada language and its compilers. Specifically, whether or not the language and compilers were mature enough to support AI applications. The CLIPS/Ada tool is coded entirely in Ada and is designed to be used by Ada systems that require expert reasoning.

White, W. A.↗

The implementation and use of Ada on distributed systems with high reliability requirements

The use and implementation of Ada in distributed environments in which the hardware components are assumed to be unreliable is investigated. The possibility that a distributed system can be programmed entirely in Ada so that the individual tasks of the system are unconcerned with which processor they are executing on, and that failures can occur in the underlying hardware is considered. The reduced cost of computer hardware and the advantages of distributed processing (for example, increased reliability through redundancy and greater flexibility) indicate that many aerospace computer systems can be distributed. The use of Ada and distributed systems is a good combination for aerospace embedded systems.

Knight, J. C.↗

Using Ada for a distributed, fault tolerant system

It is pointed out that advanced avionics applications increasingly require underlying machine architectures which are damage and fault tolerant, and which provide access to distributed sensors, effectors and high-throughput computational resources. The Advanced Information Processing System (AIPS), sponsored by NASA, is to provide an architecture which can meet the considered requirements. Ada was selected for implementing the AIPS system software. Advantages of Ada are related to its provisions for real-time programming, error detection, modularity and separate compilation, and standardization and portability. Chief drawbacks of this language are currently limited availability and maturity of language implementations, and limited experience in applying the language to real-time applications. The present investigation is concerned with current plans for employing Ada in the design of the software for AIPS. Attention is given to an overview of AIPS, AIPS software services, and representative design issues in each of four major software categories.

Dewolf, J. B.↗

Experiments with Ada

A 1200-line Ada source code project simulating the most basic functions of an operations control center was developed. We selected George Cherry's Process Abstraction Methodology for Embedded Large Applications (PAMELA) and DEC's Ada Compilation System (ACS) under VAX/VMS to build the software from requirements to acceptance test. The system runs faster than its FORTRAN implementation and was produced on schedule and under budget with an overall productivity in excess of 30 lines of Ada source code per day.

Roy, D.↗

Toward real-time performance benchmarks for Ada

The issue of real-time performance measurements for the Ada programming language through the use of benchmarks is addressed. First, the Ada notion of time is examined and a set of basic measurement techniques are developed. Then a set of Ada language features believed to be important for real-time performance are presented and specific measurement methods discussed. In addition, other important time related features which are not explicitly part of the language but are part of the run-time related features which are not explicitly part of the language but are part of the run-time system are also identified and measurement techniques developed. The measurement techniques are applied to the language and run-time system features and the results are presented.

Clapp, Russell M.↗

The implementation and use of ADA on distributed systems with high reliability requirements

The use and implementation of Ada in distributed environments in which reliability is the primary concern is investigated. Emphasis is placed on the possibility that a distributed system may be programmed entirely in Ada so that the individual tasks of the system are unconcerned with which processors they are executing on, and that failures may occur in the software or underlying hardware. A new linguistic construct, the colloquy, is introduced which solves the problems identified in an earlier proposal, the conversation. It was shown that the colloquy is at least as powerful as recovery blocks, but it is also as powerful as all the other language facilities proposed for other situations requiring backward error recovery: recovery blocks, deadlines, generalized exception handlers, traditional conversations, s-conversations, and exchanges. The major features that distinguish the colloquy are described. Sample programs that were written, but not executed, using the colloquy show that extensive backward error recovery can be included in these programs simply and elegantly. These ideas are being implemented in an experimental Ada test bed.

Knight, J. C.↗

On the implementation and use of Ada on fault-tolerant distributed systems

Due to a lack of distribution semantics and failure semantics, Ada was found to be inadequte for programming distributed systems in which process failure has to be tolerated. It is shown, however, that it is possible to define adequate distribution and failure semantics for Ada so that the language can be used to program fault-tolerant distributed systems. It is noted that although the new semantics require no additions or changes to Ada's syntax, an extensive support system is necessary to implement them.

Knight, John C.↗

Can space station software be specified through Ada?

Programming of the space station is to be done in the Ada programming language. A breadboard of selected parts of the work package for Marshall Space Flight Center is to be built, and programming this small part will be a good testing ground for Ada. One coding of the upper levels of the design brings out several problems with top-down design when it is to be carried out strictly within the language. Ada is evaluated on the basis of this experience, and the points raised are compared with other experience as related in the literature. Rapid prototyping is another approach to the initial programming; several different types of prototypes are discussed, and compared with the art of specification. Some solutions are proposed and a number of recommendations presented.

Knoebel, Arthur↗

Analysis of Ada as a prototyping language

This paper examines the suitability of Ada as a language for developing software prototypes. The differences between software prototypes and traditional engineering prototypes are discussed; the approaches to software prototyping are identified. Ada's potential as a language for prototyping is evaluated according to the writability, expressiveness, and flexibility of the language; Ada is found to be inadequate as a prototyping language because it lacks writability and expressiveness. Possible approaches to improving the expressiveness of the language are discussed.

Holloway, C. Michael↗

An automated quality assessor for Ada object-oriented designs

A tool for evaluating object-oriented designs (OODs) for Ada software is described. The tool assumes a design expressed as a hierarchy of object diagrams. A design of this type identifies the objects of a system, an interface to each object, and the usage relationships between objects. When such a design is implemented in Ada, objects become packages, interfaces become package specifications, and usage relationships become Ada `with' clauses and package references. An automated quality assessor has been developed that is based on flagging undesirable design constructs. For convenience, distinctions are made among three levels of severity: questionable, undesirable, and hazardous. A questionable construct is one that may well be appropriate. An undesirable construct is one that should be changed because it is potentially harmful to the reliability, maintainability, or reusability of the software. A hazardous construct is one that is undesirable and that introduces a high level of risk.

Bailin, Sidney C.↗