Glish References

Here are a few sources of information about Glish:
The Glish manual fully describes the Glish interpreter and the C++ library.

Programming in Glish from the Proceedings of the 1995 Astronomical Data Analysis Software and Systems Conference
ABSTRACT: This paper describes the Glish programming language. Glish is a dynamically typed, array oriented language which also supports distributed clients. Glish has integral, floating point, string, complex, and heterogeneous record values. Any of these values may be used as part of the interpreter to client communications. Both synchronous and asynchronous client interaction are supported. The AIPS++ project at the NRAO is using Glish as the basic command line interface and as the backbone for internal control and communication. Glish may also be used for communication between AIPS++ and telescope control systems; this is the case with the Green Bank Telescope.

Glish: A User-Level Software Bus for Loosely-Coupled Distributed Systems from the Proceedings of the 1993 Winter USENIX Technical Conference
ABSTRACT: We describe Glish, an interpreted language for building distributed systems from modular, event-oriented programs. These programs are written in conventional languages such as C, C++, or FORTRAN. Glish scripts can create local and remote processes and control their communication. Glish also provides a full, array-oriented programming language for manipulating binary data sent between the processes. In general, Glish uses a centralized communication model where interprocess communication passes through the Glish interpreter, allowing dynamic modification and rerouting of data values, but Glish also supports point-to-point links between processes when necessary for high performance. Glish is available via anonymous ftp.

Glish: A Software Bus for High-Level Control from the Proceedings of the 1993 International Conference on Accelerator and Large Experimental Physics Control Systems
ABSTRACT: Glish is a software system for building high-level control applications out of modular, event-oriented programs. Glish provides these applications with a high degree of flexibility, so they can adapt quickly to changing requirements. We describe the strengths of the "software bus" approach, how Glish can direct and modify interprocess communications within a distributed application, and how the system is currently used for orbit-correction at the Advanced Light Source at LBL.

The following papers are only of historical interest:
A Language, Server, and C++ Class Library for Event Sequencing from the Proceedings of the 1989 International Conference on Accelerator and Large Experimental Physics Control Systems
ABSTRACT: Many accelerator control tasks are well specified as a sequence of operations, each step of which is contingent upon the status of other operations or sequences. To enable the rapid creation and modification of such sequences we have devised the Glish language. Sequences are described in Glish in terms of asynchronous hardware and software events, where an event is the notification that a particular thing has happened and the value associated with that notification. Events are produced and consumed by Unix processes. One uses Glish to write expressions which specify how events associated with the process depend on combinations of other events. We describe the Glish server, which manages Glish events distributed across a network, a C++ class library for Glish clients, and operational experience gained in using Glish to control an accelerator physics experiment at the Fermilab Tevatron.

The SDS Document -- A Conceptual Basis Towards Understanding the Self-Describing Data Standard
Describes Glish's original transport layer, which has recently been replaced with a C++ version.

The Integrated Scientific Tool Kit -- An Overview of the System and its Components
Describes one of the original uses of Glish, a use which is very similar to that of AIPS++.

Darrell Schiebel
Last modified: Mon Feb 23 13:39:46 EST 1998