2016-12-20 4 views
-1

J'essaie d'écrire ocl pour ajouter une contrainte à l'enfant (animal), mais la contrainte doit être le nom de la classe parent de l'utilisateur (mamifere). Je pense que la première version ne fonctionne pas, et je pense qu'il y a une meilleure solution que le deuxième exemple. Aidez-moi s'il vous plaît?uml/ocl accès au nom de classe parent

l'image par exemple des animaux:

enter image description here

+0

Vous devez préciser quelle relation enfant vous essayez de modéliser. Il n'y a rien de modelé dans cette direction. –

Répondre

1

Cela semble étrange. Votre première contrainte indique (à condition qu'il soit lié à animal) que le type de aninmal doit être mamifere, mais mamifere hérite de animal. Ça n'a pas de sens.

La deuxième variante n'a pas de sens non plus. À condition que la contrainte s'applique à tout ce qui figure sur le diagramme, chaque instance doit être nommée mamifere2. Vous ne pouvez donc avoir que des instances avec le nom == mamifere2. Particulièrement étrange avec une instance vivipare2.

Je ne vois pas du tout où vous modélisez une quelconque relation enfant. Donc, je viens de vous deviner ce dire:

enter image description here

Un enfant a deux parents (bien, pour l'homme, il peut maintenant être plus). Et il peut y avoir * enfants qui doivent avoir le même type que les parents (donc vous ne pouvez pas modéliser des mules ou autres).