P&R is characterized as a parametric design task whose goal is to
assign values to each parameter in a system. The **select
parameter** inference chooses one parameter among all the parameters
to compute its value. Figure 3 shows the
inference with its knowledge roles: INPUT PARAMETERS,
PARAMETER DEPENDENCY RELATIONS and SELECTED PARAMETER.

The INPUT PARAMETERS must be supplied by the user before the
system is configured. In the VT task, the input parameter values provide
the basic characteristics of the elevator system such as *door
opening type* (center, for doors which open in the center; side,
for doors which open to one side of the car), *car capacity*
(the maximum occupant weight that the system is able to support) and
so on. The input parameter values are used as a starting point for
computing the values of the other parameters.

The PARAMETER DEPENDENCY RELATIONS define how the values
of some parameters depend on the values of other parameters to
be computed. In the VT task, for example, the *sling
underbeam* is equal to the *car cab height* plus the *sling
underbeam space*. This formula expresses that the *sling
underbeam* depends on the *car cab height* and the *sling
underbeam space*. The dependency relations among the parameters
are a fundamental aspect of the knowledge structure for
Propose&Revise. Here, instead of a hierarchical structure of
components and subcomponents, the parameters are organized in a
network that models the interdependencies among parameters. Thus, to
use Propose&Revise, the application domain must present or must be
mapped to the same organization. In this way, some assumptions are
made about the dependency relations among parameters:

- A parameter p1 depends on a parameter p2, if p2 is used to compute the value of p1.
- A parameter p1 depends indirectly on a parameter p3, if p1 depends on p2 and p2 depends directly or indirectly on p3.
- An input parameter p1 does not depend on other parameters.

In addition, it cannot exist cycles in the dependency relations:

- If a parameter p1 depends on parameter p2, p2 does not depend on p1.
- If a parameter p1 depends indirectly on p3, then p1 does not depends on p3.

**Figure 5:** The formalization of the
**select parameter** inference and its knowledge roles.

The PARAMETER VALUES are supplied by the user for the input parameters, or they can be the values of the other parameters computed by the method. In P&R, each parameter has a unique value. The SELECTED PARAMETER has its value not computed yet, but all parameters on which it depends are already computed.

Figure 5 presents the formalization of the
**select parameter** inference and its knowledge roles. In
(1){ the class of parameters is
defined. Definition (2) associates a unique value to each
parameter. The `value-cardinality` of frame ontology
constrains the relation `Parameter-Value` in such a way
that each parameter has a unique value. In (3) the input
parameters are defined. Definition (4) expresses the direct
dependency relations among parameters. Here, an input parameter
does not depend on another parameter. In (5), the ` Depends-On`
relations comprise the direct and indirect dependencies among
parameters. In addition, the definition makes explicit the fact
that no cycles exist in the dependency relations. The
`ASYMMETRIC-RELATION` and
`WEAK-TRANSITIVE-RELATION` are defined in
frame ontology. The `ASYMMETRIC-RELATION`
means that if `?p1` depends on parameter `?p2`, this
implies that `?p2` does not depend on parameter `?p1`,
such that there are no cycles in the direct
dependency relations. To define the indirect dependency among
parameters, the `WEAK-TRANSITIVE-RELATION`
says that, if a parameter `?p1` depends on parameter `?p2`,
and that `?p2` depends on parameter `?p3`, then
`?p1` depends on ` ?p3`. It is a ``weak'' transitive
relation because `?p1` is not equal to `?p3`, which
warrants the nonexistence of cycles in the indirect dependency
relations. In (6), the output knowledge role is defined.
Definition (7) presents the **select parameter** inference
that chooses a parameter whose value is not computed yet, but
all parameters on which it depends are already computed.

Wed Sep 4 15:57:17 EDT 1996