Abstract
DJ is a new pure-Java library for adaptive programming that allows traversal strategies to be constructed and interprete dynamically at run-time, as opposed to existing adaptive programming tools that are strictly static. Traversal strategies can be used with adaptive visitors (similar to the Visitor pattern) or in a generic programming style by adapting them to the Java Collections framework. The DJ library makes heavy use of Java reflection andw e give some details of this implementation.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Jeremy Blosser. Java Tip 98: Reflect on the visitor design pattern. JavaWorld, July 2000.
Grady Booch, James Rumbaugh, and Ivar Jacobson. The Unified Modeling Language User Guide. Object Technology Series. Addison Wesley, 1999. ISBN 0-201-57168-4.
DavidC. Fallside. XML Schema Part 0: Primer. W3C, October 2000.
Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides. Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley, 1995.
JavaSoft. Java Core Reflection, 1998.
JavaSoft. Collections Framework Overview, 1999.
Barry Jay and Jens Palsberg. The essence of the visitor pattern. In COMPSAC’98, 22nd Annual International Computer Software and Applications Conference, pages 9–15, Vienna, 1998.
Karl J. Lieberherr. Adaptive Object-Oriented Software: The Demeter Method with Propagation Patterns. PWS Publishing Company, Boston, 1996. 616 pages, ISBN 0-534-94602-X.
Karl J. Lieberherr and Doug Orleans. Preventive program maintenance in Demeter/ Java (research demonstration). In International Conference on Software Engineering, pages 604–605, Boston, MA, 1997. ACM Press.
Karl J. Lieberherr and Boaz Patt-Shamir. Traversals of Object Structures: Specification andEfficient Implementation. Technical Report NU-CCS-97-15, College of Computer Science, Northeastern University, Boston, MA, Sep. 1997.
Joseph W. Yoder and Reza Razavi. Metadata and adaptive object-models. In ECOOP 2000 Workshop Reader, volume 1964 of Lecture Notes in Computer Science. Springer Verlag, 2000.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2001 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Orleans, D., Lieberherr, K. (2001). DJ: Dynamic Adaptive Programming in Java. In: Yonezawa, A., Matsuoka, S. (eds) Metalevel Architectures and Separation of Crosscutting Concerns. Reflection 2001. Lecture Notes in Computer Science, vol 2192. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-45429-2_5
Download citation
DOI: https://doi.org/10.1007/3-540-45429-2_5
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-42618-9
Online ISBN: 978-3-540-45429-8
eBook Packages: Springer Book Archive