Automating three modes of evolution for object-oriented software architectures

  • Authors:
  • Lance Tokuda;Don Batory

  • Affiliations:
  • Department of Computer Science, University of Texas at Austin, Austin, TX;Department of Computer Science, University of Texas at Austin, Austin, TX

  • Venue:
  • COOTS'99 Proceedings of the 5th conference on USENIX Conference on Object-Oriented Technologies & Systems - Volume 5
  • Year:
  • 1999

Quantified Score

Hi-index 0.00

Visualization

Abstract

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.