Minutes of the meeting of the 'Adaptive Design Patterns for Real-time Systems'
group held on June 6, 2001.


For a major part of the meeting, the focus was on the hierarchical arrangement of design patterns. To illustrate how arranging patterns into hierarchies would help, consider the following simple IQ question:

Indicate which of the following patterns most closely matches:


Choices:

We can immediately identify (c ) as the closest match. Thus, there is a relation between identical objects, which can be easily identified by humans. Such closely related (yet different) objects (or patterns) can be arranged into a hierarchy. Thus, the above figure can be considered to be a child case of choice (c ), which can be a child of

...and so on.

Thus,
     a-circle-with-3-dots-on-it
         is-a-super-pattern-of a-circle-with-5-dots-on-it
             is-a-super-pattern-of a-circle-with-many-more-dots-on-it

Similar to the above example, patterns too can be sub-patterns of some bigger patterns. Moreover, they can be a combination of two or more smaller patterns.

Thus as shown in following set of patterns, Pc is a combination of subparts of Pa and Pb.

The technical meaning of 'hierarchical arrangement' can be explained with the help of an example from Object Oriented Methodology. If there are 2 classes, Class X and Class Y, and if Class Y is the child of Class X, then
a) every attribute of Class X implicitly forms an attribute of Class Y, and
b) an attribute in X can be an attribute in Y with its complete or 'restricted' meaning only.

Thus for example, if
Class X
{
int a;
int b;
}

then,

Class Y
{
}

or

Class Y
{
short a; // restricted meaning of int a;
}


The classification and hierarchical arrangement of a few design patterns related to J2EE patterns and patterns for real-time systems are available on the 'Progress till date' page.