mwang (02/01/83)
DEPARTMENT OF COMPUTER SCIENCE
UNIVERSITY OF WATERLOO
SEMINAR ACTIVITIES
SYSTEMS SEMINAR - Tuesday, February 8, 1983.
Mr. David A. Lamb of Carnegie-Mellon University will
speak on "The Interface Description Language: Shar-
ing Intermediate Representations".
TIME: 3:30 PM
ROOM: M&C 3008 (Please Note)
ABSTRACT
As we build larger and larger systems, we reach the
stage where a system is best viewed as a collection
of separate programs. The programs co-operate and
communicate by exchanging large data structures. For
example, an Ada Programming Support Environment
(APSE) is a collection of tools that operate on a
variety of data structures representing Ada programs
and related material. A multi-phase compiler might
be designed as several programs that operate on an
abstract syntax tree representing the program being
compiled.
Most of these individual programs would like to
operate on a form of the data structure tailored to
their own processing needs, so-called _i_n_t_e_r_m_e_d_i_a_t_e
_r_e_p_r_e_s_e_n_t_a_t_i_o_n_s. In particular, different parts of a
program collection might be written in different im-
plementation languages, and might run on separate
computer systems. However, in order to exchange and
share data, programs must agree on some sort of
abstract representation (or _e_x_c_h_a_n_g_e _r_e_p_r_e_s_e_n_t_a_t_i_o_n)
which all of them can process.
The IDL System (for Interface Description Language)
addresses these conflicting requirements. IDL pro-
vides a notation for describing program collections
and the data structures by which they communicate.
Data structures can be arbitrary typed, attributed,
directed graphs. Each program is organised as three
components:
January 31, 1983
- 2 -
- a reader, which translates exchange representations
into an internal formal tailored for the application,
- the main body of the program,
- and a writer which translates the internal representa-
tion into an exchange format.
The exchange format for a particular data structure can be
derived directly from the IDL description of the structure.
Each reader and writer consists of a body of code from a
library, along with tables tailored to the particular struc-
ture to be read or written. A tool, the IDL translator,
emits these tables based on the description of the program
written in IDL.
IDL and the IDL translator (or variants of them) are being
used to develop production programs in a variety of academic
and industrial organisations.
January 31, 1983