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
Preview
Unable to display preview. Download preview PDF.
References
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.
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).
P. L. Bergstein, Managing the Evolution of Object-Oriented Systems. PhD thesis, College of Computer Science, Northeastern University, Boston, MA, June 1994.
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.
V. Berzins, Luqi, and A. Yehudai. Using Transformations in Specification-Based Prototyping. IEEE Transactions on Software Engineering, 19(5):436–452, May 1993.
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.
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.
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.
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.
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.
K. Jameson. Multi-Platform Code Management. O'Reilly & Associates, Inc., Sebastopol, CA, August 1994. ISBN 1-56592-059-7.
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.
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.
K. J. Lieberherr. Adaptive Object-Oriented Software: The Demeter Method with Propagation Patterns. PWS Publishing Company, Boston, 1996. ISBN 0-534-94620-X.
K. J. Lieberherr, W. L. Hürsch, and C. Xiao. Object-Extending Class Transformations. Formal Aspects of Computing, 6:391–416, July 1994.
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.
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.
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.
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.
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.
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.
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.
Author information
Authors and Affiliations
Editor information
Rights 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