Lenguaje de especificación OCL2.0

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


Wikimedia foundation. 2010.

Игры ⚽ Нужно сделать НИР?

Mira otros diccionarios:

  • 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,… …   Enciclopedia Universal

  • Proceso para el desarrollo de software — Un proceso para el desarrollo de software, también denominado ciclo de vida del desarrollo de software es una estructura aplicada al desarrollo de un producto de software. Hay varios modelos a seguir para el establecimiento de un proceso para el… …   Wikipedia Español

Compartir el artículo y extractos

Link directo
Do a right-click on the link above
and select “Copy Link”