During cooperative problem solving process, the solution is built up a step at a time. The sequence of KS execution is dynamic and opportunistic rather than fixed and deterministic, depending on the events enacted by the specialist KSs. The prob- lem solving activities occur in the following iterative sequence, and are exemplified by adding a hole feature to the blackboard as a generated event.
1. An event is made on the blackboard due to new data or KS action. (A hole feature is added to the blackboard by a CAD system).
2. The KS is activated by the event if its precondition is satis- fied, and a corresponding KSAR is created and placed onto the agenda. (Specialist KSs including rule Piloting101 and rule Piercing201 introduced earlier are activated to form KSARs stored on the agenda because their preconditions are satisfied by adding a hole feature to the blackboard).
3. The agenda scheduler rates each of the KSARs on the agenda using the control heuristics that are in operation at the par- ticular point in time. (A control rule Strategy501 as the strat- egy KS is fired to set the priority of rule Piloting101 to 80,
which is higher than priority of rule Piercing201, i.e., 50, and that of other KSARs).
4. The highest rated KSAR is chosen to be executed. (Rule Pi- loting101 is evaluated and fired provided its hypothesis is satisfied).
5. The KSAR execution may result in new events, bringing the system back to the beginning loop. (A “piloting candidate” property with the hole feature is added to the blackboard, and causes a new event to be generated).
6. The blackboard control cycle repeats until an acceptable so- lution has been found. (The above control cycle repeats until an acceptable stamping process plan has been generated.)
3.4 Integration with an existing CAD system
Though the blackboard framework provides strength in know- ledge-based framework construction and cooperative problem solving process, it does not support representation or extraction of the geometrical and topological information from stamped metal parts, the intermediate flat pattern and blank layout, and the resulting strip layout. Hence, it was decided to integrate the blackboard framework with an existing CAD system, Solid Edge CAD system. The CAD interface can be considered as
a consultation of a CAD expert (knowledge source) module, i.e., CAD KS.
Fig. 4. 3-D feature model of a sample stamped metal part
Fig. 5. Stamping feature level of the blackboard for the sam- ple stamped metal part
Interfacing between Solid Edge CAD system and CLIPS is achieved through C++. Using its object modeling interface, i.e., object linked and embedded (OLE) programming interface, Solid Edge exposes its objects, e.g., feature objects, to the out- side world, thus enabling users and other applications to access the functionality of the Solid Edge CAD system. The OLE tech- nology contains hundreds of functions that can be called from C++, which provides programmers with direct access to the Solid Edge user functions, e.g., to retrieve a related feature object through the feature relation data of a present feature.
One of the most important characteristics of CLIPS is its ability to integrate external functions or applications in C or other programming languages. CLIPS objects, variables, facts, or literal values may be passed to an external C++ function, and functions may return values to CLIPS.
Therefore, by integrating CLIPS with Solid Edge through C++, it is possible to model stamped metal parts parametrically, to extract the stamping features to blackboard environment dy- namically, to output process planning data from blackboard en-