Engineering Papers⌕ Search

SEARCH · Engineering Papers

Results for “Programming Framework”

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 127 records · Page 7

Mixed Integer Programming and Heuristic Scheduling for Space Communication Networks

We developed framework and the mathematical formulation for optimizing communication network using mixed integer programming. The design yields a system that is much smaller, in search space size, when compared to the earlier approach. Our constrained network optimization takes into account the dynamics of link performance within the network along with mission and operation requirements. A unique penalty function is introduced to transform the mixed integer programming into the more manageable problem of searching in a continuous space. The constrained optimization problem was proposed to solve in two stages: first using the heuristic Particle Swarming Optimization algorithm to get a good initial starting point, and then feeding the result into the Sequential Quadratic Programming algorithm to achieve the final optimal schedule. We demonstrate the above planning and scheduling methodology with a scenario of 20 spacecraft and 3 ground stations of a Deep Space Network site. Our approach and framework have been simple and flexible so that problems with larger number of constraints and network can be easily adapted and solved.

Mixed Integer Programming↗

Closing the Gap Between Specification and Programming: VDM++ and SCALA

We argue that a modern programming language such as Scala offers a level of succinctness, which makes it suitable for program and systems specification as well as for high-level programming. We illustrate this by comparing the language with the Vdm++ specification language. The comparison also identifies areas where Scala perhaps could be improved, inspired by Vdm++. We furthermore illustrate Scala's potential as a specification language by augmenting it with a combination of parameterized state machines and temporal logic, defined as a library, thereby forming an expressive but simple runtime verification framework.

programming↗

PASS: A computer program for Preliminary Aircraft Structural Synthesis

A computer code for Preliminary Aircraft Structural Synthesis provides rapid and accurate analysis for aircraft structures that can be adequately modeled by beam finite elements. The philosophy used in developing the program was to provide a basic framework that can be used for structural synthesis. It is anticipated that a user will need to add detail to this framework in order to perform his specific task. With this philosophy in mind, the program was written so that it is easily divided into segments, thereby making it readily adaptable. The theoretical portion of this manual describes the basic structure of the program and details the development of the unique beam element that is used. The present capability of the algorithm is stated and suggestions are made regarding enhancements to this capability. User information is also given that provides an overview of the program's construction, identifies the required inputs, describes the program output, provides some comments on the program use, and exhibits results for a simple example.

Johnson, E. H.↗

ControlShell: A real-time software framework

The ControlShell system is a programming environment that enables the development and implementation of complex real-time software. It includes many building tools for complex systems, such as a graphical finite state machine (FSM) tool to provide strategic control. ControlShell has a component-based design, providing interface definitions and mechanisms for building real-time code modules along with providing basic data management. Some of the system-building tools incorporated in ControlShell are a graphical data flow editor, a component data requirement editor, and a state-machine editor. It also includes a distributed data flow package, an execution configuration manager, a matrix package, and an object database and dynamic binding facility. This paper presents an overview of ControlShell's architecture and examines the functions of several of its tools.

Schneider, Stanley A.↗

Infrastructure for Rapid Development of Java GUI Programs

The Java Application Shell (JAS) is a software framework that accelerates the development of Java graphical-user-interface (GUI) application programs by enabling the reuse of common, proven GUI elements, as distinguished from writing custom code for GUI elements. JAS is a software infrastructure upon which Java interactive application programs and graphical user interfaces (GUIs) for those programs can be built as sets of plug-ins. JAS provides an application- programming interface that is extensible by application-specific plugins that describe and encapsulate both specifications of a GUI and application-specific functionality tied to the specified GUI elements. The desired GUI elements are specified in Extensible Markup Language (XML) descriptions instead of in compiled code. JAS reads and interprets these descriptions, then creates and configures a corresponding GUI from a standard set of generic, reusable GUI elements. These elements are then attached (again, according to the XML descriptions) to application-specific compiled code and scripts. An application program constructed by use of JAS as its core can be extended by writing new plug-ins and replacing existing plug-ins. Thus, JAS solves many problems that Java programmers generally solve anew for each project, thereby reducing development and testing time.

Jones, Jeremy↗

Planetary geosciences, 1989-1990

NASA's Planetary Geosciences Programs (the Planetary Geology and Geophysics and the Planetary Material and Geochemistry Programs) provide support and an organizational framework for scientific research on solid bodies of the solar system. These research and analysis programs support scientific research aimed at increasing our understanding of the physical, chemical, and dynamic nature of the solid bodies of the solar system: the Moon, the terrestrial planets, the satellites of the outer planets, the rings, the asteroids, and the comets. This research is conducted using a variety of methods: laboratory experiments, theoretical approaches, data analysis, and Earth analog techniques. Through research supported by these programs, we are expanding our understanding of the origin and evolution of the solar system. This document is intended to provide an overview of the more significant scientific findings and discoveries made this year by scientists supported by the Planetary Geosciences Program. To a large degree, these results and discoveries are the measure of success of the programs.

Zuber, Maria T.↗

NASA spacecraft propulsion activities

The NASA's activities in the development of spacecraft propulsion systems are reviewed, with emphasis on program directions and recent progress made in this domain. The recent trends towards the use of smaller spacecraft and launch vehicles call for new onboard propulsion systems. The NASA's efforts are conducted within the framework of the onboard propulsion program. The research and development work carried out in relation to the different propulsion system technologies are considered: electromagnetic systems; electrostatic systems; electrothermal systems; bipropellant systems; and monopropellant systems.

Curran, Francis M.↗

Gas-Granular Simulation Framework for Spacecraft Landing Plume-Surface Interaction and Debris Transport Analysis

The Gas-Granular Flow Solver (GGFS) multi-phase flow computational framework has been developed to enable simulations of particle flows complex extra-terrestrial regolith materials. Particle flows of interest include the damage of unprepared landing sites from rocket plume impingement on Moon, Mars, and asteroids. The flow solver implements an Eulerian-Eulerian two-fluid model with fluid representation of the gas phase and granular phase to avoid the need to model billions of particle interactions. The granular phase is modeled as an Eulerian fluid with constituent physics closure models derived from first-principle Discrete Element Model (DEM) particle interaction simulations that capture the complex, non-linear granular particle interaction effects. Granular phase constituent models have been developed and integrated that address the complex, non-linear granular material mechanics complexities resulting from both: the irregular, jagged particle shapes and poly-disperse mixture effects encountered in extra-terrestrial regolith, with lunar regolith as the extreme. The GGFS capabilities are being integrated into a proven NASA plume-surface interaction and debris transport simulation framework featuring the Loci/CHEM CFD program and Debris Transport Analysis (DTA) post-processing tools for applications in robotic and human Moon and Mars lander development. Integration of the three simulation tool components. Loci/CHEM, GGFS, and DTA, into a coordinated simulation framework will enable time-accurate spacecraft landing simulations that account for the alteration of the landing surface through plume-induced cratering and the resulting redirection of plume impingement flow and debris transport. Initial implementation of this simulation framework and application examples will be presented.

Liever, Peter A.↗

NASA's Advanced Information Systems Technology (AIST): Combining New Observing Strategies and Analytics Frameworks to Build Earth System Digital Twins

NASA's Advanced Information Systems Technology (AIST) Program is one of several Technology programs managed by the Earth Science Technology Office (ESTO) in the Earth Science Division (ESD). The AIST Program focuses on advanced information systems and novel computer science technologies that will be needed by NASA Earth Science in the next 5 to 10 years. The three main thrusts of the AIST Program deal with New Observing Strategies, Analytic Collaborative Frameworks and Earth System Digital Twins. This paper describes these three thrusts and how they work together to create future Earth Science information systems.

Jacqueline Le Moigne↗

Constellation Program: Lessons Learned: Executive Summary - Volume 1

This document (Volume I) provides an executive summary of the lessons learned from the Constellation Program. A companion Volume II provides more detailed analyses for those seeking further insight and information. In this volume, Section 1.0 introduces the approach in preparing and organizing the content to enable rapid assimilation of the lessons. Section 2.0 describes the contextual framework in which the Constellation Program was formulated and functioned that is necessary to understand most of the lessons. Context of a former program may seem irrelevant in the heady days of new program formulation. However, readers should take some time to understand the context. Many of the lessons would be different in a different context, so the reader should reflect on the similarities and differences in his or her current circumstances. Section 3.0 summarizes key findings developed from the significant lessons learned at the program level that appear in Section 4.0. Readers can use the key findings in Section 3.0 to peruse for particular topics, and will find more supporting detail and analyses in Section 4.0 in a topical format. Appendix A contains a white paper describing the Constellation Program formulation that may be of use to readers wanting more context or background information. The reader will no doubt recognize some very similar themes from previous lessons learned, blue-ribbon committee reviews, National Academy reviews, and advisory panel reviews for this and other large-scale human spaceflight programs; including Apollo, Space Shuttle, Shuttle/Mir, and the ISS. This could represent an inability to learn lessons from previous generations; however, it is more likely that similar challenges persist in the Agency structure and approach to program formulation, budget advocacy, and management. Perhaps the greatest value of these Constellation lessons learned can be found in viewing them in context with these previous efforts to guide and advise the Agency and its stakeholders.

Constellation Program↗

Introduction

Progress reported on principle NASA programs for the reduction of aircraft engine noise emphasizes the Quiet Engine Program. Considered are fan noise and performance, fan noise suppression, and jet noise reduction for a broad spectrum of airplanes including new subsonic airplanes, the older subsonic airplanes in service today, STOL airplanes of the future, and future supersonic transports. Noise reductions achieved in the framework of the Quiet Engine Program are demonstrated and future possible applications of low noise technology to airplanes are discussed.

Sanders, N. D.↗

Satellite observations of weather and climate

The SEASAT-A program is viewed as a new way to obtain atmospheric observations for weather and climatic studies in the framework of the Global Atmospheric Research Program (GARP). Total information derived from SEASAT-A sensor package provides a synoptic picture of the upper parts of the world's oceans as a prerequisite to the development of dynamic ocean models and combined ocean/atmospheric models for weather forecasting requirements.

Kellogg, W. W.↗

Developing CORBA-Based Distributed Scientific Applications from Legacy Fortran Programs

Recent progress in distributed object technology has enabled software applications to be developed and deployed easily such that objects or components can work together across the boundaries of the network, different operating systems, and different languages. A distributed object is not necessarily a complete application but rather a reusable, self-contained piece of software that co-operates with other objects in a plug-and-play fashion via a well-defined interface. The Common Object Request Broker Architecture (CORBA), a middleware standard defined by the Object Management Group (OMG), uses the Interface Definition Language (IDL) to specify such an interface for transparent communication between distributed objects. Since IDL can be mapped to any programming language, such as C++, Java, Smalltalk, etc., existing applications can be integrated into a new application and hence the tasks of code re-writing and software maintenance can be reduced. Many scientific applications in aerodynamics and solid mechanics are written in Fortran. Refitting these legacy Fortran codes with CORBA objects can increase the codes reusability. For example, scientists could link their scientific applications to vintage Fortran programs such as Partial Differential Equation(PDE) solvers in a plug-and-play fashion. Unfortunately, CORBA IDL to Fortran mapping has not been proposed and there seems to be no direct method of generating CORBA objects from Fortran without having to resort to manually writing C/C++ wrappers. In this paper, we present an efficient methodology to integrate Fortran legacy programs into a distributed object framework. Issues and strategies regarding the conversion and decomposition of Fortran codes into CORBA objects are discussed. The following diagram shows the conversion and decomposition mechanism we proposed. Our goal is to keep the Fortran codes unmodified. The conversion- aided tool takes the Fortran application program as input and helps programmers generate C/C++ header file and IDL file for wrapping the Fortran code. Programmers need to determine by themselves how to decompose the legacy application into several reusable components based on the cohesion and coupling factors among the functions and subroutines. However, programming effort still can be greatly reduced because function headings and types have been converted to C++ and IDL styles. Most Fortran applications use the COMMON block to facilitate the transfer of large amount of variables among several functions. The COMMON block plays the similar role of global variables used in C. In the CORBA-compliant programming environment, global variables can not be used to pass values between objects. One approach to dealing with this problem is to put the COMMON variables into the parameter list. We do not adopt this approach because it requires modification of the Fortran source code which violates our design consideration. Our approach is to extract the COMMON blocks and convert them into a structure-typed attribute in C++. Through attributes, each component can initialize the variables and return the computation result back to the client. We have tested successfully the proposed conversion methodology based on the f2c converter. Since f2c only translates Fortran to C, we still needed to edit the converted code to meet the C++ and IDL syntax. For example, C++/IDL requires a tag in the structure type, while C does not. In this paper, we identify the necessary changes to the f2c converter in order to directly generate the C++ header and the IDL file. Our future work is to add GUI interface to ease the decomposition task by simply dragging and dropping icons.

Sang, Janche↗

Automata-Based Verification of Temporal Properties on Running Programs

This paper presents an approach to checking a running program against its Linear Temporal Logic (LTL) specifications. LTL is a widely used logic for expressing properties of programs viewed as sets of executions. Our approach consists of translating LTL formulae to finite-state automata, which are used as observers of the program behavior. The translation algorithm we propose modifies standard LTL to Buchi automata conversion techniques to generate automata that check finite program traces. The algorithm has been implemented in a tool, which has been integrated with the generic JPaX framework for runtime analysis of Java programs.

Giannakopoulou, Dimitra↗

Runtime Analysis of Linear Temporal Logic Specifications

This report presents an approach to checking a running program against its Linear Temporal Logic (LTL) specifications. LTL is a widely used logic for expressing properties of programs viewed as sets of executions. Our approach consists of translating LTL formulae to finite-state automata, which are used as observers of the program behavior. The translation algorithm we propose modifies standard LTL to B chi automata conversion techniques to generate automata that check finite program traces. The algorithm has been implemented in a tool, which has been integrated with the generic JPaX framework for runtime analysis of Java programs.

Giannakopoulou, Dimitra↗

Model Checking JAVA Programs Using Java Pathfinder

This paper describes a translator called JAVA PATHFINDER from JAVA to PROMELA, the "programming language" of the SPIN model checker. The purpose is to establish a framework for verification and debugging of JAVA programs based on model checking. This work should be seen in a broader attempt to make formal methods applicable "in the loop" of programming within NASA's areas such as space, aviation, and robotics. Our main goal is to create automated formal methods such that programmers themselves can apply these in their daily work (in the loop) without the need for specialists to manually reformulate a program into a different notation in order to analyze the program. This work is a continuation of an effort to formally verify, using SPIN, a multi-threaded operating system programmed in Lisp for the Deep-Space 1 spacecraft, and of previous work in applying existing model checkers and theorem provers to real applications.

Havelund, Klaus↗

NASA Procurement Career Development Program

The NASA Procurement Career Development Program establishes an agency-wide framework for the management of career development activity in the procurement field. Within this framework, installations are encouraged to modify the various components to meet installation-specific mission and organization requirements. This program provides a systematic process for the assessment of and planning for the development, training, and education required to increase the employees' competence in the procurement work functions. It includes the agency-wide basic knowledge and skills by career field and level upon which individual and organizational development plans are developed. Also, it provides a system that is compatible with other human resource management and development systems, processes, and activities. The compatibility and linkage are important in fostering the dual responsibility of the individual and the organization in the career development process.

Source record↗

Parallel Hybrid Turboprop Performance Modeling and Optimization

NASA’s Electrified Powertrain Flight Demonstration (EPFD) project conducts ground and flight tests of integrated Megawatt (MW) class hybrid-electric powertrain systems on regional turboprop aircraft demonstrators. To meet the increased demand for assessment of potential capabilities and benefits from these novel vehicle configurations, NASA is developing tooling and models to estimate the performance of hybridized regional turboprops. This paper covers the development of a parametrically driven performance model for a De Havilland Canada Dash 8-400 (Q400) regional turboprop integrated with a novel parallel hybrid architecture using the Gascon framework. Gascon is a modern reimplementation of the General Aviation Synthesis Program (GASP) built using the Condor mathematical modeling framework in Python. Within Gascon, a parametric representation of the parallel hybrid architecture was synthesized, which features the electric motor coupled to the power turbine. This capability allows for in-the-loop optimization of the parametric parallel hybrid architecture to characterize the mission capabilities and fuel savings of the design and determine optimal power scheduling strategies for efficient electric power management for a given mission. The study shows that a fuel savings of up to 20% can be achieved, but that increased fuel savings comes at the expense of payload capacity.

Gascon↗