The Journal of Forth Application and Research
ISSN: 0738-2022

Forth Institute

Editorial Board

Author's Guidelines

Authors Index

Volume 7
Volume 6
Volume 5
Volume 4
Volume 3
Volume 2
Volume 1

Valid XHTML 1.0 Strict
Valid CSS!

Volume One

Thea Martin
Number 1 - Lawrence P. Forsley
Number 2 - James D. Basile
Expert System for Diesel Electric Locomotive Repair
Harold E. Johnson Jr. and Piero P. Bonissone
In recent years, expert systems have become the most visible and the fastest growing branch of Artificial Intelligence. General Electric Company's Corporate Research and Development has applied expert system technology to the problem of troubleshooting and the repair of diesel electric locomotives in railroad "running repair shops". The expert system uses production rules and an inference engine that can diagnose multiple problems with the locomotive and can suggest repair procedures to maintenance personnel. A prototype system has been implemented in Forth, running on a Digital Equipment PDP11/23 under RSX-11M. This system contains approximately 530 rules (roughly 330 rules for the Troubleshooting System, and 200 rules for the Help System), partially representing the knowledge of a Senior Field Service Engineer. The inference engine uses a mixed-mode configuration, capable of running in either the forward or backward mode. The Help System can provide the operator with assistance by displaying textual information, CAD diagrams or repair sequences from a video disk. The rules are written in a representation language consisting of nine predicate functions, eight verbs, and five utility functions. The first field prototype expect system, designed CATS-1 (Computer-Aided Troubleshooting System - Version 1), was delivered in July 1983 and is currently under field evaluation.
A State Space Approach to Robotics
Dan Slater
Abstract / Errata
As the robot revolution continues, robots are taking on new and unusual applications. Two new applications discussed in this paper are in the area of motion picture effects filming and spacecraft antenna pattern measurements.
Control of a Cartesian Robot
Judy Franklin, Terri Noyes and Gerry Pocock
The work in control applications at the Laboratory for Perceptual Robotics has been directed toward a prototype Cartesian Assembler donated to the laboratory by General Electric of Schenectady, New York. The machine and some of the hardware interfaces are described along with low level controlling schemes for point-to-point position/velocity control. An emulation of single axis controllers is shown to be an effective control method. Encoder/positional information is the basis of this low level control structure which will later be tailored for use with processors devoted to each axis. High level control issues such as adaptive learning techniques are addressed.
A Robotic Application for Contamination Free Assembly
Randy M. Dumse
Rockwell's Electro Static Gyro Navigation (ESGN) System is built around a one gram beryllium ball that functions as a gyro rotor. It is round within four millionths of an inch and is electrostatically suspended in a cavity with only two thousandths of an inch clearance between the ball and the walls. The presence of a detectable impurity during assembly could cause an electrostatic discharge that would destroy the gyro. Cleaning by conventional methods typically took 25 hours. This paper discusses the mechanical construction and Forth programming of a robot arm that reduced the process to a 17 minute cycle.
Improvement of a Human/Robot Interface Through the Use of Forth
Doug Thompson
International Robomation/Intelligence (IRI) manufactures a computer controlled 5 axis robot arm for industrial use such as machine loading/unloading and parts transfer. IRI updated its computer operating system from the present assembly code version to Forth. This paper describes the use of Forth for man/machine interfaces. User programming is accomplished via IRI's simple and straight forward on-line Robot Command Language (RCL). Special emphasis will be placed on how Forth has been adapted to the production environment where the end user may have little or no programming experience. The approach taken emphasizes at all times the relationship between human and robot rather than the physical control of the robot itself.
Forth and Automation Research at the National Bureau of Standards
William G. Rippey
Abstract / Errata
The National Bureau of Standards (NBS) is conducting a large research project in industrial automation. Automated control of manufacturing processes will be achieved through extensive use of computers. Some of the individual projects implemented in Forth will be described. Some Forth techniques used on each project will be highlighted.
Dynamic Processing of Analogue Data Using an Apple Computer
William H. Caskey
Abstract / Errata
GASCHROMATOGRAPH is a program which supports data acquisition from laboratory instruments using an Apple-ADALAB system with dynamic calculations of areas under the peaks for quantitative analysis. Requirements of the system are: Apple II computer with 48K RAM, monitor, disk drive, printer, and game controller. Analog to digital conversion of the instrument signal with 13 bit of resolution is accomplished with an ADALAB interface board. The areas calculated by GASCHROMATOGRAPH are shown to be essentially identical to those determined by direct digitization of the area under a peak produced by the tracing on a strip chart recorder. The integration algorithms of GASCHROMATOGRAPH were designed for and are applicable to analysis of samples which are resolved completely by the chromatography system.
Implementing Datastructures in Forth
James Basile
This paper focuses on the application of Forth's extensibility to implementing powerful, versatile data structures. Use of CREATE ... DOES> is briefly explored. Tools are introduced to change the residency of a structure to disk, map memory, vector generic structures, and control multitasking.
Message Passing with Queues
Rosemary C. Leary and Donald P. McClimans
General message passing software for intertask communication has been written in URTH using first-in first-out queues. These queues can be of any length, and either memory or disk resident. The disk resident queues may be several blocks long. The width of a queue entry is also arbitrary, and can range from a single byte to the queue length. This software was successfully used for intertask communication among the seventeen tasks of the Omega Laser Alignment System.
Vectoring Arrays of Structures
Rieks Joosten and Hans Nieuwenhuÿzen
Writing a program module requires the specification of the interface between this and other program modules (or the operating environment). Since modularity implies that you can replace one module by another, a mechanism is needed to switch the definitions (datastructuers) that make up the program module interface. In this paper, a general way of switching the action of a set of Forth datastructures (which can be thought of as a program module interface) is presented.
Multiple Code Field Data Types and Prefix Operators
Klaus Schleisiek
This paper presents compilers for creating "intelligent" data types which have more than just one code field, as words in classical Forth do. These compilers introduce a prefix syntax into Forth to create a whole class of data structures, the first of which became known in the Forth community as the `TO' concept in 1979.
A Portable Forth Random Number Generator
William T. Doyle
A portable high-level Forth random number generator is described. It is based upon Knuth's FORTRAN function IRN55 and uses the tabular method of Mitchell and Moore. The Forth word and FORTRAN subroutine yield identical long sequences of random double numbers.
Technical Notes:
Vectored Versions of Forth Compiling Words
Nicholas Solntseff
The QUAN Concept Expanded
Tom Dowling
The QUAN (multiple CFA words) was presented by Evan Rosen at the fourth FORML Conference. This concept is close to the "TO concept" but moves the selection of an EXECUTE routine from the execution to the compilation phase. The QUAN concept has been implemented in MMSFORTH V2.2 and extensions have been studied. The use of this type word for data hiding and implementation-independent applications will be investigated. Examples of the use of these concepts in practical situations will be presented. Using QUAN instead of VARIABLE leads to both time and memory savings. The resulting code is also easier to read with the removal of redundant @ and !. Experience with this concept in several project proves the advisability of including it in the next Forth standard.
Forth Extensions:
A Note on Bitmaps
Howard Goodell, Jr
A Forth Finite State Machine
James Basile
Multi-Dimension Arrays
James Basile
The Complete Forth by Alan Winfield
Lawrence Forsley
Conference Abstracts:
1983 Rochester Forth Applications Conference
1983 FORML Conference
For Number 1
Calendar of Events:
Number 1
Number 2
Number 2
Call for Papers:
5th FORML Conference
1984 Rochester Forth Application Conference
Journal of Forth Application and Research
Number 1
Number 2