Al,
Thanks for clarifying your point. I agree with you. Messaging is a simple
concept/abstraction. I'd like everyone to see this. This is one of the main
goals behind the MDP papers. If we can see the concept/abstraction, we should
be able to find ways of implementing it. The concept and the implementation
should not be too far from each other. I'm afraid not much work has been done
in terms of sub-patterns.
I also agree that the door is wide open for interpretation. I'm not sure we'll
be able to close it. Open doors may be a good think (opportunity). At this
point, I'll be happy if everyone sees the idea. I realize that opens doors may
lead to confusion and fragmentation in terms of implementation. Messaging is
too broad as a concept. It has wide applicability. This also implies a wide
range of potential implementations.
The Jt Design Pattern framework is just one of the potential implementation
(reference implementation). As I mention earlier, implementation is up to the
implementer's imagination. On the other hand, I believe the Jt
Design Pattern framework and the MDP messaging interface give people a good
starting point (point of reference).
Messaging as a concept can be implemented in a wide variety of ways in the real
world:
Software API (MDP messaging interface)
Distributed Component Model
JMS/MOM queue.
Instant messages
Robotic arm sensors
Vision/Speech processing systems
If you think in terms of realistic model, Your model needs to match reality.
Your implementation should also match reality as closely as possible. All of
the areas above use the same messaging concept. On the other hand, the
implementation will be different. On the other hand, you'll be able to gain a
lot if somehow you are able to provide a "generic"/reusable implementation of
the messaging design pattern. The MDP interface helps with this aspect. I
discussed the MDP reusability aspects earlier.
I hope you'll have the chance to review the Jt design pattern framework. This
framework is a solid MDP implementation. Several large business critical
projects have been implemented based on MDP. The framework implements the MDP
distributed component/service model mentioned in the papers. I'm hoping this
framework will also answer many of the implementation/feasibility aspects. As I
stated in the paper, I have a different take on MDP simplicity:
"The MDP messaging interface is simple but
powerful. The simplicity of this interface can be deceiving. One method with
one parameter (message) is all that is needed. It acts as a universal messaging
interface that applies to remote and local components. This interface handles
any type of message (For instance, the Java Object class). It returns a reply
(of any type). In Java, the messaging interface can be declared as follows:
public interface JtInterface { Object processMessage (Object message); }
The message receiver needs to implement this interface in order to receive and
process incoming messages."
Here I'm talking specifically about the reference MDP messaging interface.
I'm not sure how MDP could be subdivided any further. We'll be happy to hear
any suggestions/recommendations.
#yiv150328688 In any case, we'll be discussing implementation concerns in more
detail since several people are interested in this particular subject. This is
another area that was not in the scope of the original MDP paper (detailed
discussion of implementation aspects). On the other hand, I agree with you: it
is a key area for a successful MDP implementation. I'm afraid some of the areas
that you mention will require additional thought/research.
Best regards,
--- On Wed, 12/15/10, Al Boldi <[email protected]> wrote:
From: Al Boldi <[email protected]>
Subject: Re: [patterns-discussion] MDP feasibility questions (was: Messaging
Design Patterns (MDP) reusability and QA)
To: "Messaging Design Pattern" <[email protected]>
Cc: "Ralph Johnson" <[email protected]>, [email protected]
Date: Wednesday, December 15,
2010, 3:23 PM
Messaging Design Pattern wrote:
> Perhaps you could elaborate in terms of why you think the messaging
> design pattern is complex (specific examples, etc). I'd like to
> understand. I believe it would benefit the discussion. I see it as a
> simple pattern (perhaps just me) with wide applicability .
The MDP as a concept is simple, but as a pattern it is complex.
Simple patterns directly map onto the underlying implementation, i.e. the
ITERATOR directly maps onto some loop implementation.
OTOH, Complex patterns do not directly map onto the underlying implementation,
i.e. the OBSERVER does not have a directly mappable implementation, leaving
the door wide open for interpretation. To close this gap, you need to
decompose the complex pattern into its sub-patterns until you reach the
simple pattern level, which directly maps onto the
implementation.
It is this decomposition of the complex pattern into its respective simple
patterns that should yield a proper understanding of the complex pattern.
In the case of the MDP, what sub-patterns are needed for a successful
implementation?
Thanks!
--
Al
_______________________________________________
patterns-discussion mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/patterns-discussion