Search NASA⌕ Search

SEARCH · Search NASA

Results for “Programming languages”

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 487 records · Page 27

Time-based air traffic management using expert systems

A prototype expert system was developed for the time scheduling of aircraft into the terminal area. The three functions of the air traffic control schedule advisor are as follows: first, for each new arrival, it develops an admissible flight plan for that aircraft. Second, as the aircraft progresses through the terminal area, it monitors deviations from the flight plan and provides advisories to return the aircraft to its assigned schedule. Third, if major disruptions such as missed approaches occur, it develops a revised plan. The advisor is operational on a Symbolics 3600, and is programed in MRS (a logic programming language), Lisp, and FORTRAN.

Tobias, L.↗

Flowcharting with D-charts

A D-Chart is a style of flowchart using control symbols highly appropriate to modern structured programming languages. The intent of a D-Chart is to provide a clear and concise one-for-one mapping of control symbols to high-level language constructs for purposes of design and documentation. The notation lends itself to both high-level and code-level algorithmic description. The various issues that may arise when representing, in D-Chart style, algorithms expressed in the more popular high-level languages are addressed. In particular, the peculiarities of mapping control constructs for Ada, PASCAL, FORTRAN 77, C, PL/I, Joviai J73, HAL/S, and Algol are discussed.

Meyer, D. D.↗

Data handling and data flow design and their application in the space telescope guide star selection system

The data formats and data encapsulation techniques used in the Space Telescope Guide Star Selection System (GSSS) are described. Emphasis is given to the use of image field and object list transformation to organize and refine high-levels of data flow from Space Telescope. The application of the Ada programming language to data encapsulation techniques is discussed in detail.

Rosenthal, D. A.↗

Programs To Aid FORTRAN Programming

Program-development time decreased while program quality increased. FORTRAN Programming Tools are series of programming tools used to support development and maintenance of FORTRAN 77 source codes. Included are debugging aid, central-processing-unit time-monitoring program, source-code maintenance aids, print utilities, and library of useful, well-documented programs. Tools assist in reducing development time and encouraging high-quality programming. Although intended primarily for FORTRAN programmers, some tools used on data files and other programming languages. Written in FORTRAN 77.

Ragosta, Arthur E.↗

A rule based computer aided design system

A Computer Aided Design (CAD) system is presented which supports the iterative process of design, the dimensional continuity between mating parts, and the hierarchical structure of the parts in their assembled configuration. Prolog, an interactive logic programming language, is used to represent and interpret the data base. The solid geometry representing the parts is defined in parameterized form using the swept volume method. The system is demonstrated with a design of a spring piston.

Premack, T.↗

Study of fault-tolerant software technology

Presented is an overview of the current state of the art of fault-tolerant software and an analysis of quantitative techniques and models developed to assess its impact. It examines research efforts as well as experience gained from commercial application of these techniques. The paper also addresses the computer architecture and design implications on hardware, operating systems and programming languages (including Ada) of using fault-tolerant software in real-time aerospace applications. It concludes that fault-tolerant software has progressed beyond the pure research state. The paper also finds that, although not perfectly matched, newer architectural and language capabilities provide many of the notations and functions needed to effectively and efficiently implement software fault-tolerance.

Slivinski, T.↗

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.↗

General object-oriented software development

Object-oriented design techniques are gaining increasing popularity for use with the Ada programming language. A general approach to object-oriented design which synthesizes the principles of previous object-oriented methods into the overall software life-cycle, providing transitions from specification to design and from design to code. It therefore provides the basis for a general object-oriented development methodology.

Seidewitz, Edwin V.↗

A bibliography on parallel and vector numerical algorithms

This is a bibliography of numerical methods. It also includes a number of other references on machine architecture, programming language, and other topics of interest to scientific computing. Certain conference proceedings and anthologies which have been published in book form are listed also.

Ortega, J. M.↗

Scheduling real-time, periodic jobs using imprecise results

A process is called a monotone process if the accuracy of its intermediate results is non-decreasing as more time is spent to obtain the result. The result produced by a monotone process upon its normal termination is the desired result; the error in this result is zero. External events such as timeouts or crashes may cause the process to terminate prematurely. If the intermediate result produced by the process upon its premature termination is saved and made available, the application may still find the result unusable and, hence, acceptable; such a result is said to be an imprecise one. The error in an imprecise result is nonzero. The problem of scheduling periodic jobs to meet deadlines on a system that provides the necessary programming language primitives and run-time support for processes to return imprecise results is discussed. This problem differs from the traditional scheduling problems since the scheduler may choose to terminate a task before it is completed, causing it to produce an acceptable but imprecise result. Consequently, the amounts of processor time assigned to tasks in a valid schedule can be less than the amounts of time required to complete the tasks. A meaningful formulation of this problem taking into account the quality of the overall result is discussed. Three algorithms for scheduling jobs for which the effects of errors in results produced in different periods are not cumulative are described, and their relative merits are evaluated.

Liu, Jane W. S.↗

SAGA: A project to automate the management of software production systems

The SAGA system is a software environment that is designed to support most of the software development activities that occur in a software lifecycle. The system can be configured to support specific software development applications using given programming languages, tools, and methodologies. Meta-tools are provided to ease configuration. The SAGA system consists of a small number of software components that are adapted by the meta-tools into specific tools for use in the software development application. The modules are design so that the meta-tools can construct an environment which is both integrated and flexible. The SAGA project is documented in several papers which are presented.

Campbell, Roy H.↗

ENCOMPASS: A SAGA based environment for the compositon of programs and specifications, appendix A

ENCOMPASS is an example integrated software engineering environment being constructed by the SAGA project. ENCOMPASS supports the specification, design, construction and maintenance of efficient, validated, and verified programs in a modular programming language. The life cycle paradigm, schema of software configurations, and hierarchical library structure used by ENCOMPASS is presented. In ENCOMPASS, the software life cycle is viewed as a sequence of developments, each of which reuses components from the previous ones. Each development proceeds through the phases planning, requirements definition, validation, design, implementation, and system integration. The components in a software system are modeled as entities which have relationships between them. An entity may have different versions and different views of the same project are allowed. The simple entities supported by ENCOMPASS may be combined into modules which may be collected into projects. ENCOMPASS supports multiple programmers and projects using a hierarchical library system containing a workspace for each programmer; a project library for each project, and a global library common to all projects.

Terwilliger, Robert B.↗

ICASE Computer Science Program

The Institute for Computer Applications in Science and Engineering computer science program is discussed in outline form. Information is given on such topics as problem decomposition, algorithm development, programming languages, and parallel architectures.

Source record↗

Programming fault-tolerant distributed systems in Ada

Viewgraphs on the topic of programming fault-tolerant distributed systems in the Ada programming language are presented. Topics covered include project goals, Ada difficulties and solutions, testbed requirements, and virtual processors.

Voigt, Susan J.↗

Time-based air traffic management using expert systems

A prototype expert system has been developed for the time scheduling of aircraft into the terminal area. The three functions of the air-traffic-control schedule advisor are as follows: (1) for each new arrival, it develops an admisible flight plan for that aircraft; (2) as the aircraft progresses through the terminal area, it monitors deviations from the aircraft's flight plan and provides advisories to return the aircraft to its assigned schedule; and (3) if major disruptions such as missed approaches occur, it develops a revised plan. The advisor is operational on a Symbolics 3600, and is programmed in MRS (a logic programming language), Lisp, and Fortran.

Tobias, L.↗

Applications software supporting the Spartan Attitude Control System

The native software supporting a single mission for the Spartan Attitude Control System can require up to 40,000 lines of code. Most of this must be rewritten for each mission. Control system engineers use an array of Applications Software Packages residing in ground computers to write each mission's flight software. These Applications Packages are written in the 'C' programming language and run under the UNIX Operating System. This paper discusses each of the Attitude Control Applications Software Packages, and describes the purpose and design of each.

Stone, R. W.↗

The design and application of a Transportable Inference Engine (TIE1)

A Transportable Inference Engine (TIE1) system has been developed by the author as part of the Interactive Experimenter Planning System (IEPS) task which is involved with developing expert systems in support of the Spacecraft Control Programs Branch at Goddard Space Flight Center in Greenbelt, Maryland. Unlike traditional inference engines, TIE1 is written in the C programming language. In the TIE1 system, knowledge is represented by a hierarchical network of objects which have rule frames. The TIE1 search algorithm uses a set of strategies, including backward chaining, to obtain the values of goals. The application of TIE1 to a spacecraft scheduling problem is described. This application involves the development of a strategies interpreter which uses TIE1 to do constraint checking.

Mclean, David R.↗

Artificial intelligence planning applications for space exploration and space robotics

Mission sequencing involves the plan for actuation of the experiments to be conducted aboard a spacecraft; automation is under study by NASA as a means to reduce time and manpower costs in mission planning and in robotic implementation. The development of a mission sequence is conditioned by the limited duration of advantageous spacecraft encounters with objects of study, more research requests than can be satisfied, and requested changes in objectives. Autonomous robot development is hampered by the absence of task-level programming languages, the existence of anomalies in real-world interactions, and a lack of required capabilities in current sensor technology.

Rokey, Mark↗