By concurrent design we mean, in pan, concurrent consideration of a broad range of life-cycle constraints concerning, for example manufacturing and maintenance. The multitude of constraints arising from these considerations make it difficult to identify satisfactory designs. An alternative to explicitly considering all constraints is to determine which of the constraints are relevant, redundant or inconsistent and to consider only those which impact design decisions. The proposed approach is based on two simple ideas: (1) Constraints provide a uniform representation for a variety of lifecycle* concerns, and (2) Interval methods applied to constraints can be used to identify critical constraints, eliminate redundant constraints and to narrow the space of design alternatives. The application of the necessary and sufficient intervals of constraints and constraint propagation techniques are used to classify constraints in this way and to focus design activity. Introduction: Concurrent Design The practice of design is frequently sequential in nature. In the design of a jet engine turbine disk, for example, the aerodynamic shape of the blade might first be determined, later modified to satisfy structural constraints, and then modified to satisfy manufacturability and maintenance considerations. 1 Acknowledgments This wort has been sponsored, in part, by Defense Advanced Research Projects Agency (DARPA). under contract No. MDA972-88-C-0047 as pan of the DARPA Initiative in Concurrent Engineering (DICE). The authors also acknowledge the support of the Engineering Design Research Center at Carnegie Mellon University (NSF Grant CDR-85-22616). It is not surprising that such a situation exists, since there are few individuals capable of bringing this vast range of considerations to bear during design. However, the fact that manufacturing and maintenance considerations are introduced only on an ad hoc basis during preliminary design gives rise to fundamental design deficiencies. It is the purpose of concurrent engineering design to include a broad range of functional and life-cycle concerns during preliminary design phases. While it is possible to obtain an appearance of concurrence by rapidly iterating through the basic sequential design process, we seek a greater degree of concurrency by attempting to identify critical life cycle concerns early and to use those concerns to direct design decisions. Representing Life-Cycle Concerns Life-cycle concerns impose required relationships among features of the design to effect functionality, manufacturability. reliability. and servicibilty. In the context of engineering design, these required relationships can be thought of as constraints among design features. Constraints may embody a design objective (eg. weight), a physical law (e.g. F » ma), geometric compatibility (e.g. mating of pans), production requirements (e.g. no blind holes), or any other design requirement We express constraints as algebraic relations among feature parameters (eg. hole diameter, wall thickness, stress level). Collectively, the constraints define what will be an acceptable design. Constraint based representations provide a uniform representation for a variety of life-cycle design considerations including function. geometry and production. As the designer makes decisions, the originally acceptable intervals on the parameters are refined to smaller intervals or to specific values. As changes occur, the intervals are propagated through the constraints to other pans of the design until quiescence is obtained or until violations are encountered. Because there is a single, uniform representation for all constraints there is no differentiation between functional. geometrical, manufacturing, and other, so called, life-cycle UNIVERSITY LIBRARIES CARNEGIE MELLON UNIVERSITY PITTSBURGH, PA 15213-3890 constraints. Methods used to refine the design by processing constraints are applied uniformly to all life-cycle constraints. Using this approach makes it equally likely that violations are detected among functional constraints and those which have traditionally been considered "down-stream" of the design activity. It is for this very reason that our approach achieves concurrency. Although constraints are a general mechanism to represent design considerations, it is not possible to identify all design constraints . at the time the design problem is first proposed. This is because the set of relevant constraints depends on the design context. If the geometry of the designed artifact is such that casting is an appropriate manufacturing method, then casting are required. Alternatively a set of machining constraints is necessary if the part is to be machined. Similarly, there are constraints that are dependent on material, assembly methods, and a host of other considerations. The relevant constraints depend on the current design features. The features themselves may be completely defined aspects of the design such as a fully dimensioned ventilation hole or may be partially specified features. Because constraints are required relationships among feature parameters they may be retracted, augmented or refined as the design evolves. The design can be thought of as being complete when the set of constraints stabilize and when all the constraints have been satisfied. If we assume for the remainder of this article that constraints can be expressed as algebraic relationships among feature parameters, then we can say that a design is complete when all variables have been assigned values and when all the constraints have been satisfied simultaneously. Automation in Constraint Based Design The design of certain small mechanical components can often be effectively accomplished by executing some design procedure. Automating such procedures is a common approach to automating the design, however, as the complexity of the component itself, or the scope of considerations increase, it is difficult to identify practical design procedures. An alternative to coding comprehensive design procedures is to identify isolated procedures and to determine sequences for executing the procedures until all design variables are established. Certain rule based design systems and some constraint propagation systems follow this paradigm. Each rule or constraint can be thought of as a procedure indicating how some specific design decision or variable can be determined once other design parameters are known. The rules, or constraints, can then be executed, in sequence, until the design is complete. This is an effective method for certain classes of designs, most notably when the degree of component interaction is small and when die design is fundamentally serial in nature. It is not effective when the description is fundamentally what needs to be achieved rather than means for achieving it. Such a descriptive (rather than prescriptive) approach to design specification is advantageous because the designer does not need to consider how a specific constraint will be satisfied, thereby facilitating the inclusion of constraints which cannot readily be interpreted as procedures. Furthermore, descriptive specification does not impose a causality to the constraints. For example, if a simple disk was constrained to weigh a specific amount, the constraint itself could be interpreted as a procedure to determine diameter, or thickness, or density given the other two. In this way the constraints imposed on a design serve as both a specification of the design and as a set of procedures for determining design parameters. The design task, in affect, is reduced to that of satisfying the given constraints. Constraint satisfaction, however, is not easy. Design constraints are usually numerous, complex and highly non-linear. Satisfying a large set of arbitrarily complex equality and inequality constraints is, in essence, the non-linear programming problem and, in general, is not solvable. Although the general problem cannot be solved, much can be done to assist the designer. It is possible to provide the designer with insights about critical interactions among features, redundant requirements and inconsistencies. Such information is useful to the designer even if the constraints are ultimately solved numerically'because a purely numerical solution does not facilitate understanding of the design task. A large body of research exists on solving constraint problems. The SKETCHPAD [Sutherland 83] system was an early effort on solving constraints by propagation and relaxation. Mack worth [Mackworth 77] introduced algorithms for maintaining consistency in a network of constraint relations. The ThingLab research effort [Borning 79] lead to ideas on propagating constraints across part-whole hierarchies of objects. A constraint representation formalism was introduced by Sussman and Steeie [Sussman 80]. Recently, Gosling [Gosling 83] presented a planning technique which, coupled with propagation, helps solve algebraic constraints. Other relevant work on solving sets of algebraic equations has come from Popplestone [Popplestone 80] and Serrano [Serrano 87]. These research efforts provide a core of solution techniques for handling and propagacng variables with exact values. Unfortunately, many if not most of the engineering design constraints are expressed as incquaiiacs. The very nature of constraints is such that they often do not prescribe specific values for design parameters but rather prescribe ranges for the values. The ideas presented in this paper are based on treating design parameters as intervals. The nouon of interval arithmetic was developed by Moore (Moore 66, Moore 79]. The value of interval based methods for design has also been recognized by Ward [Ward 89]. By adopting this approach we are, in essence, treating equalities as inequalities. Instead of equating a variable to a number we assign a range of values (an interval) to the variable. This generalizes the notion of eq
[1]
Ramon E. Moore.
Methods and applications of interval analysis
,
1979,
SIAM studies in applied mathematics.
[2]
Uffe Hindhede.
Machine design fundamentals, a practical approach
,
1983
.
[3]
David Serrano,et al.
Constraint Management in Conceptual Design
,
1989
.
[4]
Ann Patricia Fothergill,et al.
An Interpreter for a Language for Describing Assemblies
,
1980,
Artif. Intell..
[5]
Gerald Jay Sussman,et al.
CONSTRAINTS - A Language for Expressing Almost-Hierarchical Descriptions
,
1980,
Artif. Intell..
[6]
James Arthur Gosling,et al.
Algebraic constraints
,
1983
.
[7]
Alan K. Mackworth.
Consistency in Networks of Relations
,
1977,
Artif. Intell..
[8]
Ivan E. Sutherland,et al.
Sketchpad a Man-Machine Graphical Communication System
,
1899,
Outstanding Dissertations in the Computer Sciences.
[9]
Alan Borning,et al.
ThingLab: a constraint-oriented simulation laboratory
,
1979
.
[10]
Allen C. Ward,et al.
A Theory of Quantitative Inference, Applied to a Mechanical Design Compiler
,
1989
.