skip to main content
10.1145/38765.38847acmconferencesArticle/Chapter ViewAbstractPublication PagessplashConference Proceedingsconference-collections
Article
Free Access

Combining language and database advances in an object-oriented development environment

Published:01 December 1987Publication History

ABSTRACT

Object-oriented languages generally lack support for persistent objects—that is objects that survive the process or programming session. On the other hand, database systems lack the expressibility of object-oriented languages. Both persistence and expressibility are necessary for production application development.

This paper presents a brief overview of VBASE, an object-oriented development environment that combines a procedural object language and persistent objects into one integrated system. Language aspects of VBASE include strong datatyping, a block structured schema definition language, and parameterization, or the ability to type members of aggregate objects. Database aspects include system support for one-to-one, one-to-many, and many-to-many relationships between objects, an inverse mechanism, user control of object clustering in storage for space and retrieval efficiency, and support for trigger methods.

Unique aspects of the system are its mechanisms for custom implementations of storage allocation and access methods of properties and types, and free operations, that is operations that are not dispatched according to any defined type.

During the last several years, both languages and database systems have begun to incorporate object features. There are now many object-oriented programming languages. [Gol1983, Tes1985, Mey 1987, Cox 1986, Str 1986]. Object-oriented database management systems are not as prevalent yet, and sometimes tend to use different terms (Entity-Relationship, Semantic Data Model), but they are beginning to appear on the horizon [Cat1983, Cop1984, Ston1986, Mylo1980]. However, we are not aware of any system which combines both language and database features in a single object-oriented development platform. This is essential since a system must provide both complex data management and advanced programming language features if it is to be used to develop significant production software systems. Providing only one or the other is somewhat akin to providing half a bridge: it might be made structurally sound, perhaps, but it is not particularly useful to one interested in getting across the river safely.

Object-oriented languages have been available for many years. The productivity increases achievable through the use of such languages are well recognized. However, few serious applications have been developed using them. One reason has been performance, though this drawback is being eliminated through the development of compiled object languages. The remaining major negative factor, in our view, is the lack of support for persistence; the lack of objects that survive the processing session and provide object sharing among multiple users of an application.

Database management systems, in contrast, suffer from precisely the opposite problem. While having excellent facilities for managing large amounts of data stored on mass media, they generally support only limited expression capabilities, and no structuring facilities.

Both language and database systems usually solve this problem by providing bridges between the systems. Thus the proliferation of 'embedded languages', allowing language systems to access database managers. These bridges are usually awkward, and still provide only restricted functionality. Both performance and safety can be enhanced through a tighter coupling between the data management and programming language facilities.

It is this lack of a truly integrated system which provided our inspiration at Ontologic, Inc. This paper reviews Ontologic's VBASE Integrated Object System and describes how it combines language and database functionality.

References

  1. BOR1982 Boming, Alan H. and Ingalls, Daniel H. H.; "A Type Declaration and Inference System for Smalltalk"; Conference Record of the Ninth Annual ACM Symposium on Principles of Programruing Languages, pp 133-139, 1982. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. CAR1984 Cardelli, Luca; "A Semantics of Multiple Inheritance"; Lecture Notes in Computer Science. Springer-Verlag, New York, 1984, pp 51-67. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. CAR1986 CardeUi, Luca and Wegner, Peter; "On Understanding Types, Data Abstraction, and Polymorphism"; Computing Surveys, Vol. 17, No. 4, December 1985 Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. CAT1983 Cattell, R.G.G.; "Design and Implementation of a Relationship-Entity-Datum Data Model"; Xerox Corporation, 1983Google ScholarGoogle Scholar
  5. COP1984 Copeland, George and Maier, David; "Making Smalltalk a Database System;" Sigmod '84, Sigmond Record Volume 14, Number 2, pp 316-324, Association for Computing Machinery, 1984 Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. COX1986 Cox, Brad J.; Object-OriemedProgramruing: An Evolutionary Approach; Addison-Wesley, Reading, MA 1986 Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. GEMI986 GemStone Product Overview, Gem- Stone Version 1.0; Servio Logic Development Corporation. March, 1986Google ScholarGoogle Scholar
  8. GOL1983 Goidberg, Adele and Robson, David; Smalltalk-80: The Language and its {nplementation; Addison- Wesley, Reading, MA, 1983 Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. JOH 1986 Johnson, Ralph; "Type Checking Smalltalk"; in Proceedings of ACM Conference on Object-Oriented Programming Systems, Languages and Applications; pp 315-321; Portland, OR; September 29-October 2, 1986 Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. LIS1981 Liskov, Barbara; Atklnson, Russell; Bloom, Toby; Moss, Eliot; Schaffert, J. Craig; Scheifler, Robert and Snyder, Alan; Lecture Notes in Computer Science; Springer-Verlag, New York, NY 1981Google ScholarGoogle Scholar
  11. MEY1986 Meyer, Bertrand; "Genericity versus inheritance"; in Proceedings of ACM Conference on Object-Oriented Programming Systems, Languages and Applications; pp 391-405, Portland, OR; September 29-October 2, 1986 Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. MEY1987 Meyer, Bertrand; "Eiffel: Programruing for Reusability and Extendibility;" SIG- PLAN, Notices, vo122, no 2, pp 85-94; February 1987 Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. MYLO1980 Mylopoulos, John, Bernstein; Philip A., and Wong Harry K.T.; "A Language Facility for Designing Database-Intensive Applications", Transactions on Database Systems; Vol 5, No 2. pp 185-207; Association for Computing Machinery; June, 1980 Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. STON 1986 Stonebraker, Michael and Rowe, Lawrence A. "The Design of Postgres"; Sigmond Record, vol 15, no. 2, pp 340-355; Association for Computing Machinery; June 1986 Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. STR1986 Stroustrup, Bjarne L.; The C+ + Programmin g Language; Addison-Wesley; Reading, MA, 1986 Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. TES 1985 Tesler, Lan3,; "Object Pascal Report"; Structured Langauage World, vol 9, no.3, 1985Google ScholarGoogle Scholar

Index Terms

  1. Combining language and database advances in an object-oriented development environment

              Recommendations

              Comments

              Login options

              Check if you have access through your login credentials or your institution to get full access on this article.

              Sign in
              • Published in

                cover image ACM Conferences
                OOPSLA '87: Conference proceedings on Object-oriented programming systems, languages and applications
                December 1987
                493 pages
                ISBN:0897912470
                DOI:10.1145/38765

                Copyright © 1987 ACM

                Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

                Publisher

                Association for Computing Machinery

                New York, NY, United States

                Publication History

                • Published: 1 December 1987

                Permissions

                Request permissions about this article.

                Request Permissions

                Check for updates

                Qualifiers

                • Article

                Acceptance Rates

                Overall Acceptance Rate268of1,244submissions,22%

                Upcoming Conference

              PDF Format

              View or Download as a PDF file.

              PDF

              eReader

              View online with eReader.

              eReader