[comp.sw.components] Moving Objects

johnson@p.cs.uiuc.edu (08/26/89)

Distributed programmers often want to move objects to increase
efficiency and reliability.  Objects are moved to be close to
the machine that is using them, and to get off of a machine that
is going down.  This has nothing to do with reusability or
object-oriented doctrine.

murali@coracle.cis.ohio-state.edu (S Muralidharan) (08/30/89)

Johnson writes:

>Distributed programmers often want to move objects to increase
>efficiency and reliability.  Objects are moved to be close to
>the machine that is using them, and to get off of a machine that
>is going down.  This has nothing to do with reusability or
>object-oriented doctrine.

I believe concerns of software reusability definitely play a crucial
role in determining what is efficient and what is not, in a distributed
system. Consider the following argument.

The efficiency of moving an object depends, for example, on some of the
following factors: the representation of the object, the distribution
of the sub-objects of the object, the sizes of the object/sub-objects,
and the hardware architecture. (Note: a sub-object may have sub-objects.)

If software reusability based on the specifications of objects is a
concern, neither the developer of an object nor a client can make
an independent decision on what to move or how to move, or how much to move,
to achieve optimal efficiency. Whatever the reasons for object movement,
they will certainly be influenced by the concerns of specification-based
software reusability.

Though I do not know the issues in distributed system reliability, I can
believe that reliability need not necessarily be achieved through
object movement.

Cheers,

Murali

kannan@babcock.cerc.wvu.wvnet.edu (R. Kannan) (08/31/89)

From article <59237@tut.cis.ohio-state.edu>, by murali@coracle.cis.ohio-state.edu (S Muralidharan):

> I believe concerns of software reusability definitely play a crucial
> role in determining what is efficient and what is not, in a distributed
> system. Consider the following argument.
> 
> The efficiency of moving an object depends, for example, on some of the
> following factors: the representation of the object, the distribution
> of the sub-objects of the object, the sizes of the object/sub-objects,
> and the hardware architecture. (Note: a sub-object may have sub-objects.)
> 

	If I may add it is the entire object family tree.

In pure object oriented view all the super class and the sub class. In KR
terminology all the inheirtance path as well have to be considered before
any CONSISTENT reasoning can be made with the moved object.

For example if dog is a mammal, and we dont know what a mammal is then
we cannot infer anything about dog either that can be useful or meaningful.

Thus it is the summation of the behavior and structure of the entire object
tree that gives the power to any these higher abstractions(objects, frames etc)

One solution can be that what is transferred is application-user driven.

One can probably request a local transfer, all explicit information about
the object is the ntransferred
or a global transfer which results in the entire tree being transferred.

--kannan