TI An Object-Based Programming Model for Shared Data LT CUCS-046-90 OR COLUM YR 1990 AU Gail E. Kaiser AU Brent Hailpern" MN May YR 1990 AV ftp cs.columbia.edu:pubreportsreports-1990cucs-046?-90.ps.Z AB 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 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, 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 {\it facets}, may be shared among multiple {\it objects} and are grouped into {\it 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 differentddress 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.