Fighting Class Name Clashes in Java Component Systems

  • Petr Hnětynka
  • Petr Tůma
Part of the Lecture Notes in Computer Science book series (LNCS, volume 2789)


This paper deals with class and interface name clashes in Java component systems that occur because of evolutionary changes during the lifecycle of a component application. We show that the standard facilities of the Java type system do not provide a satisfactory way to deal with the name clashes, and present a solution based on administering the names of classes and interfaces with a version identifier using a byte code manipulation tool. We provide a proof of concept implementation.


components Java versioning classes interfaces name clashes 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Andersson, J.: A Deployment System for Pervasive Computing. In: ICSM 2000 (2000)Google Scholar
  2. 2.
    Bruneton, E., Coupaye, T., Stefani, J.B.: The Fractal Composition Framework,
  3. 3.
    Bruneton, E., Lenglet, R., Coupaye, T.: ASM: A code manipulation tool to implement adaptable systems,
  4. 4.
    De Michiel, L.G., Yalcinalp, L.U., Krishnan, S.: EJB Specification 2.0Google Scholar
  5. 5.
    Distributed Systems Research Group: SOFA,
  6. 6.
    Gosling, J., Joy, B., Steele, G., Bracha, G.: Java Language SpecificationGoogle Scholar
  7. 7.
    Hnětynka, P., Tůma, P.: Managing Class Names in Java Component Systems with Dynamic Update, TR 2003/2, Dept. of SW Engineering, Charles University, Prague (2003)Google Scholar
  8. 8.
    Lehman, M.M., Ramil, J.F.: Software Evolution in the Age of Component Based Software Engineering. IEE Proceedings Software 147(6) (2000)Google Scholar
  9. 9.
    Malabarba, S., Pandey, R.B., Gragg, J., Barr, E., Barnes, J.F.: Runtime support for type-safe dynamic java classes. In: Bertino, E. (ed.) ECOOP 2000. LNCS, vol. 1850, p. 337. Springer, Heidelberg (2000)CrossRefGoogle Scholar
  10. 10.
    Mencl, V., Hnětynka, P.: Managing Evolution of Component Specifications using a Federation of Repositories, TR 2001/2, Dept. of SW Engineering, Charles University, Prague (2001)Google Scholar
  11. 11.
    Object Management Group: CORBA Components 3.0, OMG (2002)Google Scholar
  12. 12.
    Paal, S., Kammüller, R., Freisleben, B.: Customizable Deployment, Composition, and Hosting of Distributed Java Applications. In: DOA 2002 (2002)Google Scholar
  13. 13.
    Plášil, F., Bálek, D., Janeček, R.: SOFA/DCUP: Architecture for Component Trading and Dynamic Updating. In: ICCDS 1998 (1998)Google Scholar
  14. 14.
    Redmond, B., Cahill, V.: Supporting Unanticipated Dynamic Adaptation of Application Behaviour. In: Magnusson, B. (ed.) ECOOP 2002. LNCS, vol. 2374, p. 205. Springer, Heidelberg (2002)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2003

Authors and Affiliations

  • Petr Hnětynka
    • 1
  • Petr Tůma
    • 1
  1. 1.Distributed System Research Group, Department of Software EngineeringCharles UniversityPrague 1Czech Republic

Personalised recommendations