Smalltalk-80: the language and its implementation
Smalltalk-80: the language and its implementation
An example of stepwise refinement of distributed programs: quiescence detection
ACM Transactions on Programming Languages and Systems (TOPLAS) - The MIT Press scientific computation series
Actors: a model of concurrent computation in distributed systems
Actors: a model of concurrent computation in distributed systems
The design of the UNIX operating system
The design of the UNIX operating system
Memory coherence in shared virtual memory systems
PODC '86 Proceedings of the fifth annual ACM symposium on Principles of distributed computing
A Stub Generator for Multilanguage RPC in Heterogeneous Environments
IEEE Transactions on Software Engineering - Special issue on distributed systems
Concurrency control and recovery in database systems
Concurrency control and recovery in database systems
Object-oriented programming with flavors
OOPLSA '86 Conference proceedings on Object-oriented programming systems, languages and applications
Object structure in the Emerald system
OOPLSA '86 Conference proceedings on Object-oriented programming systems, languages and applications
Using prototypical objects to implement shared behavior in object-oriented systems
OOPLSA '86 Conference proceedings on Object-oriented programming systems, languages and applications
ASPLOS II Proceedings of the second international conference on Architectual support for programming languages and operating systems
Composite object support in an object-oriented database system
OOPSLA '87 Conference proceedings on Object-oriented programming systems, languages and applications
Dimensions of object-based language design
OOPSLA '87 Conference proceedings on Object-oriented programming systems, languages and applications
OOPSLA '87 Conference proceedings on Object-oriented programming systems, languages and applications
PODC '87 Proceedings of the sixth annual ACM Symposium on Principles of distributed computing
On synchronization in hard-real-time systems
Communications of the ACM
Distributed programming in Argus
Communications of the ACM
High contention in a stock trading database: a case study
SIGMOD '88 Proceedings of the 1988 ACM SIGMOD international conference on Management of data
An exercise in proving self-stabilization with a variant function
Information Processing Letters
Communications of the ACM
A shared view of sharing: the treaty of Orlando
Object-oriented concepts, databases, and applications
SIGMOD '89 Proceedings of the 1989 ACM SIGMOD international conference on Management of data
An efficient implementation of SELF a dynamically-typed object-oriented language based on prototypes
OOPSLA '89 Conference proceedings on Object-oriented programming systems, languages and applications
A low-level tasking package for Ada
SIGAda '87 Proceedings of the 1987 annual ACM SIGAda international conference on Ada
A model and temporal proof system for networks of processes
POPL '85 Proceedings of the 12th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Proceedings on the 1986 international workshop on Object-oriented database systems
OODS '86 Proceedings on the 1986 international workshop on Object-oriented database systems
Implementing remote procedure calls
ACM Transactions on Computer Systems (TOCS)
The notions of consistency and predicate locks in a database system
Communications of the ACM
Self-stabilizing systems in spite of distributed control
Communications of the ACM
ConMan: a visual programming language for interactive graphics
SIGGRAPH '88 Proceedings of the 15th annual conference on Computer graphics and interactive techniques
Verifying Concurrent Processes Using Temporal Logic
Verifying Concurrent Processes Using Temporal Logic
Artificial Intelligence Programming
Artificial Intelligence Programming
Modular verification of concurrent programs
POPL '82 Proceedings of the 9th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
ACM SIGOPS Operating Systems Review
Knowledge and common knowledge in a distributed environment
PODC '84 Proceedings of the third annual ACM symposium on Principles of distributed computing
The problem of nested monitor calls
ACM SIGOPS Operating Systems Review
The Programmers' Playground: I/O Abstraction for User-Configurable Distributed Applications
IEEE Transactions on Software Engineering
LAVA: Secure Delegation of Mobile Applets: Design, Implementation, and Applications
WET-ICE '97 Proceedings of the 6th Workshop on Enabling Technologies on Infrastructure for Collaborative Enterprises
Research note: Modeling distributed data representation and its effect on parallel data accesses
Journal of Parallel and Distributed Computing - Special issue: Design and performance of networks for super-, cluster-, and grid-computing: Part I
Hi-index | 0.00 |
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.