Automating the Evolution of Object-Oriented Systems

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.

[1]  Kevin Jameson Multi-Platform Code Management , 1994 .

[2]  Akinori Yonezawa,et al.  Reflection in an object-oriented concurrent language , 1988, OOPSLA 1988.

[3]  Karl J. Lieberherr,et al.  Adaptive object-oriented programming using graph-based customization , 1994, CACM.

[4]  David Notkin,et al.  Reconciling environment integration and software evolution , 1992, TSEM.

[5]  J LieberherrKarl,et al.  Adaptive object-oriented programming using graph-based customization , 1994 .

[6]  Jens Palsberg,et al.  Efficient implementation of adaptive software , 1995, TOPL.

[7]  Jay Banerjee,et al.  Semantics and implementation of schema evolution in object-oriented databases , 1987, SIGMOD '87.

[8]  Paul L. Bergstein,et al.  Managing the Evolution of Object-Oriented Systems , 1994 .

[9]  Linda M. Seiter,et al.  Composing Collaborations Using Adaptive Behavioral Components , 1995 .

[10]  Akinori Yonezawa,et al.  ABCL: an object-oriented concurrent system , 1990 .

[11]  Roberto V. Zicari,et al.  The Design of an Integrity Consistency Checker (ICC) for an Object-Oriented Database System , 1991, ECOOP.

[12]  Ralph Johnson,et al.  design patterns elements of reusable object oriented software , 2019 .

[13]  Paul L. Bergstein,et al.  Maintaining Behavioral Consistency during Schema Evolution , 1993, ISOTAS.

[14]  A. Nico Habermann,et al.  Beyond schema evolution to database reorganization , 1990, OOPSLA/ECOOP '90.

[15]  Walter L. Hursch,et al.  Maintaining Consistency and Behavior of Object-Oriented Systems during Evolution , 1995 .

[16]  Luqi,et al.  Using Transformations in Specification-Based Prototyping , 1993, IEEE Trans. Software Eng..

[17]  Roberto Zicari,et al.  A framework for schema updates in an object-oriented database system , 1991, [1991] Proceedings. Seventh International Conference on Data Engineering.

[18]  Paul L. Bergstein,et al.  Object-preserving class transformations , 1991, OOPSLA '91.

[19]  François Bancilhon,et al.  Building an Object-Oriented Database System, The Story of O2 , 1992 .

[20]  C. Xiao Eecient Implementation of Adaptive Software , 1994 .

[21]  Karl Lieberherr,et al.  Adaptive Object-Oriented Software: The Demeter Method with Propagation Patterns , 1995 .

[22]  Walter L. Hürsch Should Superclasses be Abstract? , 1994, ECOOP.