## 1.1 EASY PROBLEMS

One of the basic problems relates to the templates used for finding known forms in the Boolean equations. The templates used here are rather rigid in form, whereas it is recognized that better ways exist, but require more investigation. An example of the problem is if we have an equation of the form ‘( & X Y ( ~ B ) ...etc... (~ C ) )’, it becomes very difficult to refer to the ‘( ~ C )’ term if the form of the expression in front is unknown. One possible approach to this would be a constraint based approach where the term is asked for using a list of conditions such as,

OPERATION(:) == &

FIND_TERM(:2), OPERATION(:2) == ~

FIND_TERM(:x), OPERATION(:x) == ~

x > 2

These conditions could find both terms in the example given. Another useful enhancement, would involve adding conditionals, loops, and argument lists to the rules. As the rules were being developed, it was noted that there was a large amount of repetition. This could be handled easily by allowing conditions to use argument lists, instead of relying upon a specific variable name for a template match. This would also allow some rule results to be combined when there are only minor differences.

A database of available manufacturing resources (such as machines) would allow the planner to select operations based upon available machines. Subsequently this would allow replanning if one of the resources in the factory became unavailable.

As demonstrated by the test cases there is a definite need for solid modeling based geometrical reasoning. This would support rules that could be more accurate about process selection and operation parameters. It might also be useful to construct a CAD system that also uses the design structure presented in this thesis. The system could eventually become an integral design and process planning system for concurrent engineering.

The Boolean algebra software written does some simplification, and also random manipulation of the equations. This is sufficient for now, but eventually techniques will have to be developed for manipulating the equation into forms suitable for different technologies. Macros could then be added that direct the planner to arrange the equation for a certain form, and fire the more specific rules sets (to reduce planning time). Some work has been done on the manipulation of CSG designs by Shapiro and Vossler . They discuss finding a canonical CSG form that is the most basic. This is done through examining half spaces and eliminating those not used, or redundant. Work has also been done by Tilove  on algorithms for Null Object Detection and Same Object Detection (NOD and SOD). Other work by Schpitalni and Fisher  attempts to find elements in a CSG tree that interact and group them into features. Their approach could be the basis for developing strategies for manipulating the equations.

Future work must involve the examination of more test cases from a variety of sources. These test cases would hopefully expose other features required within the system. Test cases would also help determine many of the equation forms that are associated with various technologies. One example that would be ideal is the use of this system to select between machining and casting for parts. As batch sizes and finishes change, the system would be required to select between, and possibly, produce a plan for making a core used to make sand casting molds.