Evaluez la bêta version de MVC-CD - Logiciel de modélisation libre d'utilisation et gratuit
Le traitement d'expressions basées sur le langage OCL (Object Contraints Language) est en cours de développement.
Les expressions du langage OCL sont utilisées pour :
Définir les valeurs d'initialisation pour les attributs.
L'expression doit retourner un résultat du type de l'attribut.
Définir les valeurs de dérivation pour les attributs calculés.
L'expression doit retourner un résultat du type de l'attribut.
Définir des invariants. Des invariants sont des conditions qui doivent être vraies.
L'expression doit retourner un résultat de type booléen et toujours vrai.
Pour la version courante de MVC-CD, soit la 4.1.16, les expressions ne sont pas analysées.
Elles peuvent être saisies, mais elles sont ignorées par le contrôle de conformité.
Toutefois, en mode expérimental, le contrôle de conformité est effectué.
Le mode expérimental est activable par le paramètre Expérimental | Validation OCL de l'application.
Si vous activez ce mode expérimental, lisez le chapitre Les littéraux, ci-dessous, pour vous aider à effectuer des saisies conformes au contrôle de conformité.
Les expressions sont :
unaires
des appels de fonction
des idenifiants du modèle : entité, attribut, contrainte, association...
binaires, constituées de 2 expressions (unaires ou binaires) et un opérateur binaire.
Dans la version actuelle, 4.1.16, les opérateurs binaires sont :
logique
=
!=
>
>=
<
>=
and
or
xor
not
implies
arithmétique
+
-
*
/
#20.01.2026# (1)
150000 (2)
nowDate()
nowDate() + 30
[date de fin] = null or [date de fin] >= [date de début] (3)
Important :
Les littéraux temporels doivent être entourés du caractère #.
Les séparateurs de milliers des valeurs numériques ne sont pas autorisés.
Les identifiants d'élément du modèle qui comportent des caractères spéciaux comme l'espace doivent être entourés de crochets.
Une expression rend un résultat.
Le résultat est typé. il peut être :
Un type de données. Par exemple : date ou integer
Un type spécifique à OCL. Par exemple : une entité ou une association
Une expression unaire est la forme la plus simple d'une expression . Elle prend la forme de :
Un littéral. Par exemple : #20.01.2026#
Un appel de fonction. Par exemple : nowDate()
Un idenfiant. Par exemple : [date de début]
Les littéraux doivent repsecter les règles suivantes d'écriture.
true, True ou TRUE
false, False ou False
Les littéraux textuels doivent être entourés de guillemet. Par exemple : 'SPORT'
Les séparateurs de milliers autorisés par l'éditeur de valeur par défaut des attributs ne sont pas autorisés dans toutes les autres situations.
Le séparateur décimal correspond à une préférence locale dans l'éditeur de valeur par défaut des attributs. Il est obligatoirement le point (.) dans toutes les autres situations.
Les littéraux temporels doivent être entourés du caractère #. Par exemple : #20.01.2026#
Les préférences locales d'écriture des valeurs temporelles doivent être utilisées dans toutes les situations.
Avec la version actuelle, 4.1.16, les fonctions suivantes sont autorisées.
nowDateTime() : dateTime
Elle retourne la date et l'heure courantes.
nowDate() : date
Elle retourne la date courante.
nowTime() : time
Elle retourne l'heure courante.
Les éléments de modèle, entité, attributs, contraintes, associations... peuvent être identifés par le nom métier ou le nom technique.
Si l'identification se fait par le nom métier, il est indispensable d'entourer le nom métier de crochets s'il comporte des caractères spéciaux comme l'espace (séparateur de mot pour une expression OCL) ou le guillemet (marqueur de littéral textuel).
Par exemple : [date de début]
Par souci de clarté des expressions, nous recommandons d'entourer tous les noms métier de crochets.
Une expression binaire est composée de 2 expressions unaires ou binaires séparées par un opérateur binaire.
Les opérateurs binaires sont définis plus haut dans les types d'expressions.
Les opérateurs logiques s'appliquent entre expressions de même type.
Les opérateurs arithmétiques s'appliquent aux :
Expressions numériques
Pour les signes + et - :
Expression gauche de type date ou dateTime et expression droite un entier représentant un nombre de jours.
Par exemple : nowDate() + 30
Les versions futures prendront en compte progressivement des éléments supplémentaires pour avoir un conuverture la plus complète des besoins de spécification.