We consider again the task of parametric design.
- A more efficient method is named propose & revise and depends on the following inferences:
- propose – derives an initial design based on the requirements;
- C-test – as before;
revise – tries to improve an incorrect design based on the feedback of the C-test step.
In other words, instead of proposing a complete design which is then repaired, we can also incrementally develop a design and repair it at each step where a constraint violation occurs.
- A parameter which should receive a value in the next propose step is nondeterministically selected:
- The selection process does not make further assumptions about knowledge that could guide this second selection step
The implicit assumption is that this selection does not a
affect the performance of the problem solving process and the quality of its result
- These are very strong assumptions because to improve performance, heuristic methods are definitely needed
- At any time there is either precisely one applicable propose rule or one user input to derive the value of the selected parameter
- A parameter should not depend on itself (no recursive derivation rules)
- revise is decomposed into:
- select-violation - nondeterministically selects a constraint violation from those detected by C-test; implicit assumption is that this selection does not influence the performance of the problem solving method and the quality of the result; strong assumption again
- derive-fixes - computes the set of all possible fix combinations that could possibly resolve the selected constraint violation; each combination must be finite
- select-fix - selects a fix combination, guided by a cost-function
- apply-fix - applies a fix combination
- Test – propose & revise does not require an explicit R-test, the method assumes that:
- propose derives only desired designs;
revise delivers designs that are desired or that requirement violations that it does not x must be accepted.
- Selection – does not contain such a process concerning user preferences:
It assumes that the propose step and the revise step deliver acceptable (or optimal) solutions or that the functionality of the task is reduced to finding an arbitrary solution.