From: Jeff Garland (jeff_at_[hidden])
Date: 2004-02-12 21:58:06


On Fri, 13 Feb 2004 14:15:19 +1300, scott wrote
> > > very briefly, the boost model treats threads as a resource
> > (fair enough
> > > to :-) and submits code fragments for asynchronous execution. in the
> > > alternate model, threads come about as a consequence of
> > instantiating
> > > final (a la java) objects. the distinguishing attribute
> > being that threads
> > > only
> > > run code that is "part of themselves" rather than code
> > being submitted
> > > from "outside". execution of the code is initiated by sending of a
> > > message (within my vocabulary that is actually a signal).
> > the message
> > > can contain arbitrary data.
> >
> > This reminds me of the actor model of distributed
> > computation. If you are
> > familiar with actors, could you briefly compare/contrast your
> > approach
> > against them?
>
> i know of uml's actor but not sure if that's the same thing.
> and my knowledge of uml is so lame i suspect i shouldnt attempt
> any analogies.

I believe you'all are talking about 'Active Objects'. Doug Schmidt, primary
author of ACE, has written extensively on this subject. Take a look at this
paper:

http://citeseer.nj.nec.com/lavender96active.html

ACE has direct support for the paradigm. It's been a couple years since I
looked at it, but as I recall using a bunch of template magic object methods
are morphed into stubs that queue messages for the object thus disconnecting
the requesting thread from the execution of the method.

Jeff