- Lenguaje de especificación OCL2.0
-
OCL2.0 (Object Constraint Language 2.0) fue adoptado en octubre de 2003 por el grupo OMG como parte de UML 2.0. OCL es un lenguaje para la descripción formal de expresiones en los modelos UML. Sus expresiones pueden representar invariantes, precondiciones, postcondiciones, inicializaciones, guardias, reglas de derivación, así como consultas a objetos para determinar sus condiciones de estado. Se trata de un lenguaje sin efectos de borde, de manera que la verificación de una condición, que se presupone una operación instantánea, nunca altera los objetos del modelo. Su papel principal es el de completar los diferentes artefactos de la notación UML con requerimientos formalmente expresados.
Contenido
Tipos predefinidos
El tipo OCLAny es el supertipo de los tipos de base String, Boolean, Real y su subtipo Integer. El tipo OCLMessage(T) es el tipo de los mensajes con contenido de tipo T. El tipo OCLVoid es un subtipo de todos los tipos. Finalmente, con el tipo Collection(T), sus subtipos Bag(T), Sequence(T) y Set(T) con su subtipo OrderedSet(T) se completa la colección de tipos predefinidos de OCL.
Operaciones predefinidas
Las operaciones predefinidas incluyen las operaciones usuales sobre los tipos de base, más operaciones para el intercambio de mensajes y para realizar iteraciones sobre colecciones.
El documento de definición de OCL incluye la sintaxis y semántica de cada uno de esos operadores, así como las reglas precisas de herencia en los tipos.
Aunque se trata de un lenguaje de especificación ya adoptado para UML 2.0, falta todavía definir los detalles de su utilización en los diferentes artefactos que conformarán la notación UML 2.0
Origen
OCL fue inicialmente desarrollado por IBM[1].
Referencias
Categoría:- UML
Wikimedia foundation. 2010.