A system and method featuring a collection of model objects which hold data to
be shared, and supporting interfaces to read and write the data, to create and
destroy collaboration relationships and to attach "view objects" containing application
code which will be automatically notified of value changes. Each user environment
is provided with a model object control entity, referred to herein as a Collaboration
Manager, which creates model objects, executes transactions, and creates association
objects related to the collaboration. A concurrency control mechanism records the
reads and updates of the data and of collaboration relationships within a single
transaction site and guarantees that they are applied atomically and consistently
to both the local and to all remote replica objects of the collaboration.