The Journal of Supercomputing, 24, 151–159, 2003 © 2003 Kluwer Academic Publishers. Manufactured in The Netherlands. Component Management in a Dynamic Architecture MARIE-CLAUDE PELLEGRINI marie-claude.pellegrini@gemplus.com GEMPLUS Research Lab, B.P. 100, 13881 Gémenos Cedex, France MICHEL RIVEILL riveill@unice.fr Ecole Supérieure en Sciences Informatiques, 930 route des Colles, BP 145, 06903 Sophia Antipolis Cedex, France Abstract. Modern distributed programming environments commonly restrict programmers to a single form of inter-component configuration of an application. However, these distributed applications are prone to evolve drastically during their lifetime, to take into account the new users requirements, the technological evolution, or to improve the performance of the application. Evolution involves changes related to the application architecture, the software implementation, or the physical location of software components in a distributed environment during the application execution. In this paper, we describe an original approach for the dynamic application management which fulfills the above requirements with minimal perturbation. In order to prove the advantage of our approach, we have implemented a prototype of this service by extending a CORBA environment. Keywords: dynamic management, distributed application, component, CORBA 1. Introduction Distributed applications are prone to evolve during their lifetime for multiple reasons: evolution of the application architecture, addition of new functional requirements, occurence of new programming and communication technologies, modification of the physical runtime environment, the increase of kind of devices and materials, etc. Such evolutions have several effects on application architectures: components may need to be updated, the communication infrastructure may require modifications and the location of some components may need to be changed and readapted. Thus, the problem we address here is to use the flexibility of component- based applications to accommodate application changes after it has been designed. Indeed, changes may be executed off-line, when the application is shutdown, or on- line, while it is running. The latter case is called dynamic architecture management or reconfiguration. In this case, the configuration manager must execute changes causing the least possible disruption and keeping the application always in a consis- tent state. 1.1. Related work Achitecture configuration management problem has been the topic of a lot of research, which has led to a classification of the possibilities for reconfiguration of