UI logo
The Webzine for Interaction Designers
uidesign.net
 
     
 
  Site Search

Advanced Search
 
December 17th, 2000
     
 

Observations on the DNC
By David Anderson & Pawel Pietrusinski

 
     
 

Introduction

uidesign.net's David Anderson recently presented at the Sprint OO Users Group (SOOUG) conferences held in Reston, VA, Kansas City, MO and Dallas, TX. The topic of the presentation was "Building better business models faster using Archetypes in UML". If you have not previously seen these slides, download them now as essential background to the remainder of this paper. [download in PPT format 154K]. This presentation provided history and background to the development of the Domain Neutral Component and modeling with Archetypes using UML in Color.

Pawel Pietrusinski is an Infrastructure Specialist with Objectspace Inc., Professional Services Division, based in Dallas TX and a former colleague of David Anderson.

Pietrusinski's Observation

On reviewing the SOOUG presentation, Pawel observed that the Domain Neutral Component was unbalanced due to the aggregation of <<MI-Details>> on the <<Thing>> leg of the diagram. He observed that the other two legs were simply special cases of the <<Thing>> leg and that, in fact, all 3 legs ought to feature the same aggregation. It would simply be the case that in most applications the aggregation on the <<Place>> and <<Party>> legs would never be used.

David suggested that he might agree with him and went on to explain that he had been using a hotel conferencing example when presenting. However, he had quickly realized that if you modeled it too deeply, it didn't fit the basic shape of the DNC. During his presentation he had used the example only superficially. So, they decided to model the problem further.

Hotel Conference - Basic Example

On analysis of the conferencing example, it becomes clear that a conference is a <<Moment-Interval>> which has <<MI-Details>> for each presentation. These can be linked to speakers for each presentation and the Speaker class is clearly a <<role>> of the <<Party>> leg of the DNC. This appeared to demonstrate Pawel's observation that all three legs of the diagram should have the aggregation.

 

 
 
Related Articles
Most Recent
Most Popular
 

figure 1. Hotel Conference example which breaks the DNC

 

 

 

A Revised Domain Neutral Component

Hence, the Domain Neutral Component would have to be altered in line with Pawel's observation, to support the Hotel Conferencing model above.

 

 
 
 

figure 2. A revised symmetrical DNC with aggregation on all 3 legs

 

 

 

<<MI-Details>> are <<Moment-Interval>>s in their own rite

We decided to develop the notion of the Hotel Conferencing model further. It soon became clear that the Presentation class, playing the role of <<MI-Detail>> to the larger Conference <<Moment-Interval>> was in fact, also a <<Moment-Interval>> in it's own rite, when you looked at the problem on a smaller scale.

A Presentation would have a Speaker <<Role>> for a <<Person>> and a ConferencePaper <<Role>> for a TechnicalPaper which would be presented by the Speaker(s) and the Presentation would need to take place in some location e.g. a Room. It was possible that many Rooms would be needed for the Conference as a whole. These observations led to this model.

 
 
 

figure 3. Expanded Hotel Conference Example showing Presentation as a <<Moment-Interval>>

 

 

 

A more abstract Domain Neutral Component

If you can accept that an <<MI-Detail>> can play the role as <<Moment-Interval>> in it's own rite, then the DNC can be abstracted and simplified back to a shape which is more reminiscent of the meta-pattern from 1997.

 

 
 
 

figure 4. Simplified DNC - a business meta-model?

 

 

This is a much more abstract approach and is arguably a meta-model rather than a component. It would, for example, be hard to implement such a pattern directly and therefore it seems not to fit with the notion of a "component". However, it is certainly a description for types of classes and the pattern with which these types of classes should be constructed together. Therefore, it fits with the notion of a meta model or meta pattern - a description of how something should be implemented. In the strict meta-modeling language, a model must be "an instance of" the meta model. In the example shown, it would be fair to say that the Hotel Conference model is "an instance of" the revised DNC in figure 4. Therefore, meta model seems to fit.

Caveat

We are looking here at a single domain example. If we follow the patterns movement edict that we must see the same pattern in at least 3 places then it is too early to make any conclusions. Therefore, the question is, "Have we seen this anywhere else?"

 

References:

UI Design from a UML in Color Model, November 1999

Java Modeling in Color with UML : Components and Process, Coad, Lefebvre, De Luca, Prentice Hall, 1999

 

 
  Comment on this article...  
   
 
Related Articles
uidesign.net
hosted by likk.net
           
 
Copyright uidesign.net, 1999 - 2003.
The UI logo device and uidesign.net wordmark are trademarks of uidesign.net