Skip to Content.
Sympa Menu

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

patterns-discussion AT lists.siebelschool.illinois.edu

Subject: General talk about software patterns

List archive

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


Chronological Thread 
  • From: Messaging Design Pattern <dsheppard2k AT yahoo.com>
  • To: Ralph Johnson <johnson AT cs.uiuc.edu>
  • Cc: gang-of-4-patterns AT cs.uiuc.edu, patterns-discussion AT cs.uiuc.edu
  • Subject: [patterns-discussion] Fw: Re: [gang-of-4-patterns] Live or Animated Object Design Pattern
  • Date: Sat, 7 May 2011 10:38:59 -0700 (PDT)
  • List-archive: <http://lists.cs.uiuc.edu/pipermail/patterns-discussion>
  • List-id: General talk about software patterns <patterns-discussion.cs.uiuc.edu>

Ralph,

I've updated the draft with a detailed information about the differences between the Animated object pattern and the Actor model (model, abstractions, assumptions, primitives, implementation considerations, synchronous/asynchronous messaging, security, mobile, etc). The information is included as part of the "related work" section (pages 12 through 18, marked in blue) :

http://java.net/projects/jt/downloads/download/Papers/MDPAnimated.doc

By the way, information describing synchronous v.s. asynchronous messaging is also included. I mention it because earlier comments from folks have been focused on this aspect.

I hope that I've been able to cover the main differences between both approaches.
Feel free to send any additional comments or concerns that you may have
based on the updated draft. Thanks again for your comments and feedback.

Regards,

Al



--- On Sat, 4/30/11, Messaging Design Pattern <dsheppard2k AT yahoo.com> wrote:

From: Messaging Design Pattern <dsheppard2k AT yahoo.com>
Subject: Re: [gang-of-4-patterns] Live or Animated Object Design Pattern
To: "Ralph Johnson" <johnson AT cs.uiuc.edu>
Cc: patterns-discussion AT cs.uiuc.edu
Date: Saturday, April 30, 2011, 11:31 PM

Ralph,

Based on my earlier email, I've updated the draft. A section discussing related work (pages 12-14 in blue) has been added. This section includes detailed information comparing several models, implementations, and technologies.

http://java.net/projects/jt/downloads/download/Papers/MDPAnimated.pdf


Feel free to send any follow-up comment or concern based on the updated draft. I believe there are several differences between this approach and other approaches (in particulars with the Actors model). Hopefully I was able to capture these differences as part of the updated draft. I'll be happy to discuss these differences in order to get to the facts. Please keep in mind that this still work in progress (draft form). It is being refined based on the feedback received. Also we have something concrete (this new section) as the basis of further discussion. I just added three pages to the draft  based on your earlier message.

I agree with you earlier comments: I also think that these differences must be tangible and they should be clearly explained as part of the document. As I said earlier, I hope the new section (related work) helps in accomplishing that purpose.


Regards,

Al

--- On Tue, 4/19/11, Messaging Design Pattern <dsheppard2k AT yahoo.com> wrote:

From: Messaging Design Pattern <dsheppard2k AT yahoo.com>
Subject: Re: [gang-of-4-patterns] Live or Animated Object Design Pattern
To: "Ralph Johnson" <johnson AT cs.uiuc.edu>
Cc: gang-of-4-patterns AT cs.uiuc.edu, patterns-discussion AT cs.uiuc.edu, telecom-patterns AT cs.uiuc.edu, ipc-patterns AT cs.uiuc.edu
Date: Tuesday, April 19, 2011, 3:07 AM


Ralph,

I appreciate the feedback. I plan to update the draft and add detailed information comparing the design pattern with other models and technologies (similarities, differences,  advantages, disadvantages, implementation considerations, etc).


Regards,

Al
--- On Sun, 4/17/11, Ralph Johnson <johnson AT cs.uiuc.edu> wrote:

From: Ralph Johnson <johnson AT cs.uiuc.edu>
Subject: Re: [gang-of-4-patterns] Live or Animated Object Design Pattern
To: "Messaging Design Pattern" <dsheppard2k AT yahoo.com>
Cc: gang-of-4-patterns AT cs.uiuc.edu, patterns-discussion AT cs.uiuc.edu, telecom-patterns AT cs.uiuc.edu, ipc-patterns AT cs.uiuc.edu
Date: Sunday, April 17, 2011, 9:42 AM

It seems to me to be the same thing as the actor model, but you don't mention it.  There are a variety of actor languages out there, including some built on the JVM.  Often this happens through libraries rather than through compilers.   Erlang is a good example of a hard-core actor language.   Scala has a variety of libraries that support actors.  One of the more recent and more popular is Akka.

People have been writing about this for a few decades and so I was surprised not to see any references to it.

-Ralph Johnson

On Sat, Apr 16, 2011 at 10:05 PM, Messaging Design Pattern <dsheppard2k AT yahoo.com> wrote:

Dear List members,

Please find enclosed a link to a draft discussing the Live or Animated object design pattern:

http://java.net/projects/jt/downloads/download/Papers/MDPAnimated.pdf

Any feedback would be appreciated. This draft also includes additional information about asynchronous concerns, best practices and implementation considerations.

Regards,
Al

Live or Animated object design pattern

Intent: This design pattern encapsulates component functionality, processing (threading) mechanism and the messaging functionality required to provide the component with independent behavior (a “live of its own” so to speak). This also means that the component uses its own independent processing mechanism or thread of execution. This design pattern improves decoupling, encapsulation and scalability while at the same time reducing complexity and overall implementation cost. Component functionality, processing/treading mechanism and messaging mechanism are decoupled entities, independent of one another. MDP messaging [2] allows the interchange of information (i.e. messages) between the animated component and other components or applications. Although decoupled and independent of one another, processing/threading mechanism and component functionality are completely encapsulated within a single entity: live or animated object.

 

Motivation: The implementation of traditional multithreaded applications is a complex undertaking which usually becomes costly, time consuming and prone to error. Defects related to are often encountered (thread management, synchronization, race conditions, deadlocks, etc). These software defects are difficult to avoid, reproduce and isolate.  Large multithreaded applications complicate the problem even further. The degree of complexity and risk considerably worsens as the number of threads and their interactions increases. Object oriented applications consist of a collection of components that interact with each other. In reality, some of these components should be modeled as live or animated components: They exhibit independent behavior, a “life of their own”......


_______________________________________________
gang-of-4-patterns mailing list
gang-of-4-patterns AT cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/gang-of-4-patterns





Archive powered by MHonArc 2.6.16.

Top of Page