ocl[1]
TRANSCRIPT
![Page 1: OCL[1]](https://reader031.vdocuments.mx/reader031/viewer/2022021117/577d2c611a28ab4e1eac0b64/html5/thumbnails/1.jpg)
8/7/2019 OCL[1]
http://slidepdf.com/reader/full/ocl1 1/11
ADMINISTRACIÓN Y SISTEMAS
OCL
J E S S I C A F A R F Á N R O J A S
A D E M I R M E D I N A G O N Z A L E SG I O V A N N I R O B L E S E S C U Z A
M A R T I N V I L L A N U E V A V A L C Á R C E L
J O R G E L U I S C H Á V E Z M A M A N I
![Page 2: OCL[1]](https://reader031.vdocuments.mx/reader031/viewer/2022021117/577d2c611a28ab4e1eac0b64/html5/thumbnails/2.jpg)
8/7/2019 OCL[1]
http://slidepdf.com/reader/full/ocl1 2/11
OBJECT CONSTRAINT LANGUAGE
Object Constraint Language (OCL)
Es un lenguaje formal usado para describirexpresiones en los modelos UML.
Estas expresiones suelen especificar las
condiciones invariantes que debe tener elsistema de modelado o hacer consultas sobrelos objetos descritos en un modelo.
![Page 3: OCL[1]](https://reader031.vdocuments.mx/reader031/viewer/2022021117/577d2c611a28ab4e1eac0b64/html5/thumbnails/3.jpg)
8/7/2019 OCL[1]
http://slidepdf.com/reader/full/ocl1 3/11
1. Las expresiones OCL puede ser utilizado para especificar las
operaciones y acciones que, al ejecutarse, no alteran el estado delsistema.
2. Se puede utilizar OCL para:
� Especificar restricciones específicas de los modelos UML.�
Para especificar las consultas en el modelo UML, que soncompletamente independientes del lenguaje de programación.
3. Fácil de usar4. Legible y escribible por una amplia audiencia5. Lenguaje de expresión pura
6. Libre de efectos colaterales7. Lenguaje de Especificación8. Declarativo e independiente de la plataforma9. Preciso
Características del OCL
![Page 4: OCL[1]](https://reader031.vdocuments.mx/reader031/viewer/2022021117/577d2c611a28ab4e1eac0b64/html5/thumbnails/4.jpg)
8/7/2019 OCL[1]
http://slidepdf.com/reader/full/ocl1 4/11
¿PARA QUÉ EXISTE EL OCL?
OCL
OCL es un lenguaje de especificación pura,por lo tanto, una expresión OCL se garantizaque sea sin efectos secundarios. Cuando unaexpresión OCL se evalúa, simplementedevuelve un valor. No puede cambiar nadaen el modelo
![Page 5: OCL[1]](https://reader031.vdocuments.mx/reader031/viewer/2022021117/577d2c611a28ab4e1eac0b64/html5/thumbnails/5.jpg)
8/7/2019 OCL[1]
http://slidepdf.com/reader/full/ocl1 5/11
Conceptos Básicos
� Tipos básicos:² Boolean: and, or, not, implies, if-then-else² Integer: *, +, /, abs, mod, min, max, ...² Real: *, +, /, floor, <, ...
² String: toUpper, concat, size, substring(i:integer,s:integer),...
� Tipo Collection (Set, Ordered-Set, Bag, Sequence)
� Tipos válidosClasificadores de diagramas UML (interfaces, tipos
de datos,componentes, nodos, casos de uso y subsistemas)
![Page 6: OCL[1]](https://reader031.vdocuments.mx/reader031/viewer/2022021117/577d2c611a28ab4e1eac0b64/html5/thumbnails/6.jpg)
8/7/2019 OCL[1]
http://slidepdf.com/reader/full/ocl1 6/11
USOS FRECUENTES DEL OCL
� Puede ser usado como� Como un lenguaje de preguntas
� Para especificar constantes sobre clases.
� Para especificar tipos de constantes para estereotipos.
� Para describir precondiciones y pos condiciones sobreoperaciones y Métodos.
� Para describir ..?
� Para establecer o especificar objetivos para mensajes y
acciones� Para especificar restricciones sobre operaciones
� Para especificar reglas de derivación para cualquierexpresión sobre un modelo UML
![Page 7: OCL[1]](https://reader031.vdocuments.mx/reader031/viewer/2022021117/577d2c611a28ab4e1eac0b64/html5/thumbnails/7.jpg)
8/7/2019 OCL[1]
http://slidepdf.com/reader/full/ocl1 7/11
CONCEPTOS CLAVES OCL
� ´contextµ especifica el elemento del cual seestá
hablando.
� ´selfµ indica el objeto actual.
� ´resultµ representa el valor de retorno.
� OCL puede predicar sobre colecciones
(conjuntos).
� Mediante ´->µ pueden utilizarse operaciones
sobre colecciones (select, reject, exists, size,
forAll, etc«).
![Page 8: OCL[1]](https://reader031.vdocuments.mx/reader031/viewer/2022021117/577d2c611a28ab4e1eac0b64/html5/thumbnails/8.jpg)
8/7/2019 OCL[1]
http://slidepdf.com/reader/full/ocl1 8/11
CONCEPTOS CLAVES OCL
InvarianteSirve para especificar el alias deuma clase o de uma restricción
![Page 9: OCL[1]](https://reader031.vdocuments.mx/reader031/viewer/2022021117/577d2c611a28ab4e1eac0b64/html5/thumbnails/9.jpg)
8/7/2019 OCL[1]
http://slidepdf.com/reader/full/ocl1 9/11
Invariante ² Clase Asociativa
� Context Person : se usa el punto y elnombre de la asociación� Context Job : hacia los objetos queparticipan
![Page 10: OCL[1]](https://reader031.vdocuments.mx/reader031/viewer/2022021117/577d2c611a28ab4e1eac0b64/html5/thumbnails/10.jpg)
8/7/2019 OCL[1]
http://slidepdf.com/reader/full/ocl1 10/11
Pre y PostCondiciones
Son condiciones(restricciones) ,que se
deben cumplir antes y después de unaacción respectivamente
![Page 11: OCL[1]](https://reader031.vdocuments.mx/reader031/viewer/2022021117/577d2c611a28ab4e1eac0b64/html5/thumbnails/11.jpg)
8/7/2019 OCL[1]
http://slidepdf.com/reader/full/ocl1 11/11