ocl[1]

11
ADMINISTRACIÓN Y SISTEMAS OCL J E S S I C A F A R F Á N RO J A S A D E M I R M E D I N A G O N Z A L E S G 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

Upload: noomada

Post on 08-Apr-2018

224 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: OCL[1]

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]

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]

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]

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]

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]

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]

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]

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]

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]

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]

8/7/2019 OCL[1]

http://slidepdf.com/reader/full/ocl1 11/11