Skip to main content

Automating the evolution of object-oriented systems

  • Design and Evolution
  • Conference paper
  • First Online:
Object Technologies for Advanced Software (ISOTAS 1996)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 1049))

Included in the following conference series:

Abstract

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.

Research conducted while at Northeastern University and supported by an Academic Research Grant from Mettler Toledo AG, Switzerland

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  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. 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. 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. 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. 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. 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. 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. 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. 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. 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. K. Jameson. Multi-Platform Code Management. O'Reilly & Associates, Inc., Sebastopol, CA, August 1994. ISBN 1-56592-059-7.

    Google Scholar 

  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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Kokichi Futatsugi Satoshi Matsuoka

Rights and permissions

Reprints and permissions

Copyright information

© 1996 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Hürsch, W.L., Seiter, L.M. (1996). Automating the evolution of object-oriented systems. In: Futatsugi, K., Matsuoka, S. (eds) Object Technologies for Advanced Software. ISOTAS 1996. Lecture Notes in Computer Science, vol 1049. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-60954-7_40

Download citation

  • DOI: https://doi.org/10.1007/3-540-60954-7_40

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-60954-4

  • Online ISBN: 978-3-540-49747-9

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics