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