Software Evolution through Dynamic Adaptation of Its OO Design

Cazzola, W; Ghoneim, A; Saake, G
Cazzola, W
Ghoneim, A
Saake, G
Mechanisms for Contemporary Software, LNCS 2975 (2004)
Citations range: 
10 - 49
Cazzola2003SoftwareEvolutionthroughDynamicAdaptationofItsOODesign.pdf281.43 KB

In this paper we present a proposal for safely evolving a software sys-
tem against run-time changes. This proposal is based on a reflective architecture
which provides objects with the ability of dynamically changing their behavior
by using their design information. The meta-level system of the proposed archi-
tecture supervises the evolution of the software system to be adapted that runs
as the base-level system of the reflective architecture. The meta-level system is
composed of cooperating components; these components carry out the evolution
against sudden and unexpected environmental changes on a reification of the de-
sign information (e.g., object models, scenarios and statecharts) of the system to
be adapted. The evolution takes place in two steps: first a meta-object, called evo-
lutionary meta-object, plans a possible evolution against the detected event then
another meta-object, called consistency checker meta-object validates the feasi-
bility of the proposed plan before really evolving the system. Meta-objects use
the system design information to govern the evolution of the base-level system.
Moreover, we show our architecture at work on a case study.