Dans les modèles UML, les spécifications d'instances sont des
éléments qui représentent une instance dans le système modélisé. Lorsque
vous instanciez un discriminant dans un modèle, vous créez une spécification
d'instance qui représente une entité du système modélisé à un point de
cohérence, similaire à image instantanée de l'entité.
Vous pouvez modéliser les changements apportés à l'entité en créant plusieurs
spécifications d'instances, une pour chaque image instantanée.
Les spécifications d'instances peuvent comporter les informations suivantes
concernant l'entité :
- La classification de l'entité par un ou plusieurs discriminants dont
l'entité est l'instance
- Le type d'instance, basé sur ses discriminants. Par exemple, une
spécification d'instance dont le discriminant est une classe décrit un objet de
cette classe alors qu'une spécification d'instance dont le discriminant est une
association décrit un lien de cette association
- Les valeurs spécifiques des fonctions structurelles, qui sont
représentées par des emplacements
A l'instar des discriminants, les spécifications d'instances ont des
attributs que l'on appelle emplacements. Une spécification d'instance
peut avoir un emplacement pour chaque fonction structurelle de son
discriminant, les fonctions héritées comprises. Vous pouvez définir des
valeurs pour chaque emplacement dans une spécification d'instance à partir
du moment où un type valide est défini pour cet emplacement.
La figure suivante illustre une classe appelée Member. Elle comporte deux
attributs, ID et Name. L'attribut ID est de type Integer et l'attribut Name
est de type UnlimitedNatural.

La figure suivante illustre la spécification d'instance correspondante
comportant deux emplacements et valeurs. La valeur de l'emplacement
ID est 1 et la valeur de l'emplacement Name est John Q Public.