Vous êtes sur la page 1sur 16

4.

4 Lenguaje de Restricciones de Objeto (OCL)

Qu es?
OCL son siglas en ingls que significan: Object Constraint Language y que en castellano se traducen como: Lenguaje de Restricciones de Objetos. El OCL define un lenguaje simple, para escribir restricciones y expresiones sobre elementos de un modelo. El OCL suele ser til cuando se est especificando un dominio particular mediante el UML y es necesario restringir los valores permitidos para los objetos del dominio. El OCL brinda la posibilidad definir en los elementos de un diagrama, entre otros: invariantes, precondiciones, poscondiciones y restricciones. El OCL fue incorporado al UML en la versin 1.1. El OCL fue originalmente especificado por IBM y es un ejemplo ms de las muchas herramientas agregadas al UML.

Otra definicion.
El Lenguaje de Restriccin de Objetos (OCL Object Constraint Language) es un lenguaje ntimamente vinculado con UML. Se usa precisamente para declarar o establecer reglas para los elementos de un modelo (para las clases, por ejemplo). OCL llena el vaco que deja el uso del lenguaje natural cuando lo usamos para definir esas condiciones o semntica adicional requerida en todo modelo, uso que casi siempre causa ambigedades o faltantes en el modelo. Por tales motivos, OCL es otro aspecto de importancia a la hora de estudiar UML y de modelar, por supuesto.

SUS CARACTERISTICAS.
Lenguaje de expresiones OCL es un lenguaje de expresiones puro. Una expresin OCL garantiza que quedar sin efecto. Esto no puede cambiar nada en el modelo. Esto significa que un estado del sistema nunca cambiar debido a una expresin OCL, incluso una expresin OCL podra usarse para describir tal cambio de estado (p.e. en una postcondicin).

Lenguaje de modelos OCL es un lenguaje de modelos y no un lenguaje de programacin. No se puede escribir un programa lgico o un flujo de control en OCL. Especialmente, no se puede invocar procesos o activar operaciones no de consulta en OCL.

Lenguaje formal OCL es un lenguaje formal donde todos los constructores tienen un significado formal definido. La especificacin de OCL es parte de la especificacin de UML. OCL no tiene la intencin de reemplazar los lenguajes formales existentes.

Otro aspecto importante es que OCL no es un lenguaje completo en s mismo. Muchos lenguajes formales mandan (o al menos se supone) que la especificacin completa se escriba en el mismo lenguaje. Con OCL, no se necesita, incluso se tiene la posibilidad de escribir las especificaciones completas en OCL. La intencin de OCL es la de utilizarlo en combinacin con los modelos visuales UML.

Ejemplo de clases.

lenguaje de diseo de programas


Tambin denominado lenguaje estructurado o pseudocdigo. Este lenguaje no puede compilarse.

Referencias.
[1] http://www.software.ibm.com/ad/ocl [2]http://www.boldsoft.com/news/columns/columnJW armer.htm [More results from www.boldsoft.com] [3]http://www.computer.org/proceedings/tools/0278/ 02780399abs.htm [More results from www.computer.org] [4]http://www.awl.com/product/0,2627,0201379406,0 0.html [5]http://www.rational.com/technotes/rose_html/Ros e_html/technote_7933.html [6] Pressman, R. Ingeniera del software: un enfoque prctico. McGraw-Hill, 2002.