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

Dimensions of object-based language design

Published:01 December 1987Publication History

ABSTRACT

The design space of object-based languages is characterized in terms of objects, classes, inheritance, data abstraction, strong typing, concurrency, and persistence. Language classes (paradigms) associated with interesting subsets of these features are identified and language design issues for selected paradigms are examined. Orthogonal dimensions that span the object-oriented design space are related to non-orthogonal features of real languages. The self-referential application of object-oriented methodology to the development of object-based language paradigms is demonstrated.

Delegation is defined as a generalization of inheritance and design alternatives such as non-strict, multiple, and abstract inheritance are considered. Actors and prototypes are presented as examples of classless (delegation based) languages. Processes are classified by their degree of internal concurrency. The potential inconsistency of object-oriented sharing and distributed autonomy is discussed, suggesting that compromises between sharing and autonomy will be necessary in designing strongly typed object-oriented distributed database languages.

References

  1. Ag.Agha G., Actors, A Model of Concurrent Computation in Distributed Systems, MIT Press, 1986.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. BG.Bernstein B. A. and Goodman N., Concurrency Control in Distributed Database Systems, Computing Surveys, June 1981.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Co.Cook William, Self-Referential Models of Inheritance, Brown University Report, March 1987.]]Google ScholarGoogle Scholar
  4. DG.DeMichel L. G. and Gabriel R. P., The Common Lisp Object System, Proc ECOOP 1987.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. Do.Doeppner T. W., Threads - A System for the Support of Concurrent Programming, Brown University Computer Science Tech Report CS-87-I1, June 1987.]]Google ScholarGoogle Scholar
  6. DOD.Ada Reference Manual, US Dept of Defense, july 1980.]]Google ScholarGoogle Scholar
  7. GR.Goldberg A. and Robson D., Smalltalk 80: The Language and Its Implementation, Addison-Wesley 1983.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Ha.Hansen P. B., Distributed Processes, A Concurrent Programming Concept, CACM 1978.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. HN.Hailpern B. and Nguyen V., A Generalized Object Model, In Research Directions in Object- Oriented Programming, Eds. Shriver and Wegner, MIT Press, 1987.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Ho.Hoare C. A. R., Monitors, An Operating System Structuring Concept, CACM, October 1974.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Ho1.Hoare (3. A. R., Communicating Sequential Processes, CACM, August 1978.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. IT.Ishikawa Y. and Tokoro M., Orient 84K: An Object-Oriented Concurrent Programming Language for Knowledge Representation, In Object-Oriented Concurrent Programming, Eds ~onezawa and Tokoro, MIT Press 1987.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. Li.Lieberman H., Using Prototypical Objects to Implement Shared Behavior in Object-Oriented Languages, OOPSLA 86.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. LM.Lynch N. and Merritt M., Introduction to the Theory of Nested Transactions, MIT/LCS/TR-367, July 1986.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. LS.Liskov B. and Scheifler R., Guardians and Actions, Linguistic Support for Robust Distributed Programs, TOPLAS, July 1983.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. LSAS.Liskov B., Snyder A., Atkinson R., and Schaffert C., Abstraction Mechanisms in CLU, CACM, August 1977.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. LTP.LaIonde W. R., Thomas D. A., and Pugh J. R., An Exemplar-Based Smalltalk, OOPSLA 86.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. Mo.Moon D., Object-Oriented Programming with Flavors, OOPSLA 86.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. Sc.Schaffert C. et al., An Introduction to Trellis/Owl, OOPSLA 86.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. Sn.Snyder A., Encapsulation and Inheritance in Object-Oriented Languages, OOPSLA 86.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. St.Stein Lynn, Delegation is Inheritance, OOPSLA 87.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. Str.Strom R., A Comparison of the Object-Oriented and Process Paradigms, SIGPLAN Notices, October 1986.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. SY.Strom R. and ~emini S., NIL: An integrated Language and System for Distributed Programming, Proc SIGPLAN '83 Symposium on Language Issues in Software Systems, June 1983.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. SYW.Strom R., Yemini S., and Wegner P., Viewing Ada from a Process Model Perspective, International Ada Conference, Paris, May 1985.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. We.Wegner P., The Object-Oriented Classification Paradigm, in Research Directions in Object-Oriented Programming, Eds Shriver and Wegner, MIT Press 1987.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. Wei.Weihl W. E., Specification and Implementation of Atomic Data Types, PhD Thesis, MIT March 1984.]]Google ScholarGoogle Scholar
  27. Wi.Wirth N., Programming in Modula 2, Springer Verlag 1982.]]Google ScholarGoogle Scholar
  28. WZ.Wegner P. and Zdoaik S., Why Like Isn't Like Is-a, Brown University Technical Report, April 1984.]]Google ScholarGoogle Scholar
  29. YBS.Yonezawa A., Briot J. and Shibayama E., Tokyo Institute of Technology, OOPSLA 1986.]]Google ScholarGoogle Scholar
  30. ZW.Zdonik S., and Wegner P., Language and Methodology for Object-Oriented Databases, Hawaii Conference on System Sciences, Jan 1986.]]Google ScholarGoogle Scholar

Index Terms

  1. Dimensions of object-based language design

        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