Abstract: Following the Law of Demeter, a programming style rule for loose coupling between the structure and behavior concerns, can result in a large number of small methods scattered throughout the program, which can make it hard to understand the high-level picture of what a program does. Adaptive programming with traversal strategies and adaptive visitors in DemeterJ avoids this problem while even better supporting this loose coupling of concerns. DJ is a pure-Java package for adaptive programming that allows traversal strategies to be constructed and interpreted dynamically at run-time. Traversal strategies can be used with adaptive visitors or in a generic programming style by adapting them to the Java Collections framework. The DJ package makes heavy use of Java reflection and we give the highlights of this implementation.
Bibtex entry:
@TECHREPORT{DJ-reflection,
AUTHOR = "Doug Orleans and Karl Lieberherr",
TITLE = "{DJ: Dynamic Adaptive Programming in Java}",
INSTITUTION = "College of Computer Science, Northeastern University",
YEAR = 2001,
MONTH = "March",
NUMBER = "{NU-CCS-2001-02}",
ADDRESS = "Boston, MA",
PAGES = "1-10"
}
@InProceedings{OrleansLieberherrReflection01,
author = "Doug Orleans and Karl Lieberherr",
title = "DJ: Dynamic Adaptive Programming in Java",
booktitle = "{Reflection 2001: Meta-level Architectures and Separation of Crosscutting Concerns }",
year = "2001",
address = "Kyoto, Japan",
month = "September",
publisher = "Springer Verlag",
note = "8 pages".
}
Abstract:
The paper as published by Springer Verlag is a streamlined version of the paper below. The official conference version is available from the Springer Website.
Powerpoint viewgraphs and sound files for presentation in Kyoto
Paper in various formats (dj.ps is in Postscript)
Related paper: DJ and AOP