Design Problem-Solving

Knowledge structuring & Problem-solving issues

Class 1 Design:

...creativity

Class 2 Design:

...use of generalized (standard) plans to produce new models

...innovations possible with respect to components

Class 3 Design:

...routine

...alternatives to well-established design - changes with respect to specifications not components

e.g. house building

Distinctions between these classes are not clear... merging ... no clear delineation

Note: compare design and planning

Is this task trivial or complex?

- numerous sub-components (all must meet top specifications)

- numerous constraints on parameters

Changes ... reprocusions

Routine vs. open-ended

Complexity of the task arises from:

- numerous subcomponents and their sub- subcomponents, each of which needs to be specified according to top-level specs

- differing uses => differing products => differing specs

- numerous constraints exist among parameters of subcomponents

DSPL: Design Specialists & Plans Language

Hierarchical Organization

(database: Materials and Parts & Structure)

Organization of Knowledge:

Specialists:

eg. SmallTableDesigner

/ \

/ \

TopDesigner SupportDesigner (pg. 5)

The design process starts at SmallTableDesigner, at the point where the overall requirements are given to the design system. Consider the case in which SmallTableDesigner chooses its first plan, calls TopDesigner, which in turn chooses its first plan, does the design of the Top, and returns the dimensions to its parent. Now SmallTableDesigner calls SupportDesigner. Suppose that this specialist's only plan fails to generate a successful design within the constraints; i.e., the strength requirement and dimension constraints are not reconcilable. This would cause "failure" to be returned to SmallTableDesign.

SmallTableDesigner then calls TopDesign again with a further constraint about the weight that is permitted. Now TopDesign will invoke its second plan (which is the more expensive plan to execute), and some info about the Top design is passed to SupportDesigner through its parent SmallTableDesigner, causing SupportDesign to succeed, and the design to succeed.

While plans are "pre-compiled", actual designs are not - they are actually generated during problem-solving.

Rough design:

check requirements for consistency

... is full design worth pursuing

Considerations - necessary knowledge

Specialists:

- has several prioritized alternative plans

- begins by inheriting some design parameters from parent

- consider design situations and produce courses of action

* selection of plans

* execution of plans

- Redesign: alternatives of existing design due to establishment of new specifications. Keep as much as possible of the old design - concentrate on changing whatever is necessary to fix the problem

Specialist Example

(SPECIALIST

(NAME Head)

(USED-BY AirCylinder)

(USES None)

(DESIGN-PLANS HeadDP1)

(DESIGN-PLAN-SELECTOR HeadDPSelector)

(ROUGH-DESIGN-PLANS Head RDP1)

(ROUGH-DESIGN-PLAN-SELECTOR HeadRDPSelector)

(INITIAL-CONSTRAINTS None)

(FINAL-CONSTAINTS None)

)

The selection process:

1) recommendation of candidate plans (Sponsors)

2) selection

Plan ... result of past planning by human designer

By selecting a plan - specialist is refining the plan that calls it.

(knowledge organization)

Plan items:

- a task

- testing of some constraint

- design or rough design request of a specialist

- indication that some specialists should be used in parallel (independent substructures)

Tasks:

- make no control decisions

- group together related steps and execute them in order

Steps:

actually give attributes their values

E.g. Plan : < S1 ; T1 ; S2 >

This plan has been selected by specialist S0...

is being refined by specialists S1 & S2

S3 refines plan in S2

Indicates ? order of tasks ....

#'s are the number of tasks local to each specialist

Note that the numbers are smaller for Rough Design

(TASK

(NAME AirCavity)

(USED-BY HeadDP1)

(BODY

AirCavityDepth

AirCavityID

AirCavityOD

CheckAirCavity )

)

The task specifies the order in which the steps should be accomplished (which constraints to satisfy first (these may have interactions and thus the order effects problem-solving efficiency.))