An object model for shared data

The classical object model supports private data within objects and clean interfaces among objects, and, by definition, does not permit sharing of data among arbitrary objects. This is a problem for certain real-world applications, where the same data logically belongs 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, a new object model that supports distribution of computation units from information-hiding concerns is proposed. A new object model is introduced, a motivating example from the financial services domain is described, and a new language based on the model is presented.<<ETX>>

[1]  Barbara Liskov,et al.  Distributed programming in Argus , 1988, CACM.

[2]  Andrew P. Black,et al.  Object structure in the Emerald system , 1986, OOPSLA 1986.

[3]  Paul Hudak,et al.  Memory coherence in shared virtual memory systems , 1986, PODC '86.

[4]  Andreas Reuter,et al.  High contention in a stock trading database: a case study , 1988, SIGMOD '88.

[5]  Daniel G. Bobrow,et al.  Integrating Access-Oriented Programming into a Multiparadigm Environment , 1986, IEEE Software.

[6]  David A. Moon Object-oriented programming with flavors , 1986, OOPSLA 1986.

[7]  Randall B. Smith,et al.  SELF: The power of simplicity , 1987, OOPSLA '87.

[8]  Peter Wegner,et al.  Dimensions of object-based language design , 1987, OOPSLA '87.

[9]  David L. Black,et al.  Machine-independent virtual memory management for paged uniprocessor and multiprocessor architectures , 1987, ASPLOS 1987.

[10]  Paul E. Haeberli,et al.  ConMan: a visual programming language for interactive graphics , 1988, SIGGRAPH.

[11]  Paul Hudak,et al.  Memory coherence in shared virtual memory systems , 1989, TOCS.

[12]  Nicholas Carriero,et al.  Linda in context , 1989, CACM.

[13]  Gail E. Kaiser,et al.  MELDing Multiple Granularities of Parallelism , 1989, ECOOP.

[14]  Maurice Herlihy,et al.  Inheritance of synchronization and recovery properties in Avalon/C++ , 1988, Computer.

[15]  Marc Shapiro,et al.  Persistence and Migration for C++ Objects , 1989, ECOOP.

[16]  David K. Gifford,et al.  Weighted voting for replicated data , 1979, SOSP '79.

[17]  Henry Lieberman,et al.  Using Prototypical Objects to Implement Shared Behavior in Object Oriented Systems , 1986, OOPSLA.

[18]  Henry Lieberman,et al.  Using prototypical objects to implement shared behavior in object-oriented systems , 1986, OOPLSA '86.

[19]  B. Korel,et al.  Transparent distributed object management under completely decentralized control , 1989, [1989] Proceedings. The 9th International Conference on Distributed Computing Systems.

[20]  T. Huynh,et al.  An expert decision-support system for option-based investment strategies , 1990 .

[21]  Nagui Halim,et al.  A New Programming Methodology for Long-Lived Software Systems , 1984, IBM J. Res. Dev..