Jecel Mattos de Assumpcao Jr.
Tue, 16 May 1995 01:06:54 -0300

This is a very interesting proposal. The NEEDS and CAN DO parts of a
worker are exactly like the IMPORT and EXPORT of a module, except
that there is an indirection.

This is like the message send compared to subroutine call - the first
has an extra indirection that allows it to refer to any of several
subroutines depending on the type of one ( or more ) arguments. The
second alternative is limited to refering always to exactly the same

In Firing's system the NEEDS part can refer to any of a number of
modules, not just one like the traditional IMPORT. Unlike OOP, all
of the possible modules would be interchangable and the choice would
be made by some scoring system.

The problem with allowing runtime "link" failures is that Smalltalk
already takes such a beating for making the "message not understood"
error possible.

The closest thing I know to CANDO is the Linda system, where tasks
comunicate based on the contents of tuples - they know nothing
about each other.

Comming up with an agreed upon list of services would be very, very
hard. It would also be fundamental for the proposal to work. Based
on how long it is taking for the Object Management Group to do
something like this for CORBA, I would not be very optimistic
about this.

-- Jecel