Descargar la presentación
La descarga está en progreso. Por favor, espere
Publicada porNatalia Fernández Rojas Modificado hace 10 años
2
29/01/031 OCL (Object Constraint Language) Juan Casas Cuevas Mercedes Arenas Fernández Laboratorio de Sistemas de Información Facultad de Informática Universidad Politécnica de Valencia
3
29/01/032 Introducción UML (Unified Modeling Language) es un lenguaje para especificar, construir, visualizar y documentar los objetos de un sistema software. No está lo suficientemente refinado. No permite p.e. describir restricciones adicionales sobre los objetos modelo.
4
29/01/033 Introducción OCL (Object Constraint Language) es un lenguaje notacional (subconjunto de UML estándar), que permite escribir restricciones sobre modelos de objetos. Estas restricciones rigen el aspecto de un objeto individual.
5
29/01/034 Introducción Características de OCL: Lenguaje de expresiones: Cuando se evalúa una expresión OCL, simplemente devuelve un valor. Lenguaje de modelos: Lenguaje de modelos y no de programación. Lenguaje formal
6
29/01/035 Operadores de UML Tipo deOperaciones deOperaciones operandos operandos Real =, +, -, *, /, abs, floor, max, min,, = Integer =, +, -, *, /, abs, div, mod, max, min Boolean =, or, xor, and, not, implies, if-then- else String =, size, concat, toUpper, toLower, substring Enumeration =, <>
7
29/01/036 Concordancia de tipos Tipo Concuerda con / Es un subtipo de Set(T) Collection(T) Sequence(T) Collection(T) Bag(T) Collection(T) Integer Real
8
29/01/037 Reglas de precedencia @pre punto y operaciones flecha: '.' y '->' operadores unitarios 'not' y menos '-' '*' y '/' '+' y el operador binario '-' 'if-then-else-endif' ' ',' =' '=','<>' 'and','or', y 'xor' 'implies'
9
29/01/038 Ejemplo
10
9 Conexión con el metamodelo UML Self : se usa para referirse a la instancia contextual. Invariantes: restricción estereotipada como >. Por ejemplo: context Company inv enoughEmployees: Self.numberofEmployees > 50
11
29/01/0310 Conexión con el metamodelo UML Pre y Post-condiciones: se corresponden con los estereotipos > y >, respectivamente. context Typename::OperationName (param1:Type1,...):ReturnType post: result = 5000
12
29/01/0311 Conexión con el metamodelo UML Let: Define una variable que es una subexpresión usada varias veces en una R.I. context Person inv: let income : Integer =self.job.salary sum in if isUnemployed then income < 100 else income >=100 endif
13
29/01/0312 Conexión con el metamodelo UML Propiedades predefinidas de los objetos: OclIsTypeOf (t : OclType) : Boolean OclIsKingOf (t : OclType) : Boolean OclInState (s : OclState) : Boolean OclisNew : Boolean OclAsType (t : OclType) : instance of OclType
14
29/01/0313 Conexión con el metamodelo UML Allinstances: Su resultado es el conjunto de todas las instancias del tipo existente en un momento dado. Tipo Collection:supertipo abstracto para todos los tipos de colección en OCL. Tres tipos: Set, Sequence y Bag.
15
29/01/0314 Paquete estándar OCL Cada modelo UML que usa como lenguaje de restricción OCL contiene un paquete estándar denominado “UML_OCL”. Cada tipo OCL puede extenderse con nuevas características.
16
29/01/0315 Conclusiones OCL no es tan expresivo como el CRT está incompleto como lenguaje de consulta de B.D. Es más fácil encontrar los errores en fases más tempranas del proyecto.
17
29/01/0316 Conclusiones La combinación de UML y OCL mejorará definitivamente el proceso de desarrollo software e incrementará la calidad del software desarrollado. Algunos autores han sugerido reemplazarlo por otro lenguaje bien formado como el EER.
Presentaciones similares
© 2025 SlidePlayer.es Inc.
All rights reserved.