Abstract
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.
Keywords
This work was partially supported by the Grant Agency of the Czech Republic in grants number 102/03/0672 and 201/03/0911.
This is a preview of subscription content, log in via an institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsPreview
Unable to display preview. Download preview PDF.
References
Andersson, J.: A Deployment System for Pervasive Computing. In: ICSM 2000 (2000)
Bruneton, E., Coupaye, T., Stefani, J.B.: The Fractal Composition Framework, http://www.objectweb.org
Bruneton, E., Lenglet, R., Coupaye, T.: ASM: A code manipulation tool to implement adaptable systems, http://www.objectweb.org
De Michiel, L.G., Yalcinalp, L.U., Krishnan, S.: EJB Specification 2.0
Distributed Systems Research Group: SOFA, http://sofa.debian-sf.objectweb.org
Gosling, J., Joy, B., Steele, G., Bracha, G.: Java Language Specification
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)
Lehman, M.M., Ramil, J.F.: Software Evolution in the Age of Component Based Software Engineering. IEE Proceedings Software 147(6) (2000)
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)
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)
Object Management Group: CORBA Components 3.0, OMG (2002)
Paal, S., Kammüller, R., Freisleben, B.: Customizable Deployment, Composition, and Hosting of Distributed Java Applications. In: DOA 2002 (2002)
Plášil, F., Bálek, D., Janeček, R.: SOFA/DCUP: Architecture for Component Trading and Dynamic Updating. In: ICCDS 1998 (1998)
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)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2003 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Hnětynka, P., Tůma, P. (2003). Fighting Class Name Clashes in Java Component Systems. In: Böszörményi, L., Schojer, P. (eds) Modular Programming Languages. JMLC 2003. Lecture Notes in Computer Science, vol 2789. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-45213-3_15
Download citation
DOI: https://doi.org/10.1007/978-3-540-45213-3_15
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-40796-6
Online ISBN: 978-3-540-45213-3
eBook Packages: Springer Book Archive