Search NASA⌕ Search

SEARCH · Search NASA

Results for “functional programming”

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 271 records · Page 15

Modernization of software quality assurance

The customers satisfaction depends not only on functional performance, it also depends on the quality characteristics of the software products. An examination of this quality aspect of software products will provide a clear, well defined framework for quality assurance functions, which improve the life-cycle activities of software development. Software developers must be aware of the following aspects which have been expressed by many quality experts: quality cannot be added on; the level of quality built into a program is a function of the quality attributes employed during the development process; and finally, quality must be managed. These concepts have guided our development of the following definition for a Software Quality Assurance function: Software Quality Assurance is a formal, planned approach of actions designed to evaluate the degree of an identifiable set of quality attributes present in all software systems and their products. This paper is an explanation of how this definition was developed and how it is used.

Bhaumik, Gokul↗

Activity-Centric Approach to Distributed Programming

The first phase of an effort to develop a NASA version of the Cybele software system has been completed. To give meaning to even a highly abbreviated summary of the modifications to be embodied in the NASA version, it is necessary to present the following background information on Cybele: Cybele is a proprietary software infrastructure for use by programmers in developing agent-based application programs [complex application programs that contain autonomous, interacting components (agents)]. Cybele provides support for event handling from multiple sources, multithreading, concurrency control, migration, and load balancing. A Cybele agent follows a programming paradigm, called activity-centric programming, that enables an abstraction over system-level thread mechanisms. Activity centric programming relieves application programmers of the complex tasks of thread management, concurrency control, and event management. In order to provide such functionality, activity-centric programming demands support of other layers of software. This concludes the background information. In the first phase of the present development, a new architecture for Cybele was defined. In this architecture, Cybele follows a modular service-based approach to coupling of the programming and service layers of software architecture. In a service-based approach, the functionalities supported by activity-centric programming are apportioned, according to their characteristics, among several groups called services. A well-defined interface among all such services serves as a path that facilitates the maintenance and enhancement of such services without adverse effect on the whole software framework. The activity-centric application-program interface (API) is part of a kernel. The kernel API calls the services by use of their published interface. This approach makes it possible for any application code written exclusively under the API to be portable for any configuration of Cybele.

Levy, Renato↗

Polarbrdf: A General Purpose Python Package for Visualization Quantitative Analysis of Multi-Angular Remote Sensing Measurements

The Bidirectional Reflectance Distribution Function (BRDF) is a fundamental concept for characterizing the reflectance property of a surface, and helps in the analysis of remote sensing data from satellite, airborne and surface platforms. Multi-angular remote sensing measurements are required for the development and evaluation of BRDF models for improved characterization of surface properties. However, multi-angular data and the associated BRDF models are typically multidimensional involving multi-angular and multi-wavelength information. Effective visualization of such complex multidimensional measurements for different wavelength combinations is presently somewhat lacking in the literature, and could serve as a potentially useful research and teaching tool in aiding both interpretation and analysis of BRDF measurements. This article describes a newly developed software package in Python (PolarBRDF) to help visualize and analyze multi-angular data in polar and False Color Composite (FCC) forms. PolarBRDF also includes functionalities for computing important multi-angular reflectance/albedo parameters including spectral albedo, principal plane reflectance and spectral reflectance slope. Application of PolarBRDF is demonstrated using various case studies obtained from airborne multi-angular remote sensing measurements using NASA's Cloud Absorption Radiometer (CAR). Our visualization program also provides functionalities for untangling complex surface/atmosphere features embedded in pixel-based remote sensing measurements, such as the FCC imagery generation of BRDF measurements of grasslands in the presence of wild fire smoke and clouds. Furthermore, PolarBRDF also provides quantitative information of the angular distribution of scattered surface/atmosphere radiation, in the form of relevant BRDF variables such as sunglint, hotspot and scattering statistics.

CAR↗

Spline smoothing of histograms by linear programming

An algorithm for an approximating function to the frequency distribution is obtained from a sample of size n. To obtain the approximating function a histogram is made from the data. Next, Euclidean space approximations to the graph of the histogram using central B-splines as basis elements are obtained by linear programming. The approximating function has area one and is nonnegative.

Bennett, J. O.↗

SEASAT economic assessment. Volume 10: The SATIL 2 program (a program for the evaluation of the costs of an operational SEASAT system as a function of operational requirements and reliability

The SATIL 2 computer program was developed to assist with the programmatic evaluation of alternative approaches to establishing and maintaining a specified mix of operational sensors on spacecraft in an operational SEASAT system. The program computes the probability distributions of events (i.e., number of launch attempts, number of spacecraft purchased, etc.), annual recurring cost, and present value of recurring cost. This is accomplished for the specific task of placing a desired mix of sensors in orbit in an optimal fashion in order to satisfy a specified sensor demand function. Flow charts are shown, and printouts of the programs are given.

Source record↗

Science and the Constellation Systems Program Office

An underlying tension has existed throughout the history of NASA between the human spaceflight programs and the external scientific constituencies of the robotic exploration programs. The large human space projects have been perceived as squandering resources that might otherwise be utilized for scientific discoveries. In particular, the history of the relationship of science to the International Space Station Program has not been a happy one. The leadership of the Constellation Program Office, created in NASA in October, 2005, asked me to serve on the Program Manager s staff as a liaison to the science community. Through the creation of my position, the Program Manager wanted to communicate and elucidate decisions inside the program to the scientific community and, conversely, ensure that the community had a voice at the highest levels within the program. Almost all of my technical contributions at NASA, dating back to the Apollo Program, has been within the auspices of what is now known as the Science Mission Directorate. However, working at the Johnson Space Center, where human spaceflight is the principal activity, has given me a good deal of incidental contact and some more direct exposure through management positions to the structures and culture of human spaceflight programs. I entered the Constellation family somewhat naive but not uninformed. In addition to my background in NASA science, I have also written extensively over the past 25 years on the topic of human exploration of the Moon and Mars. (See, for example, Mendell, 1985). I have found that my scientific colleagues generally have little understanding of the structure and processes of a NASA program office; and many of them do not recognize the name, Constellation. In many respects, the international ILEWG community is better informed. Nevertheless, some NASA decision processes on the role of science, particularly with respect to the formulation of a lunar surface architecture, are not well known, even in ILEWG. At the recent annual Lunar and Planetary Science Conference, I reviewed the evolution of the program as a function of Agency leadership and the constraints put on NASA by the President in his 2004 announcement. I plan to continue my long-time ILEWG tradition of reporting a personal view of the state of development of human exploration of the solar system, this time coming from within the program office tasked to implement the vision for the United States. The current NASA implementation of the Vision for Space Exploration is consistent with certain classical scenarios that have been discussed extensively in the literature. I will discuss the role of science within the Vision, both from official policy and from a de facto interaction. While science goals are not officially driving the implementation of the Vision, the tools of scientific exploration are integral to defining the extraterrestrial design environments. In this respect the sharing of results from international missions to the Moon can make significant contributions to the success of the future human activities.

Mendell, Wendell↗

Statistical correlation of structural mode shapes from test measurements and NASTRAN analytical values

The software and procedures of a system of programs used to generate a report of the statistical correlation between NASTRAN modal analysis results and physical tests results from modal surveys are described. Topics discussed include: a mathematical description of statistical correlation, a user's guide for generating a statistical correlation report, a programmer's guide describing the organization and functions of individual programs leading to a statistical correlation report, and a set of examples including complete listings of programs, and input and output data.

Purves, L.↗

Structure Deformation Calculation Program Based on Displacement Theory for Shape Predictions

Separated programs were written in C/C++ to validate the Displacement Transfer Functions. The Structure Deformation Calculation Program was written to combine all of the programs to calculate deformed shapes of a structure using surface strain data and structural geometrical parameters. Users do not need to know the material properties, nor the complex internal structures geometry because the Displacement Theory is purely geometrical in nature. Users only need to know the structure types as defined in this report and information such as the structure length, depth factors, number of strain sensors, and the surface strains measured at the strain-sensing stations installed on the structures. Depending on the structure type, an applicable Displacement Transfer Function will be used. This program requires two input files created by users; the recorded strain data file in comma-separated values format and the structure geometry data file in text format. The program will output the out-of-plane deflections, slopes, cross-sectional twist angles, and depth factors if applicable. All output files are created in comma-separated values format. A section in this report describes step-by-step procedures on how to use the Structure Deformation Calculation Program for structure deformed shape calculations.

Displacement theory↗

A Computer Program for the Computation of Running Gear Temperatures Using Green's Function

A new technique has been developed to study two dimensional heat transfer problems in gears. This technique consists of transforming the heat equation into a line integral equation with the use of Green's theorem. The equation is then expressed in terms of eigenfunctions that satisfy the Helmholtz equation, and their corresponding eigenvalues for an arbitrarily shaped region of interest. The eigenfunction are obtalned by solving an intergral equation. Once the eigenfunctions are found, the temperature is expanded in terms of the eigenfunctions with unknown time dependent coefficients that can be solved by using Runge Kutta methods. The time integration is extremely efficient. Therefore, any changes in the time dependent coefficients or source terms in the boundary conditions do not impose a great computational burden on the user. The method is demonstrated by applying it to a sample gear tooth. Temperature histories at representative surface locatons are given.

GREENS FUNCTIONS↗

Experimentally-Derived Bidirectional Reflectance Distribution Function Data in Support of the Orbital Debris Program Office

The NASA Orbital Debris Program Office (ODPO) has used various optical assets to acquire photometric data of Earth-orbiting objects to define the orbital debris environment. To better characterize and model optical data acquired from ground-based telescopes, the Optical Measurements Center (OMC) at NASA Johnson Space Center emulates illumination conditions seen in space by using equipment and techniques that parallel telescopic observations and source-target-sensor orientations. One of the OMC goals is to improve the size calculation used for optical data by developing an optical-based Size Estimation Model. The current size estimation requires applying a Lambertian phase function, a set albedo value, and range to the observed magnitude. The first step to improving the sampled brightness of laboratory targets is to remove aspect-angle dependencies. Then, the volume of possible object viewing angles is sampled at 21 combinations of azimuth and zenith angles for each solar phase angle. Finally, the acquired images are input into an image processing program that generates approximations for the object’s Bidirectional Reflectance Distribution Function (BRDF) and phase function. The BRDF is a radiometric concept that identifies an object’s material composition by matching a BRDF approximated with photometric data collected by ground-based telescopes with a BRDF generated experimentally from a known object in the laboratory. This paper discusses the validation of experimental BRDF and phase function approximations produced in the OMC and how the findings will be incorporated into ODPO models. A Lambertian sphere is imaged and the subsequent experimental functions are scrutinized to confirm that they correspond to an object that has an isotropic luminance. With the image processing algorithm validated, test objects with varying optical properties are then imaged to confirm that the produced photometric functions are both unique and repeatable. Once the validation is complete, the OMC will be used to evaluate a subset of fragments from a hypervelocity impact test of a mock-up satellite and assess the appropriate phase function and size estimates using BRDF measurements for a large volume of targets composed of various shapes, sizes, and materials.

Orbital Debris Program Office (ODPO)↗

Second Generation RLV Space Vehicle Concept

NASA has a long history of conducting development programs and projects in a consistent fashion. Systems Engineering within those programs and projects has also followed a given method outlined by such documents as the NASA Systems Engineering Handbook. The relatively new NASA Space Launch Initiative (SLI) is taking a new approach to developing a space vehicle, with innovative management methods as well as new Systems Engineering processes. With the program less than a year into its life cycle, the efficacy of these new processes has yet to be proven or disproven. At $776M for phase 1, SLI represents a major portion of the NASA focus; however, the new processes being incorporated are not reflected in the training provided by NASA to its engineers. The NASA Academy of Program and Project Leadership (APPL) offers core classes in program and project management and systems engineering to NASA employees with the purpose of creating a "knowledge community where ideas, skills, and experiences are exchanged to increase each other's capacity for strong leadership". The SLI program is, in one sense, a combination of a conceptual design program and a technology program. The program as a whole doesn't map into the generic systems engineering project cycle as currently, and for some time, taught. For example, the NASA APPL Systems Engineering training course teaches that the "first step in developing an architecture is to define the external boundaries of the system", which will require definition of the interfaces with other systems and the next step will be to "define all the components that make up the next lower level of the system hierarchy" where fundamental requirements are allocated to each component. Whereas, the SLI technology risk reduction approach develops architecture subsystem technologies prior to developing architectures. The higher level architecture requirements are not allowed to fully develop and undergo decomposition and allocation down to the subsystems before the subsystems must develop allocated requirements based on the highest level of requirements. In the vernacular of the project cycles prior to the mid 1990's, the architecture definition portion of the program appears to be at a generic Phase A stage, while the subsystems are operating at Phase B. Even the management structure of the SLI program is innovative in its approach to Systems Engineering and is not reflected in the APPL training modules. The SLI program has established a Systems Engineering office as an office separate from the architecture development or the subsystem technology development, while that office does have representatives within these other offices. The distributed resources of the Systems Engineering Office are co-located with the respective Project Offices. This template is intended to provide systems engineering as an integrated function at the Program Level. the program management of SLI and the MAT agree that "program/project managers and the systems engineering team must work closely together towards the single objective of delivering quality products that meet the customer needs". This paper will explore the differences between the methods being taught by NASA, which represent decades of ideas, and those currently in practice in SLI. Time will tell if the innovation employed by SLI will prove to be the model of the future. For now, it is suggested that the training of the present exercise the flexibility of recognizing the new processes employed by a major new NASA program.

Bailey, Michelle↗

Program Instrumentation and Trace Analysis

Several attempts have been made recently to apply techniques such as model checking and theorem proving to the analysis of programs. This shall be seen as a current trend to analyze real software systems instead of just their designs. This includes our own effort to develop a model checker for Java, the Java PathFinder 1, one of the very first of its kind in 1998. However, model checking cannot handle very large programs without some kind of abstraction of the program. This paper describes a complementary scalable technique to handle such large programs. Our interest is turned on the observation part of the equation: How much information can be extracted about a program from observing a single execution trace? It is our intention to develop a technology that can be applied automatically and to large full-size applications, with minimal modification to the code. We present a tool, Java PathExplorer (JPaX), for exploring execution traces of Java programs. The tool prioritizes scalability for completeness, and is directed towards detecting errors in programs, not to prove correctness. One core element in JPaX is an instrumentation package that allows to instrument Java byte code files to log various events when executed. The instrumentation is driven by a user provided script that specifies what information to log. Examples of instructions that such a script can contain are: 'report name and arguments of all called methods defined in class C, together with a timestamp'; 'report all updates to all variables'; and 'report all acquisitions and releases of locks'. In more complex instructions one can specify that certain expressions should be evaluated and even that certain code should be executed under various conditions. The instrumentation package can hence be seen as implementing Aspect Oriented Programming for Java in the sense that one can add functionality to a Java program without explicitly changing the code of the original program, but one rather writes an aspect and compiles it into the original program using the instrumentation. Another core element of JPaX is an observation package that supports the analysis of the generated event stream. Two kinds of analysis are currently supported. In temporal analysis the execution trace is evaluated against formulae written in temporal logic. We have implemented a temporal logic evaluator on finite traces using the Maude rewriting system from SRI International, USA. Temporal logic is defined in Maude by giving its syntax as a signature and its semantics as rewrite equations. The resulting semantics is extremely efficient and can handle event streams of hundreds of millions events in few minutes. Furthermore, the implementation is very succinct. The second form of even stream analysis supported is error pattern analysis where an execution trace is analyzed using various error detection algorithms that can identify error-prone programming practices that may potentially lead to errors in some different executions. Two such algorithms focusing on concurrency errors have been implemented in JPaX, one for deadlocks and the other for data races. It is important to note, that a deadlock or data race potential does not need to occur in order for its potential to be detected with these algorithms. This is what makes them very scalable in practice. The data race algorithm implemented is the Eraser algorithm from Compaq, however adopted to Java. The tool is currently being applied to a code base for controlling a spacecraft by the developers of that software in order to evaluate its applicability.

Havelund, Klaus↗

Experimentally-Derived Phase Function Approximations in Support of the Orbital Debris Program Office

The NASA Orbital Debris Program Office (ODPO) has used various optical assets to acquire photometric data of Earth-orbiting objects to define the orbital debris environment. To better characterize and model optical data acquired from ground-based telescopes, the Optical Measurements Center (OMC) at NASA Johnson Space Center emulates illumination conditions seen in space by using equipment and techniques that parallel telescopic observations and source-target-sensor orientations. One of the OMC goals is to improve the size calculation used for optical data by developing an optical-based Size Estimation Model. The current size estimation requires applying a Lambertian phase function, a set albedo value, and range to the observed magnitude. The first step to improving the sampled brightness of laboratory targets is to remove aspect-angle dependencies. Then, the volume of possible object viewing angles is sampled at 21 combinations of azimuth and elevation angles for each solar phase angle. Finally, the acquired images are input into an image processing program that generates approximations for the object’s Bidirectional Reflectance Distribution Function (BRDF) and phase function. The BRDF is a radiometric concept that identifies an object’s material composition by matching a BRDF approximated with photometric data collected by ground-based telescopes with a BRDF generated experimentally from a known object in the laboratory. This paper presents the initial BRDF and phase function approximations for various fragments/targets acquired in the OMC and how the findings will be incorporated into ODPO models. A Lambertian sphere is used as a baseline for initial size estimation calculations and phase function comparisons. Spacecraft materials and fragments from hypervelocity laboratory impact tests are also presented to compare against the current assumed Lambertian phase function used for size estimates. This paper presents the preliminary phase function analysis and plan forward to utilize a laboratory-based phase function to improve the current optical size estimates using BRDF measurements for a large volume of targets composed of various shapes, sizes, and materials.

Hostetler, J.↗

NASTRAN thermal analyzer in a unified finite-element treatment of thermo-structural analyses

The NASTRAN thermal analyzer (NTA) which performs large-scale unified thermo-structural analyses with the NASTRAN (NASA structural analysis) computer program is described. The mathematical similitude between these two distinct disciplines of thermal and structure is examined. It serves as the theoretical basis upon which the implementation of the thermal capability in NASTRAN was accomplished. The program structure, the functional flow, the solution algorithms, the organization of an input data deck and the solution capabilities of NTA are summarized. Emphasis is placed on the interface of the unified approach in thermo-structural analyses where stresses, deflections, vibrations and bucklings induced by the effect of temperature change are of concern. Attentions are also directed to the preprocessor and post processors. As a specially designed preprocessor, the VIEW program is capable of generating exchange factors which can be output, at user's option, in formats compatible with that required by NTA. Two post processors that serve specific objectives are included. They are the thermal variance analysis and the graphical displaying capability of temperatures in color or black and white.

Lee, H. P.↗

A Monte Carlo error analysis program for near-Mars, finite-burn, orbital transfer maneuvers

A computer program was developed which performs an error analysis of a minimum-fuel, finite-thrust, transfer maneuver between two Keplerian orbits in the vicinity of Mars. The method of analysis is the Monte Carlo approach where each off-nominal initial orbit is targeted to the desired final orbit. The errors in the initial orbit are described by two covariance matrices of state deviations and tracking errors. The function of the program is to relate these errors to the resulting errors in the final orbit. The equations of motion for the transfer trajectory are those of a spacecraft maneuvering with constant thrust and mass-flow rate in the neighborhood of a single body. The thrust vector is allowed to rotate in a plane with a constant pitch rate. The transfer trajectory is characterized by six control parameters and the final orbit is defined, or partially defined, by the desired target parameters. The program is applicable to the deboost maneuver (hyperbola to ellipse), orbital trim maneuver (ellipse to ellipse), fly-by maneuver (hyperbola to hyperbola), escape maneuvers (ellipse to hyperbola), and deorbit maneuver.

Green, R. N.↗

SPOT Program

A Spacecraft Position Optimal Tracking (SPOT) program was developed to process Global Positioning System (GPS) data, sent via telemetry from a spacecraft, to generate accurate navigation estimates of the vehicle position and velocity (state vector) using a Kalman filter. This program uses the GPS onboard receiver measurements to sequentially calculate the vehicle state vectors and provide this information to ground flight controllers. It is the first real-time ground-based shuttle navigation application using onboard sensors. The program is compact, portable, self-contained, and can run on a variety of UNIX or Linux computers. The program has a modular objec-toriented design that supports application-specific plugins such as data corruption remediation pre-processing and remote graphics display. The Kalman filter is extensible to additional sensor types or force models. The Kalman filter design is also strong against data dropouts because it uses physical models from state and covariance propagation in the absence of data. The design of this program separates the functionalities of SPOT into six different executable processes. This allows for the individual processes to be connected in an a la carte manner, making the feature set and executable complexity of SPOT adaptable to the needs of the user. Also, these processes need not be executed on the same workstation. This allows for communications between SPOT processes executing on the same Local Area Network (LAN). Thus, SPOT can be executed in a distributed sense with the capability for a team of flight controllers to efficiently share the same trajectory information currently being computed by the program. SPOT is used in the Mission Control Center (MCC) for Space Shuttle Program (SSP) and International Space Station Program (ISSP) operations, and can also be used as a post -flight analysis tool. It is primarily used for situational awareness, and for contingency situations.

Smith, Jason T.↗

Gateway Program Progress and Overview

This paper provides an overview and status of the Gateway, which will be a small, human-tended space station in orbit around the Moon. The National Aeronautics and Space Administration (NASA) leads the Program and serves as the integrator of the spaceflight capabilities and contributions of U.S. commercial partners and international partners to develop the Gateway. Gateway is the cornerstone of sustainable deep space human exploration and is an essential element of the infrastructure necessary for the execution of the Artemis missions to the Moon. This paper will outline the current planned configuration and deployment of the station, describing the concept of operations and how Gateway supports both lunar surface missions and also serves as the springboard for exploration deeper in space. Calendar year 2022 will see the accomplishments of major milestones such as over twenty systems preliminary design reviews (PDRs), a Program-wide PDR-informed synchronization review, and NASA Key Decision Point marking the evolution of the program as a whole from the formulation phase and into implementation. This paper will provide a progress update for each major component of the Gateway: The Power and Propulsion Element; the Habitation and Logistics Outpost (HALO); Deep Space Logistics; the International Habitation module; the European System Providing Refueling, Infrastructure, and Telecommunications (ESPRIT), which includes a Refueler Module and the HALO Lunar Communications System; External Robotics System; and an Airlock with both science and crew capabilities. For each component, the paper will describe the current maturity of the modules, acquisition strategy, contracts, and if applicable, international partnership status. This paper will also outline the integration function the Gateway Program Office performs at the NASA Johnson Space Center, including the multilateral governance structure and cross-program interfaces across Artemis.

Gateway↗