Skip to main content

A Bytecode Translator for Distributed Execution of “Legacy” Java Software

  • Conference paper
  • First Online:

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

Abstract

This paper proposes a system named Addistant, which enables the distributed execution of “legacy” Java bytecode. Here “legacy” means the software originally developed to be executed on a single Java virtual machine (JVM). For adapting legacy software to distributed execution on multiple JVM, developers using Addistant have only to specify the host where instances of each class are allocated and how remote references are implemented. According to that specification, Addistant automatically transforms the bytecode at load time. A technical contribution by Addistant is that it covers a number of issues for implementing distributed execution in the real world. In fact, Addistant can adapt a legacy program written with the Swing library so that Swing objects are executed on a local JVM while the rest of objects are on a remote JVM.

Currently, Hitachi Ltd., Japan.

Currently, Tokyo Institute of Technology, Japan.

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

Buying options

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

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Ken Arnold, James Gosling and David Holmes, Garbage Collection and Memory, Chapter 12, In The Java Programming Language Third Edition, Addison Wesley, pp.313–327, 2000.

    Google Scholar 

  2. Yariv Aridor, Michael Factor and Avi Teperman, CJVM: a Single System Image of a JVM on a Cluster, In Proceedings of ICPP 99, IEEE, 1999.

    Google Scholar 

  3. Andrew Black, Norman Hutchinson, Eric Jul, Henry Levy, and Larry Carter, Distribution and Abstract Types in Emerald, In IEEE Transactions on Software Engineering, Vol.SE-13, No.1, IEEE, pp.65–76, 1987.

    Article  Google Scholar 

  4. Denis Caromel, Wilfried Klauser and Julien Vayssièra, Towards Seamless Computing and Metacomputing in Java, In Concurrency: Practice & Experience, Vol.10, No.11-13, Wiley, pp.1043–1061, 1998.

    Article  Google Scholar 

  5. Shigeru Chiba, Load-time Structural Reflection in Java, In Proceedings of ECOOP 2000, LNCS 1850, Springer Verlag, pp.313–336, 2000.

    Google Scholar 

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

    Google Scholar 

  7. James Gosling, Bill Joy, and Guy Steele, The Java Language Specification, Addison-Wesley, 1996.

    Google Scholar 

  8. Zvi Har’El and Zvi Rosberg, Java Class Broker-A Seamless Bridge from Local to Distributed Programming, In Journal of Parallel and Distributed Computing, Vol.60, No.11, Academic Press, pp.1223–1237, 2000.

    Article  Google Scholar 

  9. Michael Hicks, Suresh Jagannathan, Richard Kelsey, Jonathan T. Moore, and Cristian Ungureanu, Transparent Communication for Distributed Objects in Java, In Proceedings of the ACM 1999 conference on Java Grande, pp.160–170, 1999.

    Google Scholar 

  10. Satoshi Hirano, HORB: Distributed Execution of Java Programs, In Lecture Notes in Computer Science 1274, Springer, pp.29–42, 1997.

    Google Scholar 

  11. IBM, Remote Abstract Windowing Toolkit (RAWT), Online publishing, URI http://www.s390.ibm.com/java/rawt.html, 2000.

  12. Laxmikant V. Kalé, Milind Bhandarkar, and Terry Wilmarth, Design and Implementation of Parallel Java with Global Object Space, In Proceedings of PDPTA’ 97, Conference on Parallel and Distributed Processing Technology and Applications, 1997.

    Google Scholar 

  13. Sheng Liang and Gilad Bracha, Dynamic Class Loading in the Java Virtual Machine, In Proceedings of OOPSLA’ 98, ACM SIGPLAN Notices, Vol.33, No.10, pp.36–44, 1998.

    Article  Google Scholar 

  14. Tim Lindholm and Frank Yellin, The Java Virtual Machine Specification, Addison-Wesley, 1997.

    Google Scholar 

  15. Cristina V. Lopes and Gregor Kiczales, D: A Language Framework Technical report SPL97-010, pp.50–67, Xerox Palo Alto Research Center, 1997.

    Google Scholar 

  16. Matchy J. M. Ma, Cho-Li Wang, and Francis C. M. Lau, JESSICA: Java-Enabled Single-System-Image Computing Architecture, In Journal of Parallel and Distributed Computing, Vol.60, No.11, Academic Press, pp.1194–1222, 2000.

    Google Scholar 

  17. Nataraj Nagaratnam, Arvind Srinivasan, and Doug Lea, Remote Objects in Java, In Proceedings of IASTED’ 96, International Conference on Networks, 1996.

    Google Scholar 

  18. Robert Scheifler and Jim Gettys, The X Window System, In ACM Transactions on Graphics, Vol.5, No.2, pp.79–109, 1986.

    Article  Google Scholar 

  19. Michael Philippsen and Matthias Zenger, JavaParty-Transparent Remote Objects in Java, In Concurrency: Practice & Experience, Vol.9, No.11, Wiley, pp.1225–1242, 1999.

    Article  Google Scholar 

  20. Hans Rohnert, The Proxy Design Pattern Revisited, In Pattern Languages of Program Design 2, Addison-Wesley, pp.105–118, 1995.

    Google Scholar 

  21. Sun Microsystems, Inc., The Java Remote Method Invocation Specification, Online publishing, URI http://java.sun.com/products/jdk/rmi/, 1997.

  22. Sun Microsystems, Inc., Java Foundation Classes, Online publishing, URI http://java.sun.com/products/jfc/index.html, 2000.

  23. Weimin Yu and Alan Cox, Java/DSM: A Platform for Heterogeneous Computing, In Concurrency: Practice & Experience, Vol.9, No.11, Wiley, pp.1213–1224, 1997.

    Article  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

Tatsubori, M., Sasaki, T., Chiba, S., Itano, K. (2001). A Bytecode Translator for Distributed Execution of “Legacy” Java Software. In: Knudsen, J.L. (eds) ECOOP 2001 — Object-Oriented Programming. ECOOP 2001. Lecture Notes in Computer Science, vol 2072. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-45337-7_13

Download citation

  • DOI: https://doi.org/10.1007/3-540-45337-7_13

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-42206-8

  • Online ISBN: 978-3-540-45337-6

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics