ILU 1.6.4 available

Bill Janssen (janssen@holmes.PARC.Xerox.Com)
21 May 1994 01:45:28 GMT

Version 1.6.4 of the Xerox PARC Inter-Language Unification (ILU)
system is now available for general use.

WHAT'S ILU?

ILU (pronounced eye'-loo) is a system that promotes software
interoperability via interfaces. Interfaces between what? Whatever
units of program structure are desired; we call them by the generic
term "modules". They could be parts of one process, all written in
the same language; they could be parts written in different languages,
sharing runtime support in one memory image; they could be parts
running in different memory images on different machines (on different
sides of the planet). A module could even be a distributed system
implemented by many programs on many machines. Calls across ILU
interfaces involve only as much mechanism as necessary for the calling
and called modules to interact. In particular, when the two modules
are in the same memory image and use the same data representations,
the calls are direct local procedure calls -- no stubs or other RPC
mechanisms are involved.

ILU modules are known by their interfaces. A module interface is
specified once in ILU's object-oriented Interface Specification
Language (called, simply, ISL). For each of the particular
programming languages supported by ILU (currently Common Lisp, ANSI C,
C++, and Modula-3; Python, Tcl, and GNU Emacs-Lisp are in the works),
a version of the interface in that particular programming language can
be generated. The ILU kernel library provides services which may be
used by the language-specific interface to overcome intermodule
language or address space differences.

Many existing RPC systems, such as Xerox XNS Courier, ONC RPC, and OSF
DCE RPC, have strong notions of interfaces. ILU allows binding to
such services provided by such systems if their interfaces can be
described in ISL. ISL has been designed to facilitate such
description (currently, only for ONC RPC; Courier and DCE RPC are in
progress). The binding to such RPC services is done in such a way as
to be indistinguishable from binding to other ILU modules. In fact,
properly constructed ILU modules can appear as native RPC services,
and can be manipulated by non-ILU tools designed to work with those
RPC services.

Similarly, the Object Management Group's (OMG) Common Object Request
Broker Architecture (CORBA) defines modules with explicit interfaces.
ILU allows modules that can be described with a safe subset of OMG
CORBA IDL to be used as ILU modules, as well, though the ILU object
model is not quite the same as the OMG CORBA object model. In fact,
people wishing to experiment with CORBA may find ILU a useful
experimental platform, as it does allow module specification with OMG
IDL, and does generate ANSI C support as specified in Draft 1.2 of the
OMG CORBA specification. As the OMG specification for a C++ mapping
is agreed upon, we intend to provide that mapping for our C++ support,
as well.

Release 1.6.4 is intended as a beta release. Major efficiency
improvements and some usability improvements are planned for the next
release. It has been tested lightly on SunOS 4.1.3, Sun's Solaris
2.3, and SGI's IRIX 5.2. It is designed to be highly portable, and a
port to the Macintosh has been done (but is not included in this
release).

GETTING THE RELEASE

The release is only available via FTP from the PARC ftp server.
Perhaps the simplest way is to go through our World Wide Web home
page, ftp://parcftp.parc.xerox.com/pub/ilu/ilu.html. It has links to
everything else, and may help answer any questions you might have.

The release notes are available as an HTML document,

ftp://parcftp.parc.xerox.com/pub/ilu/1.6.4/announce.html.

The full source code, including documentation, is available
as a 3 MB compressed tar file as

ftp://parcftp.parc.xerox.com/pub/ilu/1.6.4/ilu-1.6.4.tar.Z

The 1.6.4 ILU manual is also available separately, either in
Postscript (231 KB) as

ftp://parcftp.parc.xerox.com/pub/ilu/1.6.4/ilu-manual-1.6.4.ps.Z

or via World Wide Web at

ftp://parcftp.parc.xerox.com/pub/ilu/1.6.4/manual-html/manual_toc.html.

CONTRIBUTORS

Antony Courtney, Doug Cutting, Bill Janssen, Denis Severson,
Mike Spreitzer, Mark Stefik, Farrell Wymore

COPYRIGHT RESTRICTIONS

ILU is Copyright (c) 1991, 1992, 1993, 1994 Xerox Corporation.
All Rights Reserved.

Unlimited use, reproduction, and distribution of this software is
permitted. Any copy of this software must include both the above
copyright notice of Xerox Corporation and this paragraph. Any
distribution of this software must comply with all applicable United
States export control laws. This software is made available AS IS,
and XEROX CORPORATION DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED,
INCLUDING WITHOUT LIMITATION THE IMPLIED WARRANTIES OF MERCHANTABILITY
AND FITNESS FOR A PARTICULAR PURPOSE, AND NOTWITHSTANDING ANY OTHER
PROVISION CONTAINED HEREIN, ANY LIABILITY FOR DAMAGES RESULTING FROM
THE SOFTWARE OR ITS USE IS EXPRESSLY DISCLAIMED, WHETHER ARISING IN
CONTRACT, TORT (INCLUDING NEGLIGENCE) OR STRICT LIABILITY, EVEN IF
XEROX CORPORATION IS ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.

--
 Bill Janssen  <janssen@parc.xerox.com> (415) 812-4763  FAX: (415) 812-4777
 Xerox Palo Alto Research Center, 3333 Coyote Hill Rd, Palo Alto, CA  94304
 URL:  ftp://parcftp.parc.xerox.com/pub/ilu/misc/janssen.html