Monday, March 19, 2007

I've come up with an idea to allow CAD/CAM designers to backtrack

Recently, I was reading a slightly out of date (perhaps a month old, I'm not sure) NASA Tech Brief article about the biggest outstanding problems facing the designers of CAD/CAM software. NASA Tech Brief, by the way, is a monthly magazine put out by NASA about a variety of extremely cool technical subjects. occasionally the subjects are directly related to space exploration. I suppose all of the articles could be related to space exploration in some way, but most of them, like the CAD/CAM software article, have no particular direct connection to space exploration. There is also an online version of this and both are highly recommended.

One major problem delineated by the CAD/CAM article was that designers like to be able to backtrack to a previous point in the design, but they are generally not able to do so with currently existing software.

I came up with the solution---although I am admittedly not qualified in this area (and perhaps not qualified in any area!)

My idea is to have a "shadow" CAD/CAM hardware/software system that would-be slaved to the main system actually utilized by the user to create the design. This would be a master/slave set up, analogous to a master/slave flip-flop---but instead of the slave system being an inversion of the master system, the slave system would be an identical copy of the Master system.

At the core of this new CAD/CAM system, I presume, would be a pair of microprocessors linked together. Microprocessor 1 would be like an ordinary microprocessor at the core of the CAD/CAM system---except it would output a second stream of signals duplicating each signal in its ordinary output. The ordinary output would interface with the CAD/CAM system in the ordinary way doing things like changing the screen display, changing the data file describing the design, etc.

The second output of microprocessor 1 would be the input to microprocessor 2. Microprocessor 2 would not need to concern itself with user inputs since all of its inputs would come from microprocessor 1. Nor would microprocessor 2 need to concern itself with inputs from the knowledge base of the system, since it would be operating in "simple slave" mode. The main thing microprocessor to would do would be to compile a duplicate design data file, identical to the "real" design data file created by microprocessor 1.

Periodically, microprocessor 2 would rapidly copy the entire current design data file. I can't indicate how frequently such a snapshot would need to be taken because of never done CAD/CAM. All of the snapshots would be stored, thus providing a way for the designer to backtrack.

The tricky part of the system is being able to take the snapshots without screwing up the process all of maintaining an accurate design data file. This would be achieved via the insertion of a variable delay line in the data stream connecting microprocessor one and microprocessor 2. The size of the delay would be controlled by microprocessor 2 depending on how "pressed for time" it was.

Suppose a snap shot was once taken every five minutes. Microprocessor 2 would have the capability of shutting off all output from microprocessor 1 for 2-1/2 minutes, thus allowing the system 2-1/2 minutes to make a complete copy of the current design data file. During this 2-1/2 minute period, the content of the working design data file for microprocessor 2 would be frozen, enabling the copy process to go forward.

Once the copy was completed, microprocessor 2 would start allowing new data to flow into itself and start updating the design data file---for 2-1/2 minutes. Microprocessor 2 would be able to input new data twice as fast as microprocessor 1, thus allowing it to "catch-up" with the 5 minute data gap over the 2-1/2 minute period. Microprocessor 2 would also have the power to accelerate the flow of data through the dateline, enabling the "catch-up."

I can't see any logical flaw in this system. Obviously a large amount of storage space would be required for all these designs. in most cases however once the design of the project was finalized and sent to manufacturing, these various partial design data files could be erased---regaining the storage space. It occurs to me that this type of CAD/CAM system might work best with a dumb terminal directly connected to a server.

1 comment:

technode said...

Actually, the whole idea would probably work better with a thin client and the software resident on a server---possibly a server remotely connected via the Internet. Most of both the software and data would be resident on the server.