In Chapter 3, I described the requirements for the CAD/CAM problem, a real-world problem that first got me on the road to using design patterns.
The problem domain is in computer systems to support a large engineering organization, specifically, to support their CAD/CAM system.
The basic requirement is to create a computer program that can read a CAD/CAM dataset and extract the features that an existing expert system needs to be able to do intelligent design. This system is supposed to shield the expert system from the CAD/CAM system. The complication is that the CAD/CAM system was in the midst of changes. Potentially, there could be multiple versions of the CAD/CAM system that the expert system would have to interface with.
After initial interviews, I developed the high-level system architecture shown in Figure 12-1 and the following set of requirements for the system:
Requirement | Description |
---|---|
Read a CAD/CAM model and extract features |
|
Be able to deal with many kinds of parts |
|
Handle multiple versions of the CAD/CAM system |
|