Issues in the design of object-oriented database programming languages

We see a trend toward extending object-oriented languages in the direction of databases, and, at the same time, toward extending database systems with object-oriented ideas. On the surface, these two activities seem to be moving in a consistent direction. However, at a deeper level, we see difficulties that may inhibit their ending up at the same point. We feel that many of these difficulties are a result of the underlying assumptions that are inherent in the fields of programming language and database systems research. Many of these assumptions are historical and contribute to a set of cultural biases that often prevent the two communities from interacting as effectively as possible. The purpose of this paper is to try to uncover some of the cultural presuppositions that have inhibited development of a fully integrated database programming language. We have identified database and language features that seem to be difficult to reconcile. We try to uncover the basic problems in these two areas that these features were intended to solve. In order to resolve these problems, we attempt to distinguish fundamental differences from historical artifacts.

[1]  Guy L. Steele,et al.  The definition and implementation of a computer programming language based on constraints , 1980 .

[2]  L. Peter Deutsch,et al.  Efficient implementation of the smalltalk-80 system , 1984, POPL.

[3]  Dennis McLeod,et al.  Database description with SDM: a semantic database model , 1981, TODS.

[4]  Craig Schaffert,et al.  An introduction to Trellis/Owl , 1986, OOPLSA '86.

[5]  E. K. Kolodner RECOVERY USING VIRTUAL MEMORY , 1987 .

[6]  Norihisa Suzuki,et al.  Creating efficient systems for object-oriented languages , 1984, POPL '84.

[7]  Lawrence A. Rowe Issues in the Design of Database Programming Languages , 1980, Workshop on Data Abstraction, Databases and Conceptual Modelling.

[8]  Renzo Orsini,et al.  GALILEO: a strongly-typed, interactive conceptual language , 1985, TODS.

[9]  Frank Manola The Evaluation of Abstract Data Types as an Implementation Tool for Database Management Systems , 1979, IEEE Database Eng. Bull..

[10]  Barbara Liskov,et al.  Reliable object storage to support atomic actions , 1983, SOSP '85.

[11]  Peter M. D. Gray,et al.  Databases, role and structure : an advanced course , 1984 .

[12]  Manuel Mall,et al.  Abstraction mechanisms for database programming , 1983, SIGPLAN '83.

[13]  Lawrence A. Rowe,et al.  Data abstraction, views and updates in RIGEL , 1979, SIGMOD '79.

[14]  Alan Snyder Encapsulation and inheritance in object-oriented programming languages , 1986, OOPSLA 1986.

[15]  Michael L. Brodie,et al.  Proceedings of the 1980 workshop on Data abstraction, databases and conceptual modeling , 1980 .

[16]  David Robson,et al.  Smalltalk-80: The Language and Its Implementation , 1983 .

[17]  Malcolm P. Atkinson,et al.  PS-algol: an algol with a persistent heap , 1982, SIGP.

[18]  Stanley B. Zdonik,et al.  Language and Methodology for Object-Oriented Database Environments , 1985, Data Types and Persistence.

[19]  James H. Morris,et al.  Types are not sets , 1973, POPL.

[20]  Ronald Morrison,et al.  An Approach to Persistent Programming , 1989, Comput. J..

[21]  Paolo Paolini Abstract Data Types and Data Bases , 1980, Workshop on Data Abstraction, Databases and Conceptual Modelling.

[22]  Craig Schaffert,et al.  Persistent and Shared Objects in Trellis/Owl , 1986, OODBS.

[23]  Joachim W. Schmidt,et al.  PASCAL/R Report , 1980 .

[24]  L. Peter Deutsch,et al.  Constraints: A uniform model for data and control , 1981, Workshop on Data Abstraction, Databases and Conceptual Modelling.