[e-lang] [RFP] cross-language object serialization (E <---> Squeak-E)

Tyler Close tyler at waterken.com
Mon Jan 20 00:38:21 UTC 2003


On Sunday 19 January 2003 19:55, Robert Withers wrote:
> WOS looks very interesting and very similar with the features
> CDR offers.

What are the features that CDR offers? Could you go through the
initial list of requirements that you proposed and give the
answers for CDR? Before making any decisions, I think we need a
chart of the requirements and how each possible solution meets
them.

Is Chapter 5 of CORBA the best reference for CDR? Is there a
formal grammar anywhere?

> The difficulty with any of them is that you need a way to
> specify and disseminate novel types.    Can the client propagate
> types to the server in some way?

Given that you are communicating between distict programming
environments, there is nothing to propagate. In order to share
types with E, you'ld have to implement a Kernel-E interpreter. At
that point, you're no longer Squeak-E, but just E.

> can the two peers negotiate the types?

This is handled by the type upgrade support in WOS.  The idea is
that each peer implements its own interpretation of a type. A peer
can then send a new type, along with its compatibility graph. If
the remote peer doesn't understand the new type, it falls back to
an older compatible type.

For example, a first version of a method might declare a single
exception type. An upgraded version of the method might want to
provide more refined error reporting and so defines two separate
subtypes of the old exception type. The new code sends an instance
of the new exception type, along with a compatibility chain
indicating the old, more general exception type. If the peer has
also been upgraded, then the more refined error information is
communicated. Otherwise, the peer falls back to the general
exception type that it understands.

In essense, the peers have negotiated, on-the-fly, a commonly
understood type.

Tyler



More information about the Squeak-dev mailing list