[Colloquium] Song/M.S. Presentation/November 12th

Margaret Jaffey margaret at cs.uchicago.edu
Wed Nov 12 13:23:24 CST 2003


Just a reminder about Chunyan Song's Master's Presentation this 
afternoon.


Date:  Wednesday, November 12, 2003 (today)

Time:  2:30 p.m.

Place: Ryerson 251

M.S. Candidate:  Chunyan Song

M.S. Paper Title:  Application-Specific Foreign Interface Generation

Abstract:
Higher order languages such as ML, Moby and Haskell provide better
supports for programming. However, since most existing libraries are
written in low-level languages such as C, it is important to connect
programs of high level languages to the libraries written in low-level
languages. Thus it is necessary to automate the foreign function 
interface
generation.

The existing foreign interface generation tools basically use two
different approaches. One is built upon data-level interoprability. It
uses low-level policies and provides an automatic and low-overhead way 
to
process the source files with little user intervention. This approach is
effective, but it generates low-level codes which are usually unreadable
for programmers and less flexible to suit in programs in high-level
lanugages. Such tools include Charon(a tool generating glue code for 
Moby
to access C codes and data) and ml-nlffigen (a similar tool as Charon,
which works on C and SML).

The other approach uses Interface Description Languages (IDLs) to 
specify
foreign interfaces. It depends excessively on user intervention by
specifying the high-level policies to guide IDL file generation. This
approach generates well-suited codes, but with relatively low 
efficiency.
The moby-idl is such a tool that generates Moby interface to C functions
from an IDL specification.

Most of the time, users want to make tradeoff between these two
approaches. Our FIG (Foreign Interface Generator) tool is built for this
purpose. FIG supports application-specific foreign interface generation
from raw C header files. The FIG tool uses the technique of "strategic
term rewriting" to build the rewriting engine. It has a library of basic
strategies, which are used as default rewriting policies. The users can
write scripts to build up new and complicated strategies using the FIG
libray, and use them to guide the translation from raw C header files to
the intermediate IDL files. Also, since FIG is multi-backend, the IDL 
file
can then be further rewritten into different destination languages, such
as ML and Moby.

My presentation will give an introduction to the basic design of the FIG
tool, the IDL file and script file specification,and explain the type
mapping and data marshalling and unmarshalling techniques.

Ms. Song's Advisor:  Prof. John Reppy

A draft copy of Ms. Song's M.S. paper is available in Ry 161A.

Margaret
-- 
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
Margaret P. Jaffey				margaret at cs.uchicago.edu
Department of Computer Science
Student Support Rep (Ry 161A)		(773) 702-6011
The University of Chicago		http://www.cs.uchicago.edu
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-


-- 
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
Margaret P. Jaffey				margaret at cs.uchicago.edu
Department of Computer Science
Student Support Rep (Ry 161A)		(773) 702-6011
The University of Chicago		http://www.cs.uchicago.edu
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-




More information about the Colloquium mailing list