An object-based programming model for shared data
- 1 April 1992
- journal article
- Published by Association for Computing Machinery (ACM) in ACM Transactions on Programming Languages and Systems
- Vol. 14 (2) , 201-264
- https://doi.org/10.1145/128861.128866
Abstract
The classical object model supports private data within objects and clean interfaces between objects, and by definition does not permit sharing of data among arbitrary objects. This is a problem for real-world applications, such as advanced financial services and integrated network management, where the same data logically belong to multiple objects and may be distributed over multiple nodes on the network. Rather than give up the advantages of encapsulated objects in modeling real-world entities, we propose a new object model that supports shared data in a distributed environment. The key is separating distribution of computation units from information-hiding concerns. Minimal units of data and control, called facets , may be shared among multiple objects and are grouped into processes . Thus, a single object, or information-hiding unit, may be distributed among multiple processes, or computation units. In other words, different facets of the same object may reside in different address spaces on different machines. We introduce our new object model, describe a motivating example from the financial domain, and then explain facets, objects, and processes, followed by timing and synchronization concerns.Keywords
This publication has 16 references indexed in Scilit:
- Linda in contextCommunications of the ACM, 1989
- Inheritance of synchronization and recovery properties in Avalon/C++Computer, 1988
- ConManPublished by Association for Computing Machinery (ACM) ,1988
- On synchronization in hard-real-time systemsCommunications of the ACM, 1988
- A Stub Generator for Multilanguage RPC in Heterogeneous EnvironmentsIEEE Transactions on Software Engineering, 1987
- An example of stepwise refinement of distributed programs: quiescence detectionACM Transactions on Programming Languages and Systems, 1986
- Implementing remote procedure callsACM Transactions on Computer Systems, 1984
- More on nested monitor callsACM SIGOPS Operating Systems Review, 1978
- The notions of consistency and predicate locks in a database systemCommunications of the ACM, 1976
- Self-stabilizing systems in spite of distributed controlCommunications of the ACM, 1974