Check out the new USENIX Web site.

Interface Translation and Implementation Filtering


Mark A. Linton
Silicon Graphics
linton@sgi.co
m
Douglas Z. Pan
Stanford University
pan@panda.stanford.edu

Abstract

Separating interface from implementation in C++ requires a set of conventions for defining classes. Using an interface definition language, we can ensure that an interface does not contain any implementation details. To simplify the definition of separate interfaces, the translator that generates C++ class declarations should be flexible and convenient to use. As part of the Fresco user interface system, we have developed an interface translator called Ix. In addition to generating C++ classes and stubs for distributed access, Ix can "filter" implementation code to automate as much of the code as possible. Filtering also gives the programmer more control over where and how the code is generated. We have built an initial implementation of Fresco using Ix, and our experience has been that using Ix has made programming with interfaces easier than using C++ directly.


Download the full text of this paper in ASCII (26,912 bytes) and POSTSCRIPT (60,141 bytes) form.

To Become a USENIX Member, please see our Membership Information.