[Prev][Next][Index][Thread]

Paper available on structural conformance in Java



I would like to announce the availability of the paper "Safe Structural
Conformance in Java", written by Gerald Baumgartner, Vincent F. Russo,
and myself.  The paper is available from 

    http://www.math.luc.edu/~laufer/ftp/papers/java-conformance.ps.gz

or

    ftp://ftp.math.luc.edu/pub/laufer/papers/java-conformance.ps.gz

The paper has been submitted for publication.  Any comments or
suggestions are welcome.  Abstract and BibTeX entry are included below.

Konstantin Laufer  laufer@math.luc.edu  http://www.math.luc.edu/~laufer/

--------

                 Safe Structural Conformance in Java

                    Technical Report CSD-TR-96-077
                          Purdue University

                        Konstantin Laufer (*)
                        Gerald Baumgartner (**)
                         Vincent F. Russo (**)

         (*) Department of Mathematical and Computer Sciences
                          Loyola University
                        Chicago, IL 60626, USA
                         laufer@math.luc.edu

                 (**) Department of Computer Sciences
                          Purdue University
                    West Lafayette, IN 47907, USA
                      {gb, russo}@cs.purdue.edu

                          December 6, 1996

In Java, an interface specifies public abstract methods and associated
public constants. Conformance of a class to an interface is by
name. We propose to allow structural conformance to interfaces as
well: Any class that provides an implementation for each method in an
interface conforms structurally to the interface, and any instance of
the class can be used where a value of the interface type is
expected. We argue that structural conformance results in a major gain
in flexibility in situations that require retroactive abstraction over
types.

Our extension comes almost for free. No additional syntax and only
minor modifications to the Java compiler and virtual machine are
required. Our extension is type-safe: a cast-free program that
compiles without errors will not have any type errors at run time, and
it is conservative: existing Java programs compile and run in the same
manner as under the original language definition. Finally, our
extension works well with recent extensions such as the Java
Distributed Object Model.

We have implemented our extension of Java with structural interface
conformance by modifying the Java Developers Kit 1.0.2 source release
for Solaris. We have also created a test suite for the extension.

---------

@TechReport{laufer-baumgartner-russo:java-conformance,
  author =       "Konstantin L{\"{a}}ufer and Gerald Baumgartner and
                  Vincent F. Russo",
  title =        "Safe Structural Conformance in Java",
  institution =  "Purdue University",
  year =         1996,
  number =       "CSD-TR-96-077",
  month =        dec,
  URL =         
"ftp://ftp.math.luc.edu/pub/laufer/papers/java-conformance.ps.gz"
}