ANU Computer Science Technical Reports
TR-CS-04-03
Alonso Marquez.
Efficient implementation of design patterns in Java programs.
February 2004.
[POSTSCRIPT (195608 bytes)] [PDF (115301 bytes)] [EPrints archive]
Abstract: Designing and implementing generic software
components using design patterns like proxy and facade [Gamma et al. 1994] is
commonly advocated in most application areas. Design patterns and genericity
are language design techniques created to provide better semantic
abstractions boundaries. However, most programming language implementations
have give very little support to techniques that remove these abstraction
boundaries to the extent necessary to permit efficient execution. We
present a general technique for optimization of Java programs that use any
sort of data and/or behavior delegation. We define a group of basic program
transformations that preserve the program semantics. They provide a
foundation for more complex program transformations such as class inlining
and class proxying with a broad range of applications in program optimization
and semantic extension. We present several real applications including
Orthogonal Persistence and automatic optimization of design patterns
implemented using these techniques.
Technical Reports <Technical-DOT-Reports-AT-cs-DOT-anu.edu.au>
Last modified: Tue May 31 12:56:01 EST 2011