Engineering Papers⌕ Search

SEARCH · Engineering Papers

Results for “Object-oriented 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 127 records · Page 7

Fortran for the nineties

Fortran has largely enjoyed prominence for the past few decades as the computer programming language of choice for numerically intensive scientific, engineering, and process control applications. Fortran's well understood static language syntax has allowed resulting parsers and compiler optimizing technologies to often generate among the most efficient and fastest run-time executables, particularly on high-end scalar and vector supercomputers. Computing architectures and paradigms have changed considerably since the last ANSI/ISO Fortran release in 1978, and while FORTRAN 77 has more than survived, it's aged features provide only partial functionality for today's demanding computing environments. The simple block procedural languages have been necessarily evolving, or giving way, to specialized supercomputing, network resource, and object-oriented paradigms. To address these new computing demands, ANSI has worked for the last 12-years with three international public reviews to deliver Fortran 90. Fortran 90 has superseded and replaced ISO FORTRAN 77 internationally as the sole Fortran standard; while in the US, Fortran 90 is expected to be adopted as the ANSI standard this summer, coexisting with ANSI FORTRAN 77 until at least 1996. The development path and current state of Fortran will be briefly described highlighting the many new Fortran 90 syntactic and semantic additions which support (among others): free form source; array syntax; new control structures; modules and interfaces; pointers; derived data types; dynamic memory; enhanced I/O; operator overloading; data abstraction; user optional arguments; new intrinsics for array, bit manipulation, and system inquiry; and enhanced portability through better generic control of underlying system arithmetic models. Examples from dynamical astronomy, signal and image processing will attempt to illustrate Fortran 90's applicability to today's general scalar, vector, and parallel scientific and engineering requirements and object oriented programming paradigms. Time permitting, current work proceeding on the future development of Fortran 2000 and collateral standards will be introduced.

Himer, J. T.↗

Multiscale and Machine Learning Modeling for Process-informed Microstructure Prediction in Additively Manufactured Materials using MALAMUTE

The Advanced Materials and Manufacturing Technologies (AMMT) program under the Department of Energy Office of Nuclear Energy aims to develop and qualify additively manufactured materials for nuclear applications. One key challenge to this is the microstructural variability observed in the additively manufactured products and their impact on the properties and performance of the material in extreme environments. AMMT is using a combination of high-throughput experimental and modeling techniques to accelerate qualification. Conventionally, in-situ and ex-situ characterizations and testing are performed to correlate different aspects of the additive manufacturing process to the final product and its performance. However, adopting a trial-and-error approach to experimentally evaluate the vast range of process parameters required to capture microstructural variability is cost-prohibitive. Modeling and simulation provide a comparatively inexpensive way to understand and correlate the microstructural evolution to the processing conditions. The modeling and simulation work-packages within the AMMT program aims to use physics-based and machine learning models to develop a digital twin for additive manufacturing that can correlate the process conditions to the final product and establish a process-structure-property-performance (PSPP) correlation. The melting and subsequent solidification that occurs during the additive process is a complex phenomenon that requires multiscale multiphysics analysis. This work package focuses on understanding the role of process variabilities on the unique microstructural characteristics of additively manufactured materials. Microstructural features at the subgrain level, such as compositional micro-heterogeneity and dislocation cells, are of particular interest here since they can influence the creep properties and radiation performance. Idaho National Laboratory’s Multiphysics Object-Oriented Simulation Environment (MOOSE), specifically the MOOSE Application Library for Advanced Manufacturing UTilitiEs (MALAMUTE) software, provides an ideal platform for developing the multiphysics multiscale model to explore the intricacies of the microstructural evolution during the AM processes within a single framework. Furthermore, given that such full-fidelity simulations can be computationally intensive, reduced order models are necessary to explore the PSPP space for additively manufactured materials in an efficient, reliable, and cost-effective way. This work focuses on capturing the microstructural variabilities at the subgrain level that are often missing in the part-scale models. In fiscal year 2025, we significantly advanced upon our work in the last fiscal year, in terms of the predictive capabilities of the physics-based and ML models, by adding the capabilities to capture subgrain-level micro-segregation during solidification using phase-field model and to predict the time-dependent dynamics of the AM process through the MOGPAR model. The alloy solidification model in MOOSE incorporates the thermodynamic properties and free energy relevant to 316 stainless steel. The model demonstrates the Cr and Ni segregation that occurs during solidification, including that the rate of solidification. The microstructural evolution model is connected to the process conditions via the surrogate model developed in this work. This enables predictions of the final microstructure in conjunctions with the manufacturing process. This work supports AMMT's rapid qualification goals by laying the foundation for an efficient and cost-effective model establishing the PSPP correlation for AM. The generated microstructures and predicted micro-segregation can be used by other work packages under AMMT to evaluate the properties and environmental response of the material at the mesoscale. Thus, this work helps to identify the key microstructural features at the subgrain level that are significant in property and performance predictions of additively manufactured components. This work will also provide inputs to the large-scale process variability models to reevaluate and validate assumptions and simplifications made in the part-scale models. Furthermore, through active learning this work can help identify the data need from both modeling and experimental sides for development of a robust digital twin for additive manufacturing and accelerate the AMMT's qualification efforts.

36 - MATERIALS SCIENCE↗

An expert system to advise astronauts during experiments: The protocol manager module

Perhaps the scarcest resource for manned flight experiments - on Spacelab or on the Space Station Freedom - will continue to be crew time. To maximize the efficiency of the crew and to make use of their abilities to work as scientist collaborators as well as equipment operators, normally requires more training in a wide variety of disciplines than is practical. The successful application of on-board expert systems, as envisioned by the Principal Investigator in a Box program, should alleviate the training bottleneck and provide the astronaut with the guidance and coaching needed to permit him or her to operate an experiment according to the desires and knowledge of the PI, despite changes in conditions. The Protocol Manager module of the system is discussed. The Protocol Manager receives experiment data that has been summarized and categorized by the other modules. The Protocol Manager acts on the data in real-time, by employing expert system techniques. Its recommendations are based on heuristics provided by the Principal Investigator in charge of the experiment. This prototype was developed on a Macintosh II by employing CLIPS, a forward-chaining rule-based system, and HyperCard as an object-oriented user interface builder.

Haymann-Haber, Guido↗

Software Quality Assurance for the MOOSE-Based Open-Source Multiphysics Code Cardinal - An Expanded CI Testing Suite

Cardinal is a wrapping of the GPU-oriented spectral element Computational Fluid Dynamics (CFD) code NekRS and the Monte Carlo particle transport code OpenMC within the Multiphysics Object-Oriented Simulation Environment (MOOSE). Cardinal provides high-resolution thermal-hydraulics and/or radiation transport feedback to MOOSE multiphysics simulations. Multiphysics feedback is implemented in a geometry-agnostic manner which eliminates the need for rigid one-to-one mappings. A generic data transfer implementation also allows NekRS and OpenMC to couple to any MOOSE application, enabling a broad set of multiphysics capabilities. Cardinal simulations can also leverage combinations of MPI, OpenMP, and GPU resources. Cardinal continuous development and improvement efforts have led to the software being considered as a high-fidelity design and licensing tool for key areas of nuclear reactor relevant physics, including neutron transport, fluid flow, heat transfer, and mechanical processes. The fast development and expansion of the software from a pure R&D framework towards its application in the nuclear industry and regulation require a focus on developing, enhancing and, maintaining Cardinal’s software quality through strict adherence to a Software Quality Assurance (SQA) framework and SQA program. To facilitate compliance with SQA standards, the Cardinal SQA Program has been initiated during Fiscal Year 2023 (FY23). During the development of the Cardinal SQA Program, multiple gaps have been identified. These gaps are primarily related to model verification and code pedigree as they relate to the use of Cardinal as a safety analysis tool. These gaps have been captured in a report published in 2023. A second report highlighted the progress made during Fiscal Year 2024 (FY24) and described Argonne’s effort to document and integrate software verification within Cardinal’s software development process. This report documents a snapshot of the verification test cases currently available for Cardinal and NekRS in their assimilation into a Continuous Integration (CI) platform. Following the CI practice permits the integrating of source code changes frequently and ensuring that the integrated codebase clears the verification testing for the software. It should be noted that the SQA program itself, including the program plans, procedures, configuration management, and testing strategies, need to be developed in a future step of this task.

22 GENERAL STUDIES OF NUCLEAR REACTORS↗

Progress Towards NQA-1 for Cardinal in FY25

Cardinal is a wrapping of the GPU-oriented spectral element Computational Fluid Dynamics (CFD) code NekRS and the Monte Carlo particle transport code OpenMC within the Multiphysics Object-Oriented Simulation Environment (MOOSE). Cardinal provides high-resolution thermal-hydraulics and/or radiation transport feedback to MOOSE multiphysics simulations. Multiphysics feedback is implemented in a geometry-agnostic manner which eliminates the need for rigid one-to-one mappings. A generic data transfer implementation also allows NekRS and OpenMC to couple to any MOOSE application, enabling a broad set of multiphysics capabilities. Cardinal simulations can also leverage combinations of MPI, OpenMP, and GPU resources. Cardinal continuous development and improvement efforts have led to the software being considered as a high-fidelity design and licensing tool for key areas of nuclear reactor relevant physics, including neutron transport, fluid flow, heat transfer, and mechanical processes. The fast development and expansion of the software from a pure R&D framework towards its application in the nuclear industry and regulation require a focus on developing, enhancing,and maintaining Cardinal’s software quality through strict adherence to a Software Quality Assurance (SQA) framework and SQA program. To facilitate compliance with SQA standards, the Cardinal SQA Program was initiated during Fiscal Year 2023 (FY23). During the development of the Cardinal SQA Program, multiple gaps have been identified. These gaps are primarily related to model verification and code pedigree as they relate to the use of Cardinal as an analysis tool. These gaps were captured in a report published in 2023. A second report highlighted the progress made during Fiscal Year 2024 (FY24) and described Argonne’s effort to document and integrate software verification within Cardinal’s software development process. This report documents the progress made towards NQA-1 for Cardinal in the Fiscal Year 2025 (FY25). All cases in the expanded Continuous Integration (CI) suite of NekRS are included in this report which test the solvers and modules available in NekRS exhaustively. The NekRS tests are integrated with the Cardinal CI suite and made available in publicly accessible Github documentation. Following the CI practice permits integrating of source code changes frequently and ensuring that the integrated codebase clears the verification testing for the software. Also in this report is a brief overview of the development of the Cardinal Software Quality Assurance Plan (SQAP) that was done in FY25, though it should be noted that the rest of the documentation for the SQA program needs to be developed in a future step of this task.

22 GENERAL STUDIES OF NUCLEAR REACTORS↗

A rule-based shell to hierarchically organize HST observations

An observing program on the Hubble Space Telescope (HST) is described in terms of exposures that are obtained by one or more of the instruments onboard the HST. These exposures are organized into a hierarchy of structures for purposes of efficient scheduling of observations. The process by which exposures get organized into the higher-level structures is called merging. This process relies on rules to determine which observations can be 'merged' into the same higher level structure, and which cannot. The TRANSformation expert system converts proposals for astronomical observations with HST into detailed observing plans. The conversion process includes the task of merging. Within TRANS, we have implemented a declarative shell to facilitate merging. This shell offers the following features: (1) an easy way of specifying rules on when to merge and when not to merge, (2) a straightforward priority mechanism for resolving conflicts among rules, (3) an explanation facility for recording the merging history, (4) a report generating mechanism to help users understand the reasons for merging, and (5) a self-documenting mechanism that documents all the merging rules that have been defined in the shell, ordered by priority. The merging shell is implemented using an object-oriented paradigm in CLOS. It has been a part of operational TRANS (after extensive testing) since July 1993. It has fulfilled all performance expectations, and has considerably simplified the process of implementing new or changed requirements for merging. The users are pleased with its report-generating and self-documenting features.

Bose, Ashim↗

New systems in MOOSE

The Multiphysics Object-Oriented Simulation Environment (MOOSE) serves as a common library of classes between applications developed for advanced reactor analysis, fusion device engineering, spent fuel cask analysis, geochemistry studies, among other fields. These applications drive the development of the framework to meet their needs. Systems in MOOSE group capabilities that share a common purpose and generally common code. They can be leveraged by all downstream applications, providing extensive code re-use and shared maintenance. They facilitate the discovery by new users of the classes meeting at least partially their needs, and offer the same opportunities for customization as other systems. The addition of a new system to MOOSE opens new ways of solving or discretizing nonlinear problems, of performing distributed postprocessing, and a plethora of other needs. While new systems can be introduced in downstream applications rather than at the framework level, the framework team monitors common needs across the community and often triggers their addition. Documentation, training material, development needs can be centralized, limiting duplicated work across the community. The last three years have seen a large expansion in the capabilities of MOOSE. The supporting role of the framework in the Nuclear Energy Advanced Modeling and Simulation (NEAMS) program has created numerous feature requests to support neutronics, thermal hydraulics, computational fluid dynamics and thermo-mechanics simulations in the Griffin, SAM, Pronghorn and Bison applications respectively. Similarly, laboratory-directed research and development (LDRD) projects in additive manufacturing, high-Reynolds flow simulations, structure optimization also necessitate an expansion of the framework capabilities. This summary reports on the new systems created in MOOSE, their design, their capabilities and some of the relevant interfaces.

22 - GENERAL STUDIES OF NUCLEAR REACTORS↗

SEQ-GEN: A comprehensive multimission sequencing system

SEQ-GEN is a user-interactive computer program used to plan and generate a sequence of commands for spacecraft. Desired activities are specified by the user of SEQ-GEN; SEQ-GEN in turn expands these activities, deriving the spacecraft commands necessary to accomplish the desired activities. SEQ-GEN models the effects on the spacecraft of the commands, predicting the state as a function of time, flagging any conflicts and rule violations. These states, conflicts, and violations are viewable both graphically and textually at the user's request. SEQ-GEN also displays the entire sequence graphically, showing each requested activity as a bar on its graphical timeline. SEQ-GEN immediately revalidates the sequence, updating its models and calculations along with its displays based on these changes. Because it has the ability to recalculate spacecraft states immediately, the user is able to perform 'what-if' sessions easily. SEQ-GEN, a multimission tool, is adaptable to any flight project. A flight project writes its adaptation files containing project unique information including in its simplest form, only spacecraft commands. For more involved projects the adaptation files may also contain flight and mission rules, description of the spacecraft and ground models, and the definition of activities. SEQ-GEN operates at whatever level of detail the adaptation files imply. Simple adaptations are straight forward to do. There is, however, no limit to the complexity of activity definitions or of spacecraft models: both may involve unlimited logical decision points. Commands and activities may involve any number of parameters of a wide variety of data types, including integer, float, time, boolean, and character strings. SEQ-GEN will be used by the Mars Pathfinder, Cassini, and VIM (Voyager Interstellar Mission) project in an effort to speed up adaptation time and to keep sequence generation costs down. SEQ-GEN is hosted on UNIX workstations. It uses MOTIF and X for windowing, and was designed and coded in an object-oriented style in the language C++.

Salcedo, Jose↗

Automated procedure execution for space vehicle autonomous control

Increased operational autonomy and reduced operating costs have become critical design objectives in next-generation NASA and DoD space programs. The objective is to develop a semi-automated system for intelligent spacecraft operations support. The Spacecraft Operations and Anomaly Resolution System (SOARS) is presented as a standardized, model-based architecture for performing High-Level Tasking, Status Monitoring and automated Procedure Execution Control for a variety of spacecraft. The particular focus is on the Procedure Execution Control module. A hierarchical procedure network is proposed as the fundamental means for specifying and representing arbitrary operational procedures. A separate procedure interpreter controls automatic execution of the procedure, taking into account the current status of the spacecraft as maintained in an object-oriented spacecraft model.

Broten, Thomas A.↗

Integrating CLIPS applications into heterogeneous distributed systems

SOCIAL is an advanced, object-oriented development tool for integrating intelligent and conventional applications across heterogeneous hardware and software platforms. SOCIAL defines a family of 'wrapper' objects called agents, which incorporate predefined capabilities for distributed communication and control. Developers embed applications within agents and establish interactions between distributed agents via non-intrusive message-based interfaces. This paper describes a predefined SOCIAL agent that is specialized for integrating C Language Integrated Production System (CLIPS)-based applications. The agent's high-level Application Programming Interface supports bidirectional flow of data, knowledge, and commands to other agents, enabling CLIPS applications to initiate interactions autonomously, and respond to requests and results from heterogeneous remote systems. The design and operation of CLIPS agents are illustrated with two distributed applications that integrate CLIPS-based expert systems with other intelligent systems for isolating and mapping problems in the Space Shuttle Launch Processing System at the NASA Kennedy Space Center.

Adler, Richard M.↗

IDEF4 technical report, version 1.0

A language for the representation of object oriented software designs is described. IDEF4, a methodology for object-oriented design, is being developed as a design tool for software designers who use such object-oriented languages. Such languages include the Common LISP Object System, Flavors, C++, Smalltalk, Objective C, and others. Since effective usage of the object-oriented paradigm requires a different thought process than that used with conventional procedural or database languages, standard methodologies such as structure charts, data flow diagrams, and traditional data design models (hierarchical, relational, and network) are not sufficient. IDEF4 seeks to provide the necessary facilities to support the object-oriented design decision making process. Specifically, the two primary design goals of IDEF4 are: (1) to provide support for creating object oriented designs whose implementations will exhibit desirable life cycle qualities and reduce total implementation development time; and (2) to make it easy to evaluate object oriented code to determine whether or not the delivered product both conforms to the design and exhibits the desired life cycle qualities. The application of IDEF4 in the life cycle of a software development project is intended to be focused on those activities after a decision has been made to employ object oriented programming technology, but prior to detailed code specification.

Mayer, Richard J.↗

An object-oriented data reduction system in Fortran

A data reduction system for the AAO two-degree field project is being developed using an object-oriented approach. Rather than use an object-oriented language (such as C++) the system is written in Fortran and makes extensive use of existing subroutine libraries provided by the UK Starlink project. Objects are created using the extensible N-dimensional Data Format (NDF) which itself is based on the Hierarchical Data System (HDS). The software consists of a class library, with each class corresponding to a Fortran subroutine with a standard calling sequence. The methods of the classes provide operations on NDF objects at a similar level of functionality to the applications of conventional data reduction systems. However, because they are provided as callable subroutines, they can be used as building blocks for more specialist applications. The class library is not dependent on a particular software environment thought it can be used effectively in ADAM applications. It can also be used from standalone Fortran programs. It is intended to develop a graphical user interface for use with the class library to form the 2dF data reduction system.

Bailey, J.↗

A structured data transfer protocol

The transfer of data between different computers and programs can be a major obstacle during data analysis. We present a new data transfer protocol which is based on a simple structure containing a value, an error, and a unit. Each of these members can be arrays or another structure. The ability to nest structures allows for the concept of objects. When using an object-oriented language such as C++, reference can be made to the object name instead of each element explicitly. Prototype code has been written which implements the basic design with enhancements planned for the future.

Barrett, P.↗

Using Mach threads to control DSN operational sequences

The Link Monitor and Control Operator Assistant prototype (LMCOA) is a state-of-the-art, semiautomated monitor and control system based on an object-oriented design. The purpose of the LMCOA prototyping effort is to both investigate new technology (such as artificial intelligence) to support automation and to evaluate advances in information systems toward developing systems that take advantage of the technology. The emergence of object-oriented design methodology has enabled a major change in how software is designed and developed. This paper describes how the object-oriented approach was used to design and implement the LMCOA and the results of operational testing. The LMCOA is implemented on a NeXT workstation using the Mach operating system and the Objective-C programming language.

Urista, Juan↗

Object oriented Simulation of Maintenance and Operations for Space Systems (OSMOSSYS)

This paper describes the NASA/JSC Research Technology Opportunity Program (RTOP) activity to assess the supportability of space systems throughout their life cycles. Supportability analyses for space systems present unique attributes and problems. The OSMOSSYS (Object oriented Simulation of Maintenance and Operations for Space Systems) was developed using object-oriented design concepts to provide NASA an analysis tool which addresses the question `Will a proposed space facility be able to successfully perform the missions for which it is designed?' This model integrates the complete configuration of the system including the reliability and maintainability characteristics of each component, the logistics support, and the mission operations of the facility to assess the success rate of the planned mission(s). Two parallel design processes are being utilized; developing core modules utilizing C++, and incorporating as much code and ideas as possible from existing NASA models. The space station was used as a test case to demonstrate the applicability of the model.

Doran, Linda↗

Design of object-oriented distributed simulation classes

Distributed simulation of aircraft engines as part of a computer aided design package is being developed by NASA Lewis Research Center for the aircraft industry. The project is called NPSS, an acronym for 'Numerical Propulsion Simulation System'. NPSS is a flexible object-oriented simulation of aircraft engines requiring high computing speed. It is desirable to run the simulation on a distributed computer system with multiple processors executing portions of the simulation in parallel. The purpose of this research was to investigate object-oriented structures such that individual objects could be distributed. The set of classes used in the simulation must be designed to facilitate parallel computation. Since the portions of the simulation carried out in parallel are not independent of one another, there is the need for communication among the parallel executing processors which in turn implies need for their synchronization. Communication and synchronization can lead to decreased throughput as parallel processors wait for data or synchronization signals from other processors. As a result of this research, the following have been accomplished. The design and implementation of a set of simulation classes which result in a distributed simulation control program have been completed. The design is based upon MIT 'Actor' model of a concurrent object and uses 'connectors' to structure dynamic connections between simulation components. Connectors may be dynamically created according to the distribution of objects among machines at execution time without any programming changes. Measurements of the basic performance have been carried out with the result that communication overhead of the distributed design is swamped by the computation time of modules unless modules have very short execution times per iteration or time step. An analytical performance model based upon queuing network theory has been designed and implemented. Its application to realistic configurations has not been carried out.

Schoeffler, James D.↗

Experiences Building an Object-Oriented System in C++

This paper describes tools that we built to support the construction of an object-oriented operating system in C++. The tools provide the automatic deletion of unwanted objects, first-class classes, dynamically loadable classes, and class-oriented debugging. As a consequence of our experience building Choices, we advocate these features as useful, simplifying and unifying many aspects of system programming.

Madany, Peter W.↗

Design of Object-Oriented Distributed Simulation Classes

Distributed simulation of aircraft engines as part of a computer aided design package being developed by NASA Lewis Research Center for the aircraft industry. The project is called NPSS, an acronym for "Numerical Propulsion Simulation System". NPSS is a flexible object-oriented simulation of aircraft engines requiring high computing speed. It is desirable to run the simulation on a distributed computer system with multiple processors executing portions of the simulation in parallel. The purpose of this research was to investigate object-oriented structures such that individual objects could be distributed. The set of classes used in the simulation must be designed to facilitate parallel computation. Since the portions of the simulation carried out in parallel are not independent of one another, there is the need for communication among the parallel executing processors which in turn implies need for their synchronization. Communication and synchronization can lead to decreased throughput as parallel processors wait for data or synchronization signals from other processors. As a result of this research, the following have been accomplished. The design and implementation of a set of simulation classes which result in a distributed simulation control program have been completed. The design is based upon MIT "Actor" model of a concurrent object and uses "connectors" to structure dynamic connections between simulation components. Connectors may be dynamically created according to the distribution of objects among machines at execution time without any programming changes. Measurements of the basic performance have been carried out with the result that communication overhead of the distributed design is swamped by the computation time of modules unless modules have very short execution times per iteration or time step. An analytical performance model based upon queuing network theory has been designed and implemented. Its application to realistic configurations has not been carried out.

Schoeffler, James D.↗