This Article 
 Bibliographic References 
 Add to: 
Formal Foundations for Object-Oriented Data Modeling
June 1993 (vol. 5 no. 3)
pp. 462-478

Class dictionary graphs, axiomatic definitions of basic structures used by object-oriented designers and programmers during the software development process, are discussed. An axiomatic foundation for object-oriented data modeling and efficient algorithms for checking whether a given data model satisfies the axioms are presented. The data model is the foundation for a number of techniques for developing object-oriented systems, including adaptive software, schema abstraction from object examples, schema optimization, planning techniques for system development, and the Law of Demeter, among others.

[1] M. Atkinson, F. Bancilhorn, D. De Witt, K. Dittrich, D. Maier, and S. Zdonik, "The object-oriented database system manifesto," inProc. Int. Conf. on Deductive and Object-Oriented Databases, Kyoto, Japan, 1989.
[2] K. Baclawski, "Panoramas and grammars: A new view of data models," Tech. Rep. NU-CCS-91-2, Northeastern Univ., Feb. 1991.
[3] P. C. Beeri, "Formal models for object-oriented databases," inProc. 1st Int. Conf. on Deductive and Object-Oriented Databases, Kyoto, Japan, Dec. 1989, p. 370-395, Elsevier.
[4] P. Bergstein, "Object-preserving class transformations," inProc. Object-Oriented Programming Syst. Languages Applicat. Conf., inSpecial Issue SIGPLAN Notices, Phoenix, AZ, vol. 26, no. 11, 1991, pp. 299-313.
[5] P. Bergstein and K. Lieberherr, "Incremental class dictionary learning and optimization," inProc. European Conf. Object-Oriented Programming, Geneva, Switzerland, 1991, pp. 377-396.
[6] W. Bibel, "Advanced topics in automated deduction," Tech. Rep. 87-39, Dep. of Comput. Sci., Univ. of British Columbia, Nov. 1987.
[7] P.R. Cohen and E. A. Feigenbaum,The Handbook of Artificial Intelligence, vol. 3. San Francisco, CA: William Kaufmann, 1982.
[8] K. R. Dittrich, "Object-oriented database systems: The next miles of the marathon,"Inform. Syst., vol. 15, no. 1, pp. 161-167, 1990.
[9] A. Goldberg and D. Robson,Smalltalk80: The Language and Its Implementation. Reading, MA: Addison-Wesley, May 1983.
[10] A. V. Goldberg and K. J. Lieberherr, "GEM: A generator of environments for metaprogramming," inProc. SOFTFAIR II, ACM/IEEE Conf. on Software Tools, San Francisco, 1985, pp. 86-95.
[11] G. H. Gonnet, "Mind your grammar: A new approach to modeling text," inProc. 13th Int. Conf. Very Large Databases, pp. 339-346, Sept. 1987.
[12] M. Gyssens, J. Paredaens, and D. Van Gucht, "A graph-oriented object database model for database end-user interfaces," in H. Garcia-Molina and H. V. Jagadish, Eds.,Proc. 1990 ACM SIGMOD Int. Conf. Mgmt. of Data, inSIGMOD Rec., vol. 19, pp. 24-33, 1990.
[13] J.E. Hopcroft and J.D. Ullman,Introduction to Automata Theory, Languages, and Computation, Addison-Wesley, Reading, Mass., 1979.
[14] W.L. Hürsch, K. J. Lieberherr, and S. Mukherjea, "Object-oriented schema extension and abstraction," inProc. ACM Computer Science Conf., Symp. on Applied Computing, Indianapolis, IN, Feb. 1993.
[15] R.E. Johnson and B. Foote, "Designing reusable classes,"J. Object-Oriented Programming, vol. 1, no. 2, pp. 22-35, June/July 1988.
[16] C. Lecluse, P. Richard, and F. Velez, "O2, an object-oriented data model," in Zdonik and Maier, ed.,Readings in Object-Oriented Database Systems. San Francisco, CA: Morgan Kaufmann, 1990, pp. 227-236.
[17] K. Lieberherr and C. Xiao, "Object-oriented software evolution,"IEEE Trans. Software Eng., accepted for publication, Mar. 1993.
[18] T. J. Teorey, D. Yang, and J. P. Fry, "A logical design methodology for relational databases using the extended entity-relationship model,"ACM Comput. Surveys, vol. 18, no. 2, pp. 197-222, June 1986.
[19] K. Lieberherr, C. Xiao, and I. Silva-Lepe, "Propagation patterns: Graph-based specifications of cooperative behavior," Tech. Rep. NU-CCS-91- 14, Northeastern Univ., Sept. 1991.
[20] K. J. Lieberherr, "Object-oriented programming with class dictionaries,"J. Lisp Symbolic Computation, vol. 1, no. 2, pp. 185-212, 1988.
[21] K. J. Lieberherr, P. Bergstein, and I. Silva-Lepe, "Abstraction of object-oriented data models," inProc. Int. Conf. on Entity-Relationship, Lausanne, Switzerland, 1990, pp. 81-94.
[22] K.J. Lieberherr, P. Bergstein, and I. Silva-Lepe, "From Objects to Classes: Algorithms for Object-Oriented Design,"J. Software Engineering, Vol. 6, No. 4, July 1991, pp. 205-228.
[23] K. J. Lieberherr and I. Holland, "Assuring good style for object-oriented programs,"IEEE Software, pp. 38-48, Sept. 1989.
[24] K. J. Lieberherr and I. Holland, "Tools for preventive software maintenance," inProc. Cong. Software Maintenance, Miami Beach, FL, Oct. 16-19, 1989, pp. 2-13.
[25] K.J. Lieberherr, I. Holland, and A.J. Riel, "Object-Oriented Programming: An Objective Sense of Style,"Proc. Object-Oriented Programming System, Languages, and Applications Conf., ACM, New York, 1988, pp. 323- 334.
[26] K.J. Lieberherr and A.J. Riel, "Demeter: A CASE Study of Software Growth through Parameterized Classes,"J. Object-Oriented Programming, Aug./Sept. 1988, pp. 8-22.
[27] K. J. Lieberherr and A. J. Riel, "Contributions to teaching object-oriented design and programming," inProc. Object-Oriented Programming Systems, Languages and Applications Conf., in Special Issue of SIGPLAN Notices, Oct. 1989, pp. 11-22.
[28] K. J. Lieberherr and C. Xiao, "The Demeter kernel model for object-oriented and language design," Tech. Rep. NU-CCS-90-11 (revised), Northeastern Univ., April 1991.
[29] B. Liskov and J. Guttag,Abstraction and Specification in Program Development. Cambridge, MA: MIT Press, 1986.
[30] U. Manber,Introduction to Algorithms: A Creative Approach. Reading, MA: Addison-Wesley, 1989.
[31] B. Meyers,Object Oriented Software Construction. Englewood Cliffs, NJ: Prentice-Hall, 1988.
[32] B. Pernici, F. Barbie, M. G. Fugini, R. Maiocchi, J. R. Rames, and C. Rolland, "C-TODOS: An automatic tool for office system conceptual design,"ACM Trans. Office Inform. Syst. vol. 7, no. 4, pp. 378-419, Oct. 1989.
[33] R. Snodgrass,The Interface Description Language. Rockville, MD: Computer Science Press, 1989.
[34] B. Stroustrup,The C++ Programming Language. Reading, MA: Addison-Wesley, 1986.
[35] R. E. Tarjan, "Depth first search and linear graph algorithms,"SIAM J. Comput., vol. 1, pp. 146-160, June 1972.

Index Terms:
formal foundations; class dictionary graphs; object-oriented data modeling; axiomatic definitions; object-oriented designers; programmers; software development process; axioms; adaptive software; schema abstraction; schema optimization; planning techniques; system development; Law of Demeter; object-oriented databases; software engineering
K. Lieberherr, C. Xiao, "Formal Foundations for Object-Oriented Data Modeling," IEEE Transactions on Knowledge and Data Engineering, vol. 5, no. 3, pp. 462-478, June 1993, doi:10.1109/69.224198
Usage of this product signifies your acceptance of the Terms of Use.