USENIX Technical Program - Abstract - COOTS 99
Automating Three Modes of Evolution for Object-Oriented Software Architectures
Lance Tokuda and Don Batory, University of Texas at Austin
Architectural evolution is a costly yet unavoidable consequence of a successful
application. One method for reducing cost is to automate aspects of the
evolutionary cycle when possible. Three kinds of architectural evolution in
object-oriented systems are: schema transformations, the introduction of design
pattern microarchitectures, and the hot-spot-driven-approach. This paper shows
that all three can be viewed as transformations applied to an evolving design.
Further, the transformations are automatable with refactorings --
behavior-preserving program transformations. A comprehensive list of
refactorings used to evolve large applications is provided and an analysis of
supported schema transformations, design patterns, and hot-spot meta patterns is
presented. Refactorings enable the evolution of architectures on an if-needed
basis reducing unnecessary complexity and inefficiency.
- View the full text of this paper in
HTML form and
- If you need the latest Adobe Acrobat Reader, you can download it from Adobe's site.
- To become a USENIX Member, please see our Membership Information.