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