Skip to Content.
Sympa Menu

patterns-discussion - Re: [patterns-discussion] Fw: Re: [gang-of-4-patterns] Live or Animated Object Design Pattern

patterns-discussion AT lists.cs.illinois.edu

Subject: General talk about software patterns

List archive

Re: [patterns-discussion] Fw: Re: [gang-of-4-patterns] Live or Animated Object Design Pattern


Chronological Thread 
  • From: Ralph Johnson <johnson AT cs.uiuc.edu>
  • To: Messaging Design Pattern <dsheppard2k AT yahoo.com>
  • Cc: gang-of-4-patterns AT cs.uiuc.edu, patterns-discussion AT cs.uiuc.edu
  • Subject: Re: [patterns-discussion] Fw: Re: [gang-of-4-patterns] Live or Animated Object Design Pattern
  • Date: Fri, 13 May 2011 00:08:54 -0500
  • List-archive: <http://lists.cs.uiuc.edu/pipermail/patterns-discussion>
  • List-id: General talk about software patterns <patterns-discussion.cs.uiuc.edu>


a) As discussed in the draft, the Actor model was introduced in the 70's.

Sure.  But it has changed since then.   I claim that, in the way people today use the term "actor", they mean more or less the same thing you mean.

b) I agree that the proposed pattern and the Actor model make use of Asynchronous messaging.  On the other hand, there are other systems and models that deal with Asynchronous messaging. Also, the proposed pattern is not limited to asynchronous messaging (as opposed to the pure Actor model). The pattern and the Actor model have many differences: model, abstractions, primitives, assumptions, messaging types,
implementation, results (6+ pages). I hope the draft accurately reflects all the differences.

It does not.  
 
As I mentioned earlier, the pattern does not share the shortcomings associated with the Actor model.  

You don't actually mention any of the shortcomings of the actor model.  You don't describe it at all, other than saying it was introduced in the 70s.

It was introduced as a fairly theoretical model of parallel computing, but over the years people have developed a variety of systems based on the idea.   There are systems like Scala actors and Groovy actors for the JVM, complete languages like Erlang (used in telecom and banking) and a system for high-performance C++ called Charm++ that was developed here at the U. of Illinois.  Microsoft introduced a system in Visual Studio 2010 called "Agents" which they said is like actors, though I don't think it is very much like it because they disconnect mailboxes from the agents, and to me a key part of actors is that there is a 1-1 relationship between actors and mailboxes, similar to your pattern.  I am not really an expert in actor systems or actor programming, but still I know about a lot of them, so there are probably a lot more.  The details of these systems vary a lot, so clearly the people who build them are not hung up on the details.

When someone who has heard of actors reads your pattern, the first thought will be "this is the same thing as actors".

There are several things you might do about this.  One is say "this is different from actors because ..." and another is "this is like actors except ...".  But if you ignore it or just try to sweep it under the rug by making unsubstantiated generalizations, you will not be very effective.  In my opinion, that is what you are doing now.

-Ralph Johnson



Archive powered by MHonArc 2.6.16.

Top of Page