If more than one constraint is violated at the same time, the select violated constraint inference chooses one constraint to be revised. Figure 3 shows the inference with its knowledge roles: CONSTRAINT RESULTS, FIX DEPENDENCY RELATIONS, and SELECTED VIOLATED CONSTRAINT.
The constraints have associated fixes to repair their violation. A constraint may have more than one fix. Each fix modifies the value of some parameter in order to repair the constraint violation. Besides the modified parameter, the fix may refer to other parameter values to accomplish the modification. Thus, the FIX DEPENDENCY RELATIONS establish the dependencies among the fixes and the parameters. In the VT task, for instance, the constraint minimum platform to hoistway left says that the platform to hoistway left must be at least eight inches. If it is not, two fixes are associated to the constraint: (1) increase the opening to hoistway left by the amount of the constraint violation, and (2) decrease the car return left by the amount of the constraint violation. Here, the fixes depend on the values of the parameters opening to hoistway left, car return left and platform to hoistway left.
Figure 8: The formalization of the select violated constraint inference and its knowledge roles.
The SELECTED VIOLATED CONSTRAINT is the constraint which all fixes can be applied. A fix can be applied when all values on which the fix depends are already computed. It may occur that more than one violated constraint satisfies this criterion. In such case, the check inference must select only one constraint. In our model of P&R, the constraint with the higher priority is chosen. In the VT task, there are no priorities associated to the constraints: If more than one constraint can be processed at the same time, a constraint is chosen arbitrarily. The only exception is that if the constraints associated to the parameters machine groove pressure and hoist cable traction ration are violated at the same time, the constraint associated to the machine groove pressure should be revised first. Here, we make the choice of assigning a priority to each constraint, which allows us to define the inference abstracting from the VT task and to generalize P&R for other domains.
Figure 8 illustrates the Ontolingua
formalization of the select violated constraint
inference and its knowledge roles. Definitions (17)-(21) represent
the input knowledge roles. In (22), the output knowledge role is
defined. Definition (23) says that select violated
constraint inference selects a violated constraint whose all
fixes have all the parameters on which the fixes depend already computed
and, if more than one constraint satisfies these conditions,
the inference chooses the constraint with higher priority.