Nothing Special   »   [go: up one dir, main page]

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

Cited By

View all
  • (2021)Toward Object-oriented Modeling in SCChartsACM Transactions on Embedded Computing Systems10.1145/345348220:4(1-26)Online publication date: 29-May-2021
  • (2021)Techniques and tools for visually introducing freshmen to object-based thread abstractionsJournal of Parallel and Distributed Computing10.1016/j.jpdc.2021.05.013Online publication date: Jun-2021
  • (2019)Object-Oriented Programming in Computer ScienceAdvanced Methodologies and Technologies in Network Architecture, Mobile Computing, and Data Analytics10.4018/978-1-5225-7598-6.ch106(1439-1451)Online publication date: 2019
  • Show More Cited By

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

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
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]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 01 December 1987

Permissions

Request permissions for this article.

Check for updates

Qualifiers

  • Article

Conference

OOPSLA87
Sponsor:

Acceptance Rates

Overall Acceptance Rate 268 of 1,244 submissions, 22%

Upcoming Conference

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)358
  • Downloads (Last 6 weeks)37
Reflects downloads up to 14 Nov 2024

Other Metrics

Citations

Cited By

View all
  • (2021)Toward Object-oriented Modeling in SCChartsACM Transactions on Embedded Computing Systems10.1145/345348220:4(1-26)Online publication date: 29-May-2021
  • (2021)Techniques and tools for visually introducing freshmen to object-based thread abstractionsJournal of Parallel and Distributed Computing10.1016/j.jpdc.2021.05.013Online publication date: Jun-2021
  • (2019)Object-Oriented Programming in Computer ScienceAdvanced Methodologies and Technologies in Network Architecture, Mobile Computing, and Data Analytics10.4018/978-1-5225-7598-6.ch106(1439-1451)Online publication date: 2019
  • (2019)Towards Empirical Evidence on the Comprehensibility of Natural Language Versus Programming LanguageDesign Thinking Research10.1007/978-3-030-28960-7_7(111-131)Online publication date: 26-Sep-2019
  • (2018)Object-Oriented Programming in Computer ScienceEncyclopedia of Information Science and Technology, Fourth Edition10.4018/978-1-5225-2255-3.ch650(7470-7480)Online publication date: 2018
  • (2017)Interactive programming in Agda – Objects and graphical user interfacesJournal of Functional Programming10.1017/S095679681600031927Online publication date: 6-Feb-2017
  • (2017)Making the Domain Tangible: Implicit Object Lookup for Source Code ReadabilityDesign Thinking Research10.1007/978-3-319-60967-6_9(171-194)Online publication date: 27-Oct-2017
  • (2016)A prototype-based approach for managing clones in clone-and-own product linesProceedings of the 20th International Systems and Software Product Line Conference10.1145/2934466.2934487(35-44)Online publication date: 16-Sep-2016
  • (2016)Empirical study of the dynamic behavior of JavaScript objectsSoftware—Practice & Experience10.1002/spe.233446:7(867-889)Online publication date: 1-Jul-2016
  • (2015)Class inheritance structures and software maintenance activities - an empirical analysis2015 1st International Conference on Next Generation Computing Technologies (NGCT)10.1109/NGCT.2015.7375208(681-685)Online publication date: Sep-2015
  • Show More Cited By

View Options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Get Access

Login options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media