For 13 years I was employed at Cornerstone Technology Inc., a small business built to pursue its founder's vision that computers ought to be able to automate a lot of the tasks which in the past had to be done manually.  During that time I helped create a software product called Expert Mold Designer (XMD), which embedded knowledge about injection mold design into C++ code, augmented by simple databases.  This program not only used knowledge to generate designs, it also employed knowledge to help update designs efficiently when users made changes.

During those 13 years with XMD on the market, although several other companies build competitive mold design products for various CAD systems, none of them followed our path to build much knowledge into the software.   One obvious reason is that it turns out to be somewhat difficult to manage the enormous amount of decisions required, and properly link them into usable software.

Six years ago I embarked on a new research project codenamed VMM to produce the next generation of XMD.  This time, the rules of mold design would be kept outside the source code.  But more than this, we designed the system to be totally extensible.  The system would allow companies to enter their standards books, their catalogs, their custom components, even their special unique-to-them design patterns, along with particular requirements of a mold data file.  This system could generate mold bases to meet all the above requirements to the extent that was feasible.  It would allow you to edit the design, and it would update other parts automatically.  It would tell you if some changes you made to the design violated certain standards.  And it could produce reports of what you needed.  In short, VMM collaborated with the designer and the customers.  The resulting mold would be created in accordance with everyone's expectations, in record time because of this collaboration.

Having created this system, we realized that this tool we invented for mold design is in fact useable for any kind of standardized design.  It can easily be adapted to work with any CAD system.  A small amount of programming can enable it to connect to other kinds of software, to work with data exchange files, etc. 

While the design system is complex, the specific knowledge bits it processes are simple.  And the rules for processing the knowledge are also simple.  Thus with minor alterations or extensions, we can program the system to work with other programs besides CAD.  And then knowledge can be defined to create tools to collaborate with users on any one of a huge variety of tasks.

To get there, we need people and companies to describe their business to the collaborative system.  Not all of it, just the parts where you want the computer to help you work more efficiently.  We anticipate many people will want to do this, so the most effective way to get there seems to be by encouraging collaboration among people, facilitated by web-based collaboration software.

 

My aim is to bring this about -- through collaboration .

Copyright © 2008 Alan Baljeu
Last modified: 04/03/08