[ont.events] UW Systems Seminar, Mr. Lamb on "The Interface Description Languages: ..."

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