Skip to main content

DJ: Dynamic Adaptive Programming in Java

  • Conference paper
  • First Online:
Metalevel Architectures and Separation of Crosscutting Concerns (Reflection 2001)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 2192))

Included in the following conference series:

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Jeremy Blosser. Java Tip 98: Reflect on the visitor design pattern. JavaWorld, July 2000.

    Google Scholar 

  2. Grady Booch, James Rumbaugh, and Ivar Jacobson. The Unified Modeling Language User Guide. Object Technology Series. Addison Wesley, 1999. ISBN 0-201-57168-4.

    Google Scholar 

  3. DavidC. Fallside. XML Schema Part 0: Primer. W3C, October 2000.

    Google Scholar 

  4. Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides. Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley, 1995.

    Google Scholar 

  5. JavaSoft. Java Core Reflection, 1998.

    Google Scholar 

  6. JavaSoft. Collections Framework Overview, 1999.

    Google Scholar 

  7. 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.

    Google Scholar 

  8. 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.

    Google Scholar 

  9. 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.

    Google Scholar 

  10. 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.

    Google Scholar 

  11. 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.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints 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

Publish with us

Policies and ethics