ocl object constraint language
Download
Skip this Video
Download Presentation
OCL (Object Constraint Language)

Loading in 2 Seconds...

play fullscreen
1 / 16

OCL (Object Constraint Language) - PowerPoint PPT Presentation


  • 191 Views
  • Uploaded on

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. Introducción.

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about ' OCL (Object Constraint Language)' - ewa


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
ocl object constraint language

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

introducci n
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.
introducci n1
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.
introducci n2
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
operadores de uml

Tipo

de Operaciones

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 =, <>

Operadores de UML
concordancia de tipos

Tipo Concuerda con / Es un subtipo de

Set(T) Collection(T)

Sequence(T) Collection(T)

Bag(T) Collection(T)

Integer Real

Concordancia de tipos
reglas de precedencia
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\'
conexi n con el metamodelo uml
Conexión con el metamodelo UML
  • Self : se usa para referirse a la instancia contextual.
  • Invariantes: restricción estereotipada como <<invariante>>. Por ejemplo:

context Company inv enoughEmployees: Self.numberofEmployees > 50

conexi n con el metamodelo uml1
Conexión con el metamodelo UML
  • Pre y Post-condiciones: se corresponden con los estereotipos <<precondicion>> y <<postcondicion>>, respectivamente.

context Typename::OperationName

(param1:Type1,...):ReturnType

post: result = 5000

conexi n con el metamodelo uml2
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

conexi n con el metamodelo uml3
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
conexi n con el metamodelo uml4
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.
paquete est ndar ocl
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.
conclusiones
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.
conclusiones1
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.
ad