29/01/031 OCL (Object Constraint Language) Juan Casas Cuevas Mercedes Arenas Fernández Laboratorio de Sistemas de Información Facultad de Informática.

Slides:



Advertisements
Presentaciones similares
INSTITUTO TECNOLÓGICO DE MORELIA JOSÉ MARIA MORELOS Y PAVÓN
Advertisements

En PHP, casi cualquier cosa que escribes es una expresión. La forma más simple y ajustada de definir una expresión es "cualquier cosa que tiene un valor".
CLASIFICACIÓN DE CLASES Orientación a objetos UNIVERSIDAD DEL VALLE DEL FUERTE Análisis y Diseño Orientado a Objetos Cañedo Encinas Fernando Onorat. Ingeniería.
Fundamentos de Bases de Datos
PROF. ING. JULIO CESAR CANO RAMIREZ
XML XQuery.
Arquitectura de software dirigida por modelos (Model-Driven Architecture) Liliana Favre UNCPBA 2006.
Circuitos Digitales II
En esta clase se tratarán los siguientes temas: Concepción de una clase Atributos Operaciones Responsabilidades y Restricciones Ing. José Manuel Poveda.
Arquitectura de software dirigida por modelos (Model-Driven Architecture) Liliana Favre UNCPBA 2006.
Expresiones y operadores
Introducción al lenguaje de especificación JML
INGENIERIA DE SOFTWARE II Clase Nº 7
Modelo de Datos Unidad II.
Estructuras de datos y algoritmos
Maestría en Bioinformática Bases de Datos y Sistemas de Información Fundamentos de Matemática Ing. Alfonso Vicente, PMP
Transformación de modelos con ATL
Tema 2: Lenguaje PHP básico
Tipo de Dato Abstracto Tipos de datos:
Unified Modeling Languaje (UML)
INTRODUCCION AL LENGUAJE C
1.2 Sintaxis del lenguaje Java.
UNIVERSIDAD NACIONAL AUTÓNOMA DE MÉXICO FACULTAD DE INGENIERIA DIVISIÓN DE INGENIERÍA ELÉCTRICA COMPUTACIÓN PARA INGENIEROS NOTA IMPORTANTE: Para complementar.
UML.
INTRODUCCIÓN A UML Oscar Miguel Alonso Moreno.
Algoritmo y Estructura de Datos I
Algebra Booleana y Compuertas Lógicas
Desarrollo Orientado a Objetos con UML
Unified Modeling Language (Lenguaje de Modelamiento unificado)
Análisis y Diseño orientado a objetos con UML.
ANALISIS SINTACTICO El análisis gramatical es la tarea de determinar la sintaxis, o estructura, de un programa. Por esta razón también se le conoce como.
I Taller sobre Desarrollo de Software Dirigido por Modelos, MDA y Aplicaciones (DSDM'04) MDA Aplicado: Una Gramática de Grafos para la Transformación de.
UNIVERSIDAD DE MANAGUA I CUATRIMESTRE INTRODUCCION A LA PROGRAMACION
DEPARTAMENTO DE INGENIERÍA INFORMÁTICA
Electrónica Digital.
JAVA J.A.C..
COMPUTACION 2009 Clase 2.
Unidad III Elementos del lenguaje C++
Ingeniería de Software
Sesión 5 Herramientas de creación de DSL gráficos (GMF)
Sintaxis.
Fundamentos de programación
POR MARCO LEANDRO RUIZ ZAPATA. Start UML Unified Modeling Language lenguaje de modelado de sistemas de software más conocido y utilizado en la actualidad;
ESTRUCTURA DE DATOS ESD-243
Poder Expresivo de UML 2.0 para especificar arquitecturas de Software
Alcance Dinámico La Asociación Actual para un Nombre dado es el encontrado recientemente durante la ejecución, y no a sido destruido aun por el retornado.
Semantica.
El Concepto de Tipo Los tipos permiten indicar la característica de los valores (datos) manipulados en un programa. Toda variable tiene asociado un tipo.
UML 2.0 Integrantes: Diana Carolina Valencia M. Jhon Fernando Lopez T. Carlos Alberto Castillo.
INGENIERIA EN COMPUTACION INTEGRANTES: EFRÉN ODILÓN COLÍN FAUSTINO ELIZABETH DOROTEO MENDOZA ARACELI MEJIA GONZÁLEZ ROSALBA GONZÁLEZ MIRANDA UNIVERSIDAD.
Patrones de Diseño en MDA
Arquitectura de software dirigida por modelos (Model-Driven Architecture) Liliana Favre UNCPBA2006.
Ingeniería de software
Departamento de Informática Universidad Técnica Federico Santa María Temas 2,3,4: Estructura de un Programa Pascal Declaraciones Tipos de Datos Simples.
Expresiones Lógicas Prof. Flor Narciso Departamento de Computación Escuela de Ingeniería de Sistemas Facultad de Ingeniería Universidad de Los Andes.
POR: MÓNICA MARÍA RÚA BLANDÓN
DIAGRAMA DE SECUENCIA Y ACTIVIDADES.
Taller de Sistemas de Programas Clase 6 Dpto. de Computación y T.I.
UML.
Tipos de Datos.
Integrantes: Dennys Quintero José Ortega Simón Fagundez Caracas 09 de Febrero de 2015.
Diagrama de Transición de Estado
Unified Modeling Language (Lenguaje de Modelamiento unificado)
TIPOS DE DATOS ABSTRACTOS
Estructura de Datos PILA Universidad Hispanoamericana Prof. Ing. Erick López.
Modelado Orientado a Objetos Programación Orientada a Objetos Departamento de Sistemas Universidad del Cauca 2006.
Arquitectura de software dirigida por modelos (Model-Driven Architecture) Liliana Favre UNCPBA2006.
Prof. Jonathan Silva Ingeniería Civil – Informática I Ingeniería Civil Informática I Clase 5.
Prof. Jonathan Silva Ingeniería Civil – Informática I Ingeniería Civil Informática I Clase 3 – Diseño de Programas.
Arquitectura de software dirigida por modelos (Model-Driven Architecture) Liliana Favre UNCPBA2006.
Transcripción de la presentación:

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

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.

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.

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

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

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

29/01/037 Reglas de punto y operaciones flecha: '.' y '->' operadores unitarios 'not' y menos '-' '*' y '/' '+' y el operador binario '-' 'if-then-else-endif' ' ',' =' '=','<>' 'and','or', y 'xor' 'implies'

29/01/038 Ejemplo

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

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

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

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

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.

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.

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.

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.