Object Constraint Language
| OCL | ||
| Date de première version | ||
|---|---|---|
| Paradigme | déclaratif, impératif | |
| Auteur | Object Management Group (OMG) | |
| Développeurs | Fondation Eclipse | |
| 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 |
||
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
- ↑ (en) « Object Constraint Language (OCL) tutorial », sur modeling-languages.com, (consulté le )
- ↑ (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 »
Content Disclaimer
Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.
- The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
- There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
- It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
- Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
- Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.