Adaptable systems are often described as being composed of a persistent part that remains more or less stable throughout the evolution of the system and of more transient parts which are derived from the persistent part. Current research on adaptability seems to be biased towards adaptable systems of which the persistent part does not evolve at all. We argue that the issue of managing the evolution of the persistent part itself is not only a central issue in the practical application of adaptability, but is a key question in the understanding of adaptability: although changes to the persistent part occur only occasionally, most often these changes have a very large impact on the rest of the system; only very controlled changes guarantee that the rest of the system will remain more or less consistent. We propose to manage these changes by means of reuse contracts and reuse operators. Rather than having a template rigidly enforced by the builder of the adaptable system, with reuse contracts a reuser declares on which parts of the adaptable system he relies, what parts of the design he respects and what parts he violates. This enables evolution of the adaptable system, reuse of adaptations to different adaptable systems, and a more layered approach to adaptation.
[1]
Edward Yourdon.
Book Reviews: Object-Oriented Systems Design: An Integrated Approach, Edward Yourdon
,
1993,
SOEN.
[2]
Cherri M. Pancake,et al.
The promise and the cost of object technology: a five-year forecast
,
1995,
CACM.
[3]
차상균,et al.
[서평]Succeeding with Objects - Decision Frameworks for Project Management -
,
1996
.
[4]
Kim Mens,et al.
Vrije Universiteit Brussel Faculteit Wetenschappen Reuse Contracts: Managing the Evolution of Reusable Assets Reuse Contracts: Managing the Evolution of Reusable Assets
,
2022
.
[5]
Karl J. Lieberherr.
From transience to persistence in object-oriented programming: architectures and patterns
,
1996,
CSUR.