You are on page 1of 1

Résumé OCL

Prédicats sur les collections


C -> exists(e | P(e)) : vrai s'il existe un élément de C qui vérie la propriété P.
C -> forAll(e | P(e)) : vrai si tous les éléments de C vérient la propriété P.
C -> one(e | P(e)) : vrai s'il existe exactement un élément de C qui vérie la propriété P.
C -> includes(obj) : vrai si l'objet obj appartient à C.
C -> excludes(obj) : vrai si l'objet obj n'appartient pas à C.
C -> includesAll(C') : vrai si la collection C' est incluse dans C.
C -> excludesAll(C') : vrai si aucun élément de la collection C' n'appartient à C.
C -> isEmpty() : vrai si C est vide.
C -> notEmpty() : vrai si C n'est pas vide.
C -> isUnique(exp) : vrai si la valeur de l'expression exp est diérente pour tous les objets
de C.

Construction de collections
Classe.allInstances() : construit la collection de toutes les instances de la classe Classe.
C -> collect(exp) : construit la collection de toutes les valeurs de exp pour les objets de C.
C -> select(e | P(e)) : construit la collection de tous les objets de C qui vérient P.
C -> reject(e | P(e)) : construit la collection de tous les objets de C qui ne vérient pas P.
C -> including(obj) : construit la collection C ∪{obj}.
C -> excluding(obj) : construit la collection C \{obj}.
C -> union(C') : construit la collection C ∪ C'.
C -> intersection(C') : construit la collection C ∩ C'.
C -> any(e | P(e)) : renvoie un objet de C qui vérie la propriété P.
C -> any(true) : renvoie un objet de C au hasard.
C -> asSet() : convertit un multi-ensemble en ensemble (retire les occurrences multiples).

Opérations sur les collections


C -> size() : renvoie le nombre d'objets de la collection C.

Si toutes les valeurs sont numériques :


C -> sum()/C -> min()/C -> max() : renvoie la somme, le minimum ou le maximum des
valeurs contenues dans C.

Prédicats sur les objets


obj.oclIsTypeOf(Classe) : vrai si obj est exactement de type Classe.
obj.oclIsKindOf(Classe) : vrai si obj est de type Classe ou d'un de ses sous-types.

Seulement dans une post-condition :


obj.oclIsNew() : vrai si obj a été créé pendant l'opération.

You might also like