Slate on a message-passing machine

Matthew Fulmer tapplek at gmail.com
Sat Jun 2 09:19:18 PDT 2007


For my Master's thesis, I will probably be working on a hardware
architecture for efficiently executing object-oriented systems.
Slate is definitely the most generic of these types of systems,
and so I believe I should make the hardware directly applicable
to slate, since all other object oriented semantics are a subset
of those provided by Slate.

For an example of the kind of hardware I am talking about,
consider Jecel's Ring Network Architecture:
http://www.merlintec.com:8080/hardware/19 . According to the
example, the RNA architecture can send, lookup, and execute a
message that is installed on a single receiver without software
assistance. I wonder if this design can accommodate some, if not
all, of the multi-dispatched message sends in slate. In other
words, is there (hopefully large) a subset of slate
message-passing semantics that can be resolved without resorting
to sending extra messages?

I hazard to guess that a subset of slate does have the same
semantics as the operation natively handled by RNA, but it may
be somewhat small. This seems to be the case when there is
exactly one method with the given selector, and the receivers
all have NoRole. This could be resolved as a single-send to the
method object with the receivers as arguments. Is this correct?

To implement Slate on a single-dispatch architecture, I think
selectors would be sent a single-dispatch valueWith:With ...,
message. To resolve, I suppose one would calculate the distance
for each method, then minimize it. This could probably be done
in one trip around the loop in an RNA architecture if the
messages are laid out in the correct order.

Am I correct in this assessment of Slate's dispatch mechanism? I
would like to make sure that whatever we build can be used to
efficiently implement Slate. I am still not sure how the correct
method is calculated. I don't understand whether it is some kind
of recursive computation given the delegates of each receiver, a
search that only cares about the distance from the receiver to
the message role, or some combination of the two.

I hope my questions are clear; if not, I will try to clarify.
Thanks!

-- 
Matthew Fulmer -- http://mtfulmer.wordpress.com/
Help improve Squeak Documentation: http://wiki.squeak.org/squeak/808



More information about the Slate mailing list