2.3. Extensiones UML 1.1

Los mecanismos de de extensibilidad incorporados permiten a UML ser una especie de especificaci�n abierta que puede cubrir aspectos de modelado no especificados en el documento 1.1. Estos mecanismos permiten extender la notaci�n y sem�tica de UML.

2.3.1. Esteroetipos

Los estereotipos son el mecanismo de extensibilidad incorporado m�s utilizado dentro de UML. Un estereotipo respresenta una distinci�n de uso. Puede ser aplicado a cualquier elemento de modelado, incluyendo clases, paquetes, relaciones de herencia, etc. Por ejemplo, una clase con estereotipo 'actor' es una clase usada como un agente externo en el modelado de negocio. Una clase patr�n es modelada como una clase con estereotipo parametrizado, lo que significa que puede contener par�metros.

2.3.2. Extensiones de Modelado de Negocio

Un documento separado dentro de la especificaci�n UML define clases y estereotipos de asociaci�n espec�ficos que extienden UML hasta cubrir conceptos de modelado de negocio. Esto incluye 'stereotyping' una clase como un actor, un trabajador ('both internal and case'), o una entidad, y 'stereotyping' una asociaci�n como una comunicaci�n simple, o una subcripci�n entre un origen y un objetivo.

2.3.3. Lenguaje restrictivo (constraint) de objetos (OCL)

Una imagen puede describir muchas palabras. De igual modo, un modelo gr�fico puede describir una cierta parte del comportamiento, despu�s de la cual es necesario rellenar detalles adicionales con palabras. Describiendo algo con palabras, sin embargo, casi siempre desemboca en ambiguedades; por ejemplo, "�que quer�a decir cuando escribi� eso?". El Lenguaje Restrictivo (constraint) de Objetos (OCL) est� incorporado en UML como un est�ndar para especificar detalles adicionales, o precisar detalles en la estrucutura de los modelos.

Desarrollado dentro de la IBM Insurace Division como un lenguaje de modelado de negocio, el OCL es un lenguaje formal dise�ado para ser f�cil de leer y de escribir. OCL es m�s funcional que el lenguaje natural, pero no tan preciso como un lenguaje de programaci�n - no puede ser usado para escribir l�gicas de l�gica de programaci�n o control de flujo. Puesto que OCL es un lenguaje para la expresi�n pura, sus declaraciones est�n garantizadas de no tener efectos laterales - simplemente transportan un valor y nunca pueden cambiar el estado del sistema.