Object Constraint Language

Cet article est une ébauche concernant l’informatique.

Vous pouvez partager vos connaissances en l’améliorant (comment ?) selon les recommandations des projets correspondants.

OCL
Logo.
Paradigme déclaratif, impératif
Auteur Object Management Group (OMG)
Développeurs Fondation Eclipse
Dernière version
Typage fort
Dialectes EssentialOCL (pour le standard QVT), ImperativeOCL (avec effets de bord)
A influencé QVT
Implémentations Eclipse OCL
Système d'exploitation Multiplateformes
Site web eclipse.org/ocl
Extensions de fichiers .ocl
modifier Consultez la documentation du modèle

OCL (Object Constraint Language) est un langage informatique d'expression des contraintes utilisé par UML. Développé pour la première fois par IBM en 1995 puis standardisé par l'Object Management Group, OCL permet d'effectuer des requêtes sur des métamodèles[1].

Ce langage formel est volontairement simple d'accès et représente un juste milieu entre langage naturel et langage mathématique. Il permet ainsi de limiter les ambiguïtés dans la spécification des contraintes logicielles. Sa grammaire simple lui permet d'être interprété par des outils logiciels pour faire de la programmation par contrat et vérifier qu'un logiciel répond à ses spécifications techniques.

Description

OCL permet de décrire des invariants dans un modèle : préconditions et postconditions pour une opération, expressions de navigation, expressions booléennes, etc.

OCL est utilisé dans la définition du métamodèle UML. Plus généralement, OCL est le langage de requête standard utilisé en architecture dirigée par les modèles[2] : il intervient ainsi dans la définition du standard QVT.

Exemple de contraintes

La contrainte suivante exprime le fait que l'attribut age d'une classe Personne ne peut pas avoir une valeur négative.

context Personne
inv: self.age >=0

Références

  1. (en) « Object Constraint Language (OCL) tutorial », sur modeling-languages.com, (consulté le )
  2. (en) « Généralités sur l'approche MDA », sur developpez.com, (consulté le )

Liens externes

  • (en) Site officiel
  • Laurent Audibert, « Chapitre 4 Langage de contraintes objet (Object Constraint Langage : OCL) », sur developpez.com
  • « UML en français - OCL »
  • icône décorative Portail de l’informatique