This Article 
 Bibliographic References 
 Add to: 
The Role of Polymorphic Reuse Mechanisms in Schema Evolution in an Object-Oriented Database
January-February 1997 (vol. 9 no. 1)
pp. 50-67

Abstract—A seamless approach to the incremental design and reuse of object-oriented methods and query specifications is presented. We argue for avoiding or minimizing the effort required for manually reprogramming methods and queries due to schema modifications, and demonstrate how the role of polymorphic reuse mechanisms is exploited for enhancing the adaptiveness of database programs against schema evolution in an object-oriented database. The salient features of our approach are the use of propagation patterns and a mechanism for propagation pattern refinement. Propagation patterns are employed as an interesting specification formalism for modeling operational requirements. They encourage the reuse of operational specifications against the structural modification of an object-oriented schema. Propagation pattern refinement is suited for the specification of reusable operational modules. It promotes the reusability of propagation patterns toward the operational requirement changes. This approach has a formal basis and emphasizes structural derivation of specifications. The main innovations are in raising the level of abstraction for behavioral schema design, and for making possible the derivation of operational semantics from structural specifications. As a result, both the modularity and reusability of object-oriented schemas are increased.

[1] M. Numao and S. Morishita, "Cooperative Scheduling and its Application to Steelmaking Processes," IEEE Trans. Industrial Electronics, Vol. 38, No. 2, 1991, pp. 150-155.
[2] J. Banerjee, W. Kim, H.J. Kim, and H.F. Korth, “Semantics and Implementation of Schema Evolution in Object-Oriented Databases,” Proc. ACM-SIGMOD Int'l Conf. Management of Data, pp. 311–322, May 1987.
[3] P.L. Bergstein and W.L. Hürsch, "Maintaining Behavioral Consistency during Schema Evolution," S. Nishio and A. Yonezawa, eds., Proc. Int'l Symp. Object Technologies and Advanced Software (ISOTAS), pp. 176-193,Kanazawa, Japan, Nov. 1993. JSSST, Springer-Verlag, Lecture Notes in Computer Science, vol. 742, Nov.1993.
[4] E. Bertino, “A View Mechanism for Object-Oriented Databases,” Proc. Third Int'l Conf. Extending Database Technology (EDBT), pp. 136–151, Mar. 1992.
[5] L. Cardelli, "A Semantics of Multiple Inheritance," Semantics of Data Types, pp.51-67. Springer-Verlag, 1984.
[6] L. Cardelli and P. Wegner, "On Understanding Types, Data Abstraction, and Polymorphism," ACM Computing Surveys, vol. 17, no. 4, pp. 471-522, 1985.
[7] D. Maier et al., "Development of an object-oriented DBMS," Proc. Conf. Object-Oriented Programming Systems, Languages, and Applications, pp. 472-482.New York: ACM, Sept. 1986.
[8] F. Ferrandina, T. Meyer, and R. Zicari, "Correctness of Lazy Database Updates for an Object Database System," Proc. Sixth Int'l Workshop Persistent Object Systems,Tarascon, France, Sept. 1994.
[9] F. Ferrandina, T. Meyer, and R. Zicari, "Implementing Lazy Database Updates for an Object Database System," Proc. Int'l Conf. Very Large Data Bases, pp. 261-272,Santiago, Chile, Sept. 1994.
[10] R. Helm, I.M. Holland, and D. Gangopadhyay, "Contracts: Specifying Behavioral Compositions in Object-Oriented Systems," Proc. OOPSLA 90, ACM Press, New York, 1990, pp. 169-180.
[11] W.L. Hürsch and L.M. Keszenheimer, "Automating Change Management of Object-Oriented Systems," Technical Report NU-CCS-95-06, College of Computer Science, Northeastern Univ., Boston, May 1995.
[12] W.L. Hürsch, K.J. Lieberherr, and S. Mukherjea, "Object-Oriented Schema Extension and Abstraction," Proc. ACM Computer Science Conf., Symp. Applied Computing, pp. 54-62,Indianapolis, Ind., ACM Press, Feb. 1993.
[13] W. Kent, "Breakdown of the Information Model," SIGMOD Record, vol. 20, no. 3, pp. 10-15, ACM, Sept. 1991.
[14] B.S. Lerner and A.N. Habermann, "Beyond Schema Evolution to Database Reorganization," Proc. OOPSLA, pp. 67-76, 1990.
[15] K.J. Lieberherr, "Adaptive Object-Oriented Software: The Demeter Method with Propagation Patterns," The Art of Growing Adaptive Object-Oriented Software.Boston: PWS Publishing, 1996.
[16] K.J. Lieberherr and I. Holland, "Formulations and Benefits of the Law of Demeter," SIGPLAN Notices, vol. 24, no. 3, pp. 67-78, Mar. 1989.
[17] K.J. Lieberherr, W. Hürsch, I. Silva-Lepe, and C. Xiao, "Experience with a Graph-Based Propagation Pattern Programming TOOL," Proc. Int'l Workshop CASE, pp. 114-119,Montreal, IEEE Computer Soc., 1992.
[18] K.J. Lieberherr, W.L. Hürsch, and C. Xiao, "Object-Extending Class Transformations," Formal Aspects of Computing, the Int'l J. Formal Methods, vol. 6, no. 4, pp. 391-416, July 1994.
[19] K. Lieberherr, I. Silva-Lepe, and C. Xiao, "Adaptive Object-Oriented Programming Using Graph-Based Customization," Comm. ACM, May 1994, pp. 94-101.
[20] K.J. Lieberherr and C. Xiao, "Formal Foundations for Object-Oriented Data Modeling," IEEE Trans. Knowledge and Data Eng., vol. 5, no. 3, pp. 462-478, June 1993.
[21] L. Liu, "A Recursive Object Algebra Based on Aggregation Abstraction for Complex Objects," J. Data and Knowledge Eng., vol. 11, no. 1, pp. 21-60, 1993.
[22] L. Liu and R. Meersman, "Activity Model: A Declarative Approach for Capturing Communication Behavior in Object-Oriented Databases," Proc. 18th Int'l Conf. Very Large Databases,Vancouver, Canada, Morgan Kauffman, 1992.
[23] L. Liu, R. Zicari, K. Lieberherr, and W. Hürsch, "Polymorphic Reuse Mechanisms for Object-Oriented Database Specifications," Proc. Int'l Conf. Data Eng., pp. 180-189,Houston, IEEE Press, 1994.
[24] L. Liu, R. Zicari, K. Lieberherr, and W. Hürsch, "The Role of Polymorphic Reuse Mechanisms in Schema Evolution in An Object-Oriented Database," Technical Report 02/94, J.W.G. Univ. of Frankfurt, 1994.
[25] J. Palsberg, C. Xiao, and K. Lieberherr, "Efficient Implementation of Adaptive Software," ACM Trans. Programming Languages and Systems, vol. 17, no. 2, pp. 264-292, Mar. 1995.
[26] I. Silva-Lepe, W.L. Hürsch, and G. Sullivan, "A Report on Demeter/C++," C++ Report, vol. 6, no. 2, pp. 24-30, Feb. 1994.
[27] A.H. Skarra and S.B. Zdonik, "Type Evolution in an Object-Oriented Database," B. Shriver and P. Wegner, eds., Research Directions in Object-Oriented Programming, pp. 393-413, MIT Press, 1987.
[28] M. Tresch and M.H. Scholl, "Schema Transformation without Database Reorganization," SIGMOD Record, pp. 21-27, 1993.
[29] R. Zicari, "A Framework of Schema Updates in an Object-Oriented Database," Proc. Int'l Conf. Data Eng.,Japan, IEEE Press, 1991.
[30] R. Zicari, "A Framework for O2Schema Updates," Building an Object-Oriented Database System: The Story of O2, F. Bancilhon, C. Delobel, and P. Kanellakis, eds., Morgan Kaufmann, 1992.

Index Terms:
Object-oriented database systems, software reuse, schema evolution, adaptive software specification and development, knowledge reasoning, program adaptation.
Ling Liu, Roberto Zicari, Walter Hürsch, Karl J. Lieberherr, "The Role of Polymorphic Reuse Mechanisms in Schema Evolution in an Object-Oriented Database," IEEE Transactions on Knowledge and Data Engineering, vol. 9, no. 1, pp. 50-67, Jan.-Feb. 1997, doi:10.1109/69.567047
Usage of this product signifies your acceptance of the Terms of Use.