The exploratory nature of this work makes it appropriate to end the thesis with a discussion of future work. In trying to develop methods for testing the theory, there were a number of problems that were exposed. Some of the problems were specific to the implementation, and can be considered negligible in terms of judging the success of the method. On the other hand, there were some problems recognized that had no obvious solutions, and will require more research. Both of these classes of problems will be covered in separate sections. Finally a description of some of the novel research possibilities of this system will be discussed.
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,
FIND_TERM(:2), OPERATION(:2) == ~
FIND_TERM(:x), OPERATION(:x) == ~
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 [1991]. 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 [1984] on algorithms for Null Object Detection and Same Object Detection (NOD and SOD). Other work by Schpitalni and Fisher [1991] 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.
While backwards planning suits some designs, it is not suited to others. This was demonstrated by the process plan created for the digital circuit. Another problem that is caused by backward planning is recovery from a plan error. An instance of this would be when a plan is being executed, and one step fails. A plan that has come from a backwards planner is executed from the last step to the first. This means that in the worst case the planner would have to start planning from the first step, and try to find an intermediate plan state. This problem can become very difficult at this stage. It might be possible to incorporate forward planning strategies as well.
Most solid modelling systems have difficulty defining relationships between primitives. Tolerancing is an excellent example of this. Tolerances can exist between parts of a single primitive, but because of the nature of tolerances they are often stacked up over one or more primitives. There are methods for defining form and dimensional tolerances for a single primitive, but there is an outstanding question of the definition of datums and tolerances through a CSG type representation. Some work has been done by Roy and Liu [1988] when they incorporated tolerances into a hybrid CSG and B-Rep modeler. Shah and Miller [1990] also incorporate tolerancing into a solid modeling scheme. Gupta and Turner [1993] describe an approach to tolerancing using a B-Rep modeler that subdivides a surface. They can vary the surface to simulate tolerance effects.
Sequencing is somewhat inherent to the nested form of the design model, so it was not considered paramount to proving the thesis. But, eventually the system should be set up so that it may produce non-linear process plans, with sequencing constraints added. Flexplan [Tonshoff, 1989] has proposed a novel approach to modelling non-linear process plans using Petri nets. In addition to these methods, research has also been done by Rho et. al. [1992], Sluga et. al. [1988], ElMaraghy and ElMaraghy [1992].
There are some general problems not approached in this thesis that should be considered in future planning work. One of these is the joining of different jobs for economic reasons. An example of this is the nesting of many sheet metal parts, for different jobs, in one sheet of metal to reduce scrap for a job.
When a solid modeler is incorporated, it is also possible to try a number of other verification procedures. For example Delbressine and Hijink [1991] verify the validity of tool paths by doing a sweep of a tool profile, then doing a simple CSG check for overlap that is in excess of the desired machinable volume.
The reader will recall that the initial design representation uses the r-set Assembly operator. This is done for want of a better operator(s). As research progresses it will become useful to evaluate new representations that emerge. For example, press fits can be modeled by my method, but it does not have a true sense for the implications of material overlap, as would be obtained with a CNRG operator.
At present the only optimization criteria considered for operation selection is cost. This could easily be expanded to consider other objectives separately, or combinations of objectives. This would require the addition of other declared values such as setup time, run time, environmental impact, etc.
The well formed nature of this system leads to some potential developments. One of the most exciting would have to be the possibility of adding user interaction. If a plan step is rejected, or the planner is unable to complete a plan, a human user could construct a plan step manually (like decision table rule entry in Hullenkremer [1985]). A new rule could be induced from this plan step, or old rules could be altered. This would allow a system that could be operated without the use of a knowledge engineer to develop the rules. In a slightly different approach, Lu and Zhang [1989] have developed a system that will induce rules from detailed process models. This could also be a novel approach to developing rule sets.
Variant planning does not always receive the recognition it deserves. The benefits of Variant planning are the fast setup times, ease of use, and the ability to deal with plans that are highly specific to a factory or technology. There has been research in the past trying to match CSG representations to GT codes [Kakazu and Okino, 1984]. Using this approach GT codes could be developed for products and parts, then products and parts could be found with similar codes, and their plans recalled and edited. There is also work being done to categorize parts to drive a generative planner [Iwata et. al., 1987].
Developing a CAD system for the design structure would create some possibilities for the addition of some other techniques, such as,
automatic dimensioning as is done in Yuen et. al. [1988] who chain up dimension dependencies. Work has also been done by Minagawa et. al. [1986],
addition of functional modelling as is found in Kiriyama et. al. [1991],
use of CAPP as a concurrent engineering tool [Domazet and Lu, 1991,92]
Other systems may also be added for process plan verification, and operation planning. There is work about the topic in high level terms [Peklenik, 1990] but in more specific terms some possible approaches are listed below,
assembly sequence planning is of great value. deMello and Sanderson [1991 a, b], Heemskerk [1989], Laperriere and ElMaraghy [1992], Baldwin et. al. [1991], Tonshoff et. al. [1992] suggest such a system. Systems for Disassembly planning have also been done by Lee et. al. [1992].
automatic generation of NC tool paths. Tsai et. al. [1991], Kao et. al. [1990], Cavendish and Marin [1992], Parkinson [1986], Su and Mukerjee [1991] describe systems to do this,
automatic generation of NC code for machine forging dies [Eversheim and Cobanoglu, 1989].
fixture planning, such as the work of Nee et. al. [1992],
database lookup: such as that for metal forming by Raj and Kumar[1990],
models of specific processes to verify operations like non-linear optimization for Electro-Discharge Machining (EDM),
modules for sheet metal bending [Huwiler and Reissner, 1992],
planning for connecting joints [Neiminen et. al., 1989].
The problem of mapping from design to production has not been examined formally but it might reveal some interesting results in the context of this thesis.