Task Decomposition
According to the key issues, I am trying to decompose problem solving tasks to deal separately with three different kinds of issues, keeping track of
- What are the decisions made to solve the problem?
- What sets of constraints , parameters , and values are consistent?
- Bookkeeping : What are the current constraints, parameters, domains and "who owns them". What are the dependencies?

- For the first issue, our aim is not design automation. Our aim is to develop a design support system. In large scale, collaborative design, design automation is difficult because we can not specify all the necessary constraints, paramaters and preferences at design starting point. Therefore it would be wise to let the designers make decisions and the system just guide the designer to make consistent decisions.
Then, it is natural to separate this issue from the system.
The module managing this issue will define constraints/parameters/domains and decide the parameter values. Accordingly, decision reasons will be provided by this module.
- Using constraint propagation and consistency check routines, the module managing this issue maintains consistency by providing consistent sets to the first module and provides revision reasons by constraint change to the third module.
- Based upon revision reasons provided by previous two modules, the module managing this issue will perform bookkeeping with backtracking and coordinate jobs. It is natural that the coordinator implements backtracking.
Heecheol Jeon : jhc@cdr.stanford.edu