Automating the evolution of object-oriented systems

  • Walter L. Hürsch
  • Linda M. Seiter
Design and Evolution
Part of the Lecture Notes in Computer Science book series (LNCS, volume 1049)


A formal framework is presented for maintaining behavior and consistency of object-oriented systems during software evolution. The framework effectively couples a change avoidance approach based on Adaptive Object-Oriented Software with a change management mechanism to fully automate evolution. Schema transformations may render existing objects and programs inconsistent. The framework identifies the introduced inconsistencies and provides the necessary object and program transformations to reinstate consistency while maintaining the behavior of the system. A formal definition of behavioral equivalence is given. To prove behavioral equivalence of adaptive programs, the paper includes a formal semantics for adaptive software. Finally, the feasibility of the framework is demonstrated for a representative set of primitive schema transformations.


object-oriented system evolution management of change schema evolution 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    J. Banerjee, W. Kim, H.-J. Kim, and H. F. Korth. Semantics and Implementation of Schema Evolution in Object-Oriented Databases. In Proceedings of ACM/SIGMOD Annual Conference on Management of Data, pages 311–322, San Francisco, California, December 1987. ACM Press. SIGMOD Record, Vol.16, No.3.Google Scholar
  2. 2.
    P. Bergstein. Object-Preserving Class Transformations. In Object-Oriented Programming Systems, Languages and Applications Conference, in Special Issue of SIGPLAN Notices, pages 299–313, Phoenix, Arizona, 1991. ACM Press. SIG-PLAN Notices, Vol. 26, 11 (November).Google Scholar
  3. 3.
    P. L. Bergstein, Managing the Evolution of Object-Oriented Systems. PhD thesis, College of Computer Science, Northeastern University, Boston, MA, June 1994.Google Scholar
  4. 4.
    P. L. Bergstein and W. L. Hürsch. Maintaining Behavioral Consistency during Schema Evolution. In S. Nishio and A. Yonezawa, editors, International Symposium on Object Technologies for Advanced Software, pages 176–193, Kanazawa, Japan, November 1993. JSSST, Springer Verlag, Lecture Notes in Computer Science.Google Scholar
  5. 5.
    V. Berzins, Luqi, and A. Yehudai. Using Transformations in Specification-Based Prototyping. IEEE Transactions on Software Engineering, 19(5):436–452, May 1993.Google Scholar
  6. 6.
    C. Delcourt and R. Zicari. The Design of an Integrity Consistency Checker (ICC) for an Object Oriented Database System. In P. America, editor, European Conference on Object-Oriented Programming, pages 97–117, Geneva, Switzerland, July 1991. Springer Verlag, Lecture Notes in Computer Science. Vol. 512.Google Scholar
  7. 7.
    E. Gamma, R. Helm, R. Johnson, and J. Vlissides. Design Patterns: Elements of Reusable Object-Oriented Software. Professional Computing Series. Addison-Wesley, Reading, MA, October 1994. ISBN 0-201-63361-2.Google Scholar
  8. 8.
    W. L. Hürsch. Should Superclasses be Abstract? In European Conference on Object-Oriented Programming, Bologna, Italy, July 1994. Springer Verlag, Lecture Notes in Computer Science.Google Scholar
  9. 9.
    W. L. Hürsch. Maintaining Consistency and Behavior of Object-Oriented Systems during Evolution. PhD thesis, College of Computer Science, Northeastern University, Boston, MA, September 1995.Google Scholar
  10. 10.
    W. L. Hürsch and L. M. Keszenheimer. Automating the Evolution of Object-Oriented Systems. Technical Report NU-CCS-95-06, College of Computer Science, Northeastern University, Boston, MA, April 1995.Google Scholar
  11. 11.
    K. Jameson. Multi-Platform Code Management. O'Reilly & Associates, Inc., Sebastopol, CA, August 1994. ISBN 1-56592-059-7.Google Scholar
  12. 12.
    G. Kiczales. Towards a New Model of Abstraction in the Engineering of Software. In International Workshop on Reflection and Meta-Level Architecture, Tama-City, Tokyo, Japan, November 1992.Google Scholar
  13. 13.
    B. S. Lerner and A. N. Habermann. Beyond Schema Evolution to Database Reorganization. In N. Meyrowitz, editor, Proceedings OOPSLA/ECOOP '90, pages 67–76, Ottawa, Canada, October 1990. ACM Press. Special Issue of SIGPLAN Notices, Vol.25, No.10.Google Scholar
  14. 14.
    K. J. Lieberherr. Adaptive Object-Oriented Software: The Demeter Method with Propagation Patterns. PWS Publishing Company, Boston, 1996. ISBN 0-534-94620-X.Google Scholar
  15. 15.
    K. J. Lieberherr, W. L. Hürsch, and C. Xiao. Object-Extending Class Transformations. Formal Aspects of Computing, 6:391–416, July 1994.Google Scholar
  16. 16.
    K. J. Lieberherr, I. Silva-Lepe, and C. Xiao. Adaptive Object-Oriented Programming using Graph-Based Customization. Communications of the ACM, 37(5), May 1994.Google Scholar
  17. 17.
    W. F. Opdyke and R. E. Johnson. Refactoring: An Aid in Designing Application Frameworks and Evolving Object-Oriented Systems. In Proceedings of the Symposium on Object-Oriented Programming emphasizing Practical Applications (SOOPA), pages 145–160, Poughkeepsie, NY, September 1990. ACM.Google Scholar
  18. 18.
    J. Palsberg, C. Xiao, and K. Lieberherr. Efficient Implementation of Adaptive Software. ACM Transactions on Programming Languages and Systems, 17(2):264–292, Mar. 1995.Google Scholar
  19. 19.
    L. M. Seiter, W. L. Hürsch, and K. J. Lieberherr. Composing Collaborations Using Adaptive Behavioral Components. Technical Report NU-CCS-95-21, College of Computer Science, Northeastern University, Boston, MA, December 1995.Google Scholar
  20. 20.
    K. J. Sullivan and D. Notkin. Reconciling Environment Integration and Software Evolution. ACM Transaction on Software Engineering and Methodology, 1(3):229–268, July 1992.Google Scholar
  21. 21.
    T. Watanabe and A. Yonezawa. Reflection in an Object-Oriented Concurrent Language. In A. Yonezawa, editor, ABCL — An Object-Oriented Concurrent System, chapter 3, pages 45–70. The MIT Press, Cambridge, Massachusetts, 1990. ISBN 0-262-24029-7.Google Scholar
  22. 22.
    R. Zicari. A Framework for Schema Updates in an Object-Oriented Database System. In F. Bancilhon, C. Delobel, and P. Kanellakis, editors, Building an Object-Oriented Database System, the Story of O 2, chapter 7, pages 176–182. Morgan Kaufmann, San Mateo, CA, 1992. ISBN 1-55860-169-4.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1996

Authors and Affiliations

  • Walter L. Hürsch
    • 1
  • Linda M. Seiter
    • 2
  1. 1.Zühlke Engineering AGSwitzerland
  2. 2.College of Computer ScienceNortheastern UniversitySwitzerland

Personalised recommendations