|ANNOUNCE: Flick IDL Compiler Kit 1.0-Alpha email@example.com (Eric Eide) (1997-05-06)|
|From:||Eric Eide <firstname.lastname@example.org>|
|Date:||6 May 1997 22:28:38 -0400|
|Organization:||University of Utah Department of Computer Science|
The first general public release of Flick, the Flexible IDL Compiler
Kit, is now available from the Flux Project at the University of Utah.
This is an alpha-level release: version 1.0-alpha. We need external
users to advance it beyond this level.
*** URL: <http://www.cs.utah.edu/projects/flux/flick/>
WHAT IS FLICK?
Flick is an interface definition language (IDL) compiler (``stub
generator'') supporting remote procedure call (RPC) and remote method
invocation (RMI) for client/server or distributed object systems.
What sets it apart from other IDL compilers is that it is highly
optimizing while also supporting several IDLs, message formats, and
transport mechanisms. Flick currently has front ends for the CORBA
IDL and the Sun ONC RPC IDL, and middle and back ends that support
CORBA IIOP, ONC RPC on TCP, MIG-style Mach messages, and Fluke IPC
(see below). It produces stubs in the C language.
Flick is designed to be a ``kit'': the user picks the IDL, language
mapping, and transport components that are required for any particular
system. Our goal is to make it straightforward to add new components
to the kit to process new IDLs, language mappings, and transports.
(Volunteers welcome!) Full source is distributed under the terms of
the GNU General Public License.
Flick-generated marshal and unmarshal code generally runs between 2
and 17 times as fast as code produced by other IDL compilers,
commercial and free. On stock hardware and operating systems,
Flick-generated stubs can increase end-to-end client/server throughput
by factors between 1.2 and 3.7 or more.
Our paper describing these results will be presented at the major
compiler conference (PLDI '97) this June. (See:
<http://www.cs.bu.edu/pub/pldi97/>.) Our paper is included as part of
the Flick distribution, and is separately available at
Full regression tests and their outputs are provided. Flick has been
compiled and tested on the following platforms:
FreeBSD 126.96.36.199-RELEASE (Intel Pentium Pro, gcc/g++ 188.8.131.52)
"" ( "" "" , gcc/g++ 2.6.3)
Linux 2.0.29 (Intel Pentium, gcc/g++ 2.7.2)
SunOS 5.5.1 (SPARCstation SS10/514, gcc/g++ 2.7.2)
SunOS 4.1.3 (Sun 4m SS10, gcc/g++ 2.7.2)
HP-UX 9.03 (HP 9000/712 PA-RISC 1.1, gcc/g++ 2.7.2)
AIX 4.1.4 (IBM RS6000 PowerPC 604, gcc/g++ 2.7.2)
4.3+ BSD (HP 9000/735 PA-RISC 1.1, gcc/g++ 2.7.2)
Flick-generated stubs have also been tested on Mach/Lites and our
Fluke OS. The next release of Flick (beta) will build on Windows 95
and Windows NT.
In addition to supporting standard operating systems and protocols,
Flick is also the IDL compiler for the Fluke kernel and operating
system in development at the University of Utah. See
WHAT FLICK IS NOT
Flick is not a complete CORBA ORB. Flick has an *extremely* minimal
ORB-like runtime, and further, Flick cannot currently replace the IDL
compiler that is part of any commercial ORB. We may support various
third-party ORBs in future releases.
Similarly, Flick is not (yet) a drop-in replacement for `rpcgen' or
MIG. The details can be found in the distribution documentation.
Flick is available from <http://www.cs.utah.edu/projects/flux/flick/>
and from <ftp://flux.cs.utah.edu/flux/flick/>. The alpha distribution
is divided into two parts: full source (`flick-src-1.0-alpha.tar.gz',
987KB compressed, 4.2MB uncompressed) and regression test output
(`flick-tests-1.0-alpha.tar.gz', 1.4MB compressed, 29.5MB
NOTE: This is an alpha software release. Although this version of
Flick is generally stable, it has known bugs and missing features.
The final Flick 1.0 release will be available from the URLs shown
above in mid-June of this year.
We welcome comments and technical discussion from users and
collaborators. If you start using Flick, please let us know by
subscribing to our mailing list of Flick users. Send mail to
<email@example.com> with the message body containing the
to get on the mailing list. Send bugs and fixes to <firstname.lastname@example.org>.
Flick has been developed at the University of Utah under DARPA
sponsorship, with additional support from Hewlett-Packard, IBM, and
Novell. The primary developers have been Eric Eide, Kevin Frei, and
Bryan Ford, although many others have contributed.
Jay Lepreau, email@example.com
University of Utah Computer Science Dept.
Flick LSM entry:
Entered-date: 29 April 1997
Description: Flick is a flexible, optimizing IDL compiler kit that supports
multiple IDLs (CORBA IDL and Sun ONC RPC `rpcgen' IDL),
multiple language mappings (CORBA-style, ONC RPC-style, and
MIG-style), and multiple RPC/RMI transport mechanisms (CORBA
IIOP, ONC RPC on TCP, and MIG-style Mach messages). Flick
produces marshal/unmarshal code that is typically 2 to 17 times
faster than equivalent code produced by other IDL compilers.
Keywords: IDL interface definition language compiler RPC RMI CORBA ONC
Author: firstname.lastname@example.org (Utah Flick Team)
Maintained-by: email@example.com (Flick Bugs List)
Primary-site: flux.cs.utah.edu /flux/flick
Platforms: C, C++, UNIX
Eric Eide <firstname.lastname@example.org> . University of Utah Dept. of Computer Science
http://www.cs.utah.edu/~eeide . +1 (801) 585-5512 voice, +1 (801) 581-5843 FAX
Return to the
Search the comp.compilers archives again.