18.5 Cohérence d’un modèle
375
© Dunod – La photocopie non autorisée est un délit.
• Une donnée ne peut être définie par une règle de définition.
• Une grandeur dérivable n’est définie qu’une seule fois : elle ne peut donc apparaître en partie gauche que d’une seule règle de définition.
• Une grandeur dérivable est utilisée : elle doit être un résultat, ou apparaître en
partie droite d’une règle de définition ou dans une règle de contrainte.
La procédure de construction proposée dans la section 18.3 garantit que le modèle
obtenu respecte ces règles.
18.5.2 Cohérence des règles de définition multiple
La structure d’une définition multiple peut être complexe et susceptible de
comporter des erreurs. On vérifiera qu’elle est complète, qu’elle n’est pas ambiguë
et qu’elle ne comporte pas de branches mortes.
• En principe, une définition multiple doit être complète : pour tout état du
modèle 7 , une des conditions de la définition doit être vraie, et par conséquent,
la grandeur doit être définie. La définition ci-dessous n’est en principe pas
complète, car ALLOCATION est indéfinie pour NET_PAYE = 1000 :
ALLOCATION = 100
si NET_PAYE < 1000
0,1*NET_PAYE si 1000 < NET_PAYE < 3000
300
si NET_PAYE ≥ 3000
La complétude n’est pas toujours aisée à prouver. Ainsi, dans un modèle qui
contiendrait en outre la contrainte
NET_PAYE ≠ 1000
la définition de ALLOCATION serait complète, puisque le cas NET_PAYE =
1000 ne peut survenir.
Cette règle peut cependant être nuancée : dans les situations où une grandeur à
définition multiple n’intervient dans le calcul d’aucun résultat, sa valeur est
indifférente. Tel serait le cas du fragment suivant, où C peut être indéfinie
(si A = B), mais n’intervient dans le calcul de D que si elle est définie.
C = 0
si A > B
1
si A < B
D = 2*C si A ≠ B
-1
si A = B
Notons qu’une règle qui contient une branche sinon est complète par
construction.
• Une définition multiple doit être non ambiguë : pour tout état du modèle, une
seule des conditions de la définition peut être vraie. Il ne peut arriver que la
grandeur soit définie plus d’une fois, comme dans la définition suivante, qui est
ambiguë.
7. Si chaque grandeur du modèle reçoit une valeur, l’ensemble de ces valeurs correspond à un
état du modèle et représente un état du domaine d’application.
Précédent

- 375/436

Suivant