[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"
}