Engineering Papers⌕ Search

SEARCH · Engineering Papers

Results for “ReTe”

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.

Optimal pattern distributions in Rete-based production systems

Since its introduction into the AI community in the early 1980's, the Rete algorithm has been widely used. This algorithm has formed the basis for many AI tools, including NASA's CLIPS. One drawback of Rete-based implementation, however, is that the network structures used internally by the Rete algorithm make it sensitive to the arrangement of individual patterns within rules. Thus while rules may be more or less arbitrarily placed within source files, the distribution of individual patterns within these rules can significantly affect the overall system performance. Some heuristics have been proposed to optimize pattern placement, however, these suggestions can be conflicting. This paper describes a systematic effort to measure the effect of pattern distribution on production system performance. An overview of the Rete algorithm is presented to provide context. A description of the methods used to explore the pattern ordering problem area are presented, using internal production system metrics such as the number of partial matches, and coarse-grained operating system data such as memory usage and time. The results of this study should be of interest to those developing and optimizing software for Rete-based production systems.

Scott, Stephen L.↗

MIRO: A debugging tool for CLIPS incorporating historical Rete networks

At the last CLIPS conference, we discussed our ideas for adding a temporal dimension to the Rete network used to implement CLIPS. The resulting historical Rete network could then be used to store 'historical' information about a run of a CLIPS program, to aid in debugging. MIRO, a debugging tool for CLIPS built on top of CLIPS, incorporates such a historical Rete network and uses it to support its prototype question-answering capability. By enabling CLIPS users to directly ask debugging-related questions about the history of a program run, we hope to reduce the amount of single-stepping and program tracing required to debug a CLIPS program. In this paper, we briefly describe MIRO's architecture and implementation, and the current question-types that MIRO supports. These question-types are further illustrated using an example, and the benefits of the debugging tool are discussed. We also present empirical results that measure the run-time and partial storage overhead of MIRO, and discuss how MIRO may also be used to study various efficiency aspects of CLIPS programs.

Tuttle, Sharon M.↗

A Scala DSL for RETE-Based Runtime Verification

Runtime verification (RV) consists in part of checking execution traces against formalized specifications. Several systems have emerged, most of which support specification notations based on state machines, regular expressions, temporal logic, or grammars. The field of Artificial Intelligence (AI) has for an even longer period of time studied rule-based production systems, which at a closer look appear to be relevant for RV, although seemingly focused on slightly different application domains, such as for example business processes and expert systems. The core algorithm in many of these systems is the Rete algorithm. We have implemented a Rete-based runtime verification system, named LogFire (originally intended for offline log analysis but also applicable to online analysis), as an internal DSL in the Scala programming language, using Scala's support for defining DSLs. This combination appears attractive from a practical point of view. Our contribution is in part conceptual in arguing that such rule-based frameworks originating from AI may be suited for RV.

matching problem↗

Adding run history to CLIPS

To debug a C Language Integrated Production System (CLIPS) program, certain 'historical' information about a run is needed. It would be convenient for system builders to have the capability to request such information. We will discuss how historical Rete networks can be used for answering questions that help a system builder detect the cause of an error in a CLIPS program. Moreover, the cost of maintaining a historical Rete network is compared with that for a classical Rete network. We will demonstrate that the cost for assertions is only slightly higher for a historical Rete network. The cost for handling retraction could be significantly higher; however, we will show that by using special data structures that rely on hashing, it is also possible to implement retractions efficiently.

Tuttle, Sharon M.↗

Portable inference engine: An extended CLIPS for real-time production systems

The present C-Language Integrated Production System (CLIPS) architecture has not been optimized to deal with the constraints of real-time production systems. Matching in CLIPS is based on the Rete Net algorithm, whose assumption of working memory stability might fail to be satisfied in a system subject to real-time dataflow. Further, the CLIPS forward-chaining control mechanism with a predefined conflict resultion strategy may not effectively focus the system's attention on situation-dependent current priorties, or appropriately address different kinds of knowledge which might appear in a given application. Portable Inference Engine (PIE) is a production system architecture based on CLIPS which attempts to create a more general tool while addressing the problems of real-time expert systems. Features of the PIE design include a modular knowledge base, a modified Rete Net algorithm, a bi-directional control strategy, and multiple user-defined conflict resolution strategies. Problems associated with real-time applications are analyzed and an explanation is given for how the PIE architecture addresses these problems.

Le, Thach↗

Object/rule integration in CLIPS

This paper gives a brief overview of the C Language Integrated Production System (CLIPS) with a focus on the object-oriented features. The advantages of an object data representation over the traditional working memory element (WME), i.e., facts, are discussed, and the implementation of the Rete inference algorithm in CLIPS is presented in detail. A few methods for achieving pattern-matching on objects with the current inference engine are given, and finally, the paper examines the modifications necessary to the Rete algorithm to allow direct object pattern-matching.

Donnell, Brian L.↗

Magnetic coupling of the active chromosphere to the solar interior.

Evidence is summarized to show that the configuration of e lines which governs the appearance of H-alpha fine structure in active regions is set mainly by motions in the subphotosphere where these lines are anchored. It is shown that H-alpha fine structure is directly coupled to a layer probably more than 5000 km below the photosphere, and little distortion of the strong fields is expected in the ines. The shorter rotation period of active regions observed by Howard and others (compared to the photospheric gas) reted as a result ofthis direct coupling of the strong field to a more rapidly rotating solar interior. The effects of dragging such a field through a photosphere of finite resistivity are briefly considered for features of various observed cross-sections.

Foukal, P.↗

C Language Integrated Production System, Ada Version

CLIPS/Ada provides capabilities of CLIPS v4.3 but uses Ada as source language for CLIPS executable code. Implements forward-chaining rule-based language. Program contains inference engine and language syntax providing framework for construction of expert-system program. Also includes features for debugging application program. Based on Rete algorithm which provides efficient method for performing repeated matching of patterns. Written in Ada.

Culbert, Chris↗

A multilayer perceptron solution to the match phase problem in rule-based artificial intelligence systems

In rule-based AI planning, expert, and learning systems, it is often the case that the left-hand-sides of the rules must be repeatedly compared to the contents of some 'working memory'. The traditional approach to solve such a 'match phase problem' for production systems is to use the Rete Match Algorithm. Here, a new technique using a multilayer perceptron, a particular artificial neural network model, is presented to solve the match phase problem for rule-based AI systems. A syntax for premise formulas (i.e., the left-hand-sides of the rules) is defined, and working memory is specified. From this, it is shown how to construct a multilayer perceptron that finds all of the rules which can be executed for the current situation in working memory. The complexity of the constructed multilayer perceptron is derived in terms of the maximum number of nodes and the required number of layers. A method for reducing the number of layers to at most three is also presented.

Sartori, Michael A.↗

Development of a knoweledge-based system for validating finite element models

The finite element modeling of an airframe structure requires knowledge of general purpose programs such as NASTRAN as well as a detailed understanding of the airframe structure. Due to the sophistication of general purpose programs such as NASTRAN, a substantial investment in time and effort is required to gain expertise in using them effectively. This paper describes the development of an expert system used in the validation of NASTRAN based finite element models. Experts in the NASTRAN based finite element modeling of airframe structures were interviewed to document, understand, and represent their knowledge and reasoning in the expert system. Finite element stress analysis and internal loads reports generated by the experts were reviewed to determine expert resolution of problem areas. As a result, areas requiring expert assistance in the modeling of the airframe structures were identified. The finite element input data is represented as a set of 'facts'. A rule based representation is used to code the expert knowledge. A hierarchical set of rules are applied. The expert system first acts as an intelligent front end to insure that all the prerequisites needed to perform the analysis are present. This includes material properties, boundary conditions, and connectivity information. The next step examines if incompatible sets of elements are connected. The succeeding step examines if the specific airframe component is modeled by the appropriate set of elements. The next and final step examines if the airframe members used are adequate to represent the anticipated state of stress. The expert system is designed to inform the user the severity of the error, the likely consequence and possible remedial action. The shell used in the development of the expert system is CLIPS. CLIPS contains a forward chaining inference engine based on the Rete algorithm. CLIPS may be implemented on most personal computers as well as mini computers and mainframes. The approach taken is general and can be implemented using commercially available expert system shells.

Munir, N. I.↗

Building engineering expert systems in CLIPS

This paper is intended for CLIPS developers with a working knowledge of expert systems and the CLIPS syntax. It discusses Rete pattern matching and rule-fact interaction, explains several development and debug techniques, and gives advice on compiling CLIPS and knowledge bases. The techniques apply to CLIPS versions 4.2 and 4.3, especially in the PC/DOS environment. Two examples developed by the author are analyzed and compared.

Porter, Ken↗

Knowledge base rule partitioning design for CLIPS

This describes a knowledge base (KB) partitioning approach to solve the problem of real-time performance using the CLIPS AI shell when containing large numbers of rules and facts. This work is funded under the joint USAF/NASA Advanced Launch System (ALS) Program as applied research in expert systems to perform vehicle checkout for real-time controller and diagnostic monitoring tasks. The Expert System advanced development project (ADP-2302) main objective is to provide robust systems responding to new data frames of 0.1 to 1.0 second intervals. The intelligent system control must be performed within the specified real-time window, in order to meet the demands of the given application. Partitioning the KB reduces the complexity of the inferencing Rete net at any given time. This reduced complexity improves performance but without undo impacts during load and unload cycles. The second objective is to produce highly reliable intelligent systems. This requires simple and automated approaches to the KB verification & validation task. Partitioning the KB reduces rule interaction complexity overall. Reduced interaction simplifies the V&V testing necessary by focusing attention only on individual areas of interest. Many systems require a robustness that involves a large number of rules, most of which are mutually exclusive under different phases or conditions. The ideal solution is to control the knowledge base by loading rules that directly apply for that condition, while stripping out all rules and facts that are not used during that cycle. The practical approach is to cluster rules and facts into associated 'blocks'. A simple approach has been designed to control the addition and deletion of 'blocks' of rules and facts, while allowing real-time operations to run freely. Timing tests for real-time performance for specific machines under R/T operating systems have not been completed but are planned as part of the analysis process to validate the design.

Mainardi, Joseph D.↗

MARBLE: A system for executing expert systems in parallel

This paper details the MARBLE 2.0 system which provides a parallel environment for cooperating expert systems. The work has been done in conjunction with the development of an intelligent computer-aided design system, ICADS, by the CAD Research Unit of the Design Institute at California Polytechnic State University. MARBLE (Multiple Accessed Rete Blackboard Linked Experts) is a system of C Language Production Systems (CLIPS) expert system tool. A copied blackboard is used for communication between the shells to establish an architecture which supports cooperating expert systems that execute in parallel. The design of MARBLE is simple, but it provides support for a rich variety of configurations, while making it relatively easy to demonstrate the correctness of its parallel execution features. In its most elementary configuration, individual CLIPS expert systems execute on their own processors and communicate with each other through a modified blackboard. Control of the system as a whole, and specifically of writing to the blackboard is provided by one of the CLIPS expert systems, an expert control system.

Myers, Leonard↗

STS-75 Flight Day 1

On this first day of the STS-75 mission, the flight crew, Cmdr. Andrew Allen, Pilot Scott Horowitz, Payload Cmdr. Franklin Chang-Diaz, Payload Specialist Umberto Guidoni (Italy), and Mission Specialists Jeffrey Hoffman, Maurizio Cheli (ESA) and Claude Nicollier (ESA), were shown performing pre-launch and launching activities. This international space mission's primary objective is the deployment of the Tethered Satellite System Reflight (TSS-1R) to a 12 mile length from the shuttle, a variety of experiments, and the satellite retrieval. These experiments include: Research on Orbital Plasma Electrodynamics (ROPE); TSS Deployer Core Equipment and Satellite Core Equipment (DCORE/SCORE); Research on Electrodynamic Tether Effects (RETE); Magnetic Field Experiments for TSS Missions (TEMAG); Shuttle Electrodynamic Tether Systems (SETS); Shuttle Potential and Return Electron Experiment (SPREE); Tether Optical Phenomena Experiment (TOP); and Observations at the Earth's Surface of Electromagnetic Emissions by TSS (OESSE). The mission's secondary objectives were those experiments found in the United States Microgravity Payload-3 (USMP-3), which include: Advanced Automated Directional Solidification Furnace (AADSF); Material pour l'Etude des Phenomenes Interessant la Solidification sur Terre et en Orbite (MEPHISTO); Space Acceleration Measurement System (SAMS); Orbital Acceleration Research Experiment (OARE); Critical Fluid Scattering Experiment (ZENO); and Isothermal Dendritic Growth Experiment (IDGE).

Source record↗

Adaptation of Motility Analysis Apparatus for Space Science and Microgravity Ground-Based Experiments

Previous space flight studies have described unfavorable effects of microgravity on testicular morphology and spermatogenesis (Cosmos 1887 Biosputnik flight, 9/29/87 - 10/12/87). The flight animals demonstrated small reductions in testicular and epididymal size, the phenomenon explained as resulting water loss. Yet, light microscopic histological preparations revealed few spermatozoa in the rete testis of the flight males compared to control animals. The cause for this finding was subjectively assessed to be due to "the anatomical dislocation of the organs... and a disturbance in testicular blood supply". Unfortunately, the reported effects of microgravity on the reproductive processes (particularly within males) are few and divergent. If habitation in space is a futuristic goal, more objective testing (of male and female gametes) in a microgravity environment will provide insight to the developmental potential of these reproductive cells. As part of the Marshall Space Flight Centers' Summer Faculty Fellowship Program within the Biophysics Branch, a key component of the research investigation was to develop a test to evaluate individual cell motility and orientation in varying gravitational environments, using computerized assessment of sperm cell concentration, morphology and motility to provide objective, quantitative experimental control. In previous work performed jointly by the author and a NASA colleague, it has been shown that macroscopic motile aggregates of spermatozoa were not altered by the absence of microgravity. Variations in the number of normal versus abnormal sperm due to microgravity influences have yet to be established. It is therefore of interest to monitor the cytoskeletal matrix (microtubulin) of these organisms as a possible indicator of cell viability and/or function.

Johnson, Jacqueline U.↗

Tethered Satellite System (TSS-1R)-Post Flight (STS-75) Engineering Performance Report

The first mission of the Tethered Satellite deployer was flown onboard Atlantis in 1992 during the Space Transportation System (STS) flight STS-46. Due to a mechanical interference with the level wind mechanism the satellite was only Deployed to 256 m rather than the planned 20,000 m. Other problems were also experienced during the STS-46 flight and several modifications were made to the Deployer and Satellite. STS-75 was a reflight of the Tethered Satellite System 1 (TSS-1) designated as Tethered Satellite System 1 Reflight (TSS-1 R) onboard Columbia. As on STS-46, the TSS payload consisted of the Deployer, the Satellite, 3 cargo bay mounted experiments: Shuttle Electrodynamic Tether System (SETS), Shuttle Potential and Return Electron Experiment (SPREE), Deployer Core Equipment (DCORE) 4 Satellite mounted experiments: Research on Electrodynamics Tether Effects (RETE), Research on Orbital Plasma Electrodynamics (ROPE), Satellite Core Instruments (SCORE), Tether Magnetic Field Experiment (TEMAG) and an aft flight deck camera: Tether Optical Phenomena Experiment (TOP). Following successful pre-launch, launch and pre-deployment orbital operations, the Deployer deployed the Tethered Satellite to 19,695 m at which point the tether broke within the Satellite Deployment Boom (SDB). The planned length for On-Station I (OST1) was 20,700 m The Satellite flew away from the Orbiter with the tether attached. The satellite was "safed" and placed in a limited power mode via the RF link. The Satellite was contacted periodically during overflights of ground stations. Cargo bay science activities continued for the period of time allocated to TSS-1 R operations.

Lavoie, Anthony R.↗

Monitoring with Data Automata

We present a form of automaton, referred to as data automata, suited for monitoring sequences of data-carrying events, for example emitted by an executing software system. This form of automata allows states to be parameterized with data, forming named records, which are stored in an efficiently indexed data structure, a form of database. This very explicit approach differs from other automaton-based monitoring approaches. Data automata are also characterized by allowing transition conditions to refer to other parameterized states, and by allowing transitions sequences. The presented automaton concept is inspired by rule-based systems, especially the Rete algorithm, which is one of the well-established algorithms for executing rule-based systems. We present an optimized external DSL for data automata, as well as a comparable unoptimized internal DSL (API) in the Scala programming language, in order to compare the two solutions. An evaluation compares these two solutions to several other monitoring systems.

log analysis↗