!--a11y-->
Dans la section RESTRICTIONS d’une contrainte, vous saisissez les contrôles de cohérence qui doivent être effectués par la contrainte. La contrainte signale une incohérence si la section « restrictions » n’est pas vérifiée.

Vous ne pouvez pas saisir d’expressions non déclaratives, telles que NOT SPECIFIED (voir
Exemple :
Vous pouvez utiliser une contrainte pour déterminer que le pilote WIN98 d’une imprimante doit être sélectionné si le système d’exploitation WIN98 est sélectionné pour un PC :
OBJECTS:
RESTRICTIONS:
PD =
Vous pouvez également saisir plusieurs restrictions. Vous utilisez une virgule pour séparer les différentes restrictions. Il existe une relation AND entre les restrictions. Les relations OR ne sont pas possibles.
Exemple :
RESTRICTIONS:
PI =
False
Vous pouvez aussi utiliser l’expression FALSE comme restriction. Cela signifie que les situations décrites dans la section condition sont incohérentes. Dans ce cas, le système génère un message d’incohérence.
Exemple :
OBJECTS:
PC IS_A (300) PC
CONDITION:
PC.UC =
RESTRICTIONS:
FALSE.
Cette contrainte signale une incohérence dès que la valeur « PII » est affectée à l’UC et que la valeur « RIMM 128Mo » est affectée à Accessoires.
Appels de table
Dans la section RESTRICTIONS d’une contrainte, vous pouvez aussi appeler des tables préalablement définies. Une contrainte est donc un outil puissant, puisque vous pouvez y remplacer un grand nombre de conditions préalables par un appel de table.
Dans les contraintes, vous pouvez utiliser des tables pour assurer la cohérence des valeurs affectées ou pour déduire des valeurs. Pour les caractéristiques avec restrictions, vous pouvez aussi utiliser une table pour restreindre de manière dynamique les valeurs autorisées d’une caractéristique. Ainsi, un appel de table peut servir, par exemple, à définir les combinaisons de valeurs pour le boîtier et le disque dur d’un PC. Si vous faites référence à une table dans une contrainte, seules les combinaisons de valeurs définies dans la table sont valables.
Définition de valeurs dans la section restrictions
Dans certains cas, il est possible de déduire des valeurs à partir des saisies effectuées dans la section restrictions, sans devoir passer par la section INFERENCES. C’est le cas pour les équations dont la partie gauche contient exactement une variable pour une caractéristique. La caractéristique ne peut pas autoriser les restrictions.

Tension = Résistance * Courant
UC = 'PII'
Dans le premier exemple, la tension d’un circuit est déduite automatiquement à partir de l’équation sans qu’il soit nécessaire d’effectuer une saisie sous INFERENCES. Dans le deuxième exemple, la valeur « PII » est automatiquement définie pour l’UC dans la configuration.