[net.text] Multilingual Programming

perlman@wanginst.UUCP (Gary Perlman) (05/23/86)

You can get a reprint of the following tech report by sending me  your
full postal address.

                      Multilingual Programming:
               Coordinating Programs, User Interfaces,
                   On-Line Help, and Documentation

                             Gary Perlman
                   School of Information Technology
                  Wang Institute of Graduate Studies
                       Tyngsboro, MA 01879 USA

                       WI Tech Report TR-86-05
                               May 1986

The  philosophy  behind  multilingual  programming  is  that  software
development must deal evenhandedly with all parts of software products
if high quality software is going  to be developed economically.   The
high cost of software is not due  to the difficulty of coding, but  in
recoding and redocumenting  software.   Many expressions  of the  same
ideas must be constructed and coordinated.  Program code and comments,
user interface and on-line help, and a variety of off-line  documents,
all must be  consistent.  A  solution to the  coordination problem  is
presented in  this paper.   Multilingual  programming is  a method  of
developing software that  uses a database  of information to  generate
multiple target languages like commented program code, user  interface
languages, and text formatting languages.

The method  begins with  an  analysis of  a  domain to  determine  key
attributes.  These  are used  to describe particular  problems in  the
domain and the description is stored in a database.  Attributes in the
database are inserted in idiomatic  templates for a variety of  target
languages to generate solutions to the original problem.  Because each
of  these  solutions  is  based   on  the  same  source  database   of
information, the solutions (documents, programs, etc.) are consistent.
If the information  changes, the change  is made in  the database  and
propagated to all solutions.   Conversely, if the  form of a  solution
must change, then only  the templates change.   The method saves  much
effort for updates of documents and programs that must be  coordinated
by designing for redesign.

An early version of this paper was presented at the ACM SIGDOC  Fourth
Int'l Conf.  on Systems Documentation in Ithaca, NY, June 1985.

-- 
Gary Perlman  Wang Institute  Tyngsboro, MA 01879  (617) 649-9731
UUCP: decvax!wanginst!perlman             CSNET: perlman@wanginst