http://www.oopsla.org/2006/2006/index.php?option=com_content&task=view&id=60&Itemid=183

program registration submissions committee lodging portland

Statically Scoped Object Adaptation with Expanders

Statically Scoped Object Adaptation with Expanders

Research Paper

Tuesday, Oct 24, from 10:30 to 12:00

This paper introduces the expander, a new object-oriented (OO) programming language construct designed to support object adaptation. Expanders allow existing classes to be noninvasively updated with new methods, fields, and superinterfaces. Each client can customize its view of a class by explicitly importing any number of associated expanders. This view then applies to all instances of that class, including objects passed to the client from other components. A form of expander overriding allows expanders to interact naturally with OO-style inheritance. We describe the design, implementation, and evaluation of eJava, an extension to Java supporting expanders. We illustrate eJava's syntax and semantics through several examples. The statically scoped nature of expander usage allows for a modular static type system to prevent several important classes of errors. We describe this modular static type system informally, formalize eJava and its type system in an extension to Featherweight Java, and prove a type soundness theorem for the formalization. We also describe a modular compilation strategy for expanders, which we have implemented using the Polyglot extensible compiler framework. Finally, we illustrate the practical benefits of eJava by using this implementation in two case studies.

Alessandro Warth, University of California, Los Angeles
Milan Stanojevic, University of California, Los Angeles
Todd Millstein, University of California, Los Angeles

 
Research Papers in the same session
Related Onward! Papers
Related Panels
Related Practitioner Reports
Related Research Papers
Related Tutorials
Related Workshops

While Space Available
Search
program registration submissions committee lodging portland
For comments and questions about the web site
please contact us at support@oopsla.org
© 2005 OOPSLA