LEDA Un Lenguaje para la Especificación y Validación de Arquitecturas de Software Carlos Canal Velasco Depto. de Lenguajes y Ciencias de la Computación.

Slides:



Advertisements
Presentaciones similares
MODELOS ORIENTADOS A OBJETOS
Advertisements

U.M.L A/Gx. Diego Gutiérrez Application Analysis and Design.
INGENIERÍA DE SOFTWARE Introducción Arquitectura de Software
Lenguaje Unificado de Modelado
Arquitectura de software dirigida por modelos (Model-Driven Architecture) Liliana Favre UNCPBA 2006.
Diseño orientado al flujo de datos
Introducción 1 Puntos Clave –La orientación a objetos representa un cambio radical en los métodos tradicionales de creación de software –Los métodos tradicionales.
Fundamentos de Ingeniería de Software
Tipo de Dato Abstracto Tipos de datos:
Etapas y actividades en el desarrollo OO basado en UML
CONCEPTOS Y PRINCIPIOS DE DISEÑO
Aplicación del paradigma orientado a objetos
INTRODUCCIÓN A UML Oscar Miguel Alonso Moreno.
DIAGRAMAS DE CLASES Completando los diagramas de interacción, es posible identificar la especificación de las clases que participarán en la solución indicando.
Ingeniería del Software
PROGRAMACION ORIENTADA
Diagramas de clases Modelan la vista estática del sistema
El paradigma de la orientación a objetos La programación orientada a objetos genera códigos eficientes y estandariza la metodología de programación, además.
Unified Modeling Language (Lenguaje de Modelamiento unificado)
Profesor: Miguel Angel Vidal
Ingeniería de Software Orientada a Objetos
I NSTITUTO TECNOLOGICO SUPERIOR DE LIBRES INGENIERIA EN SISTEMAS COMPUTACIONALES PROGRAMACION ORIENTADA A OBJETOS ESMERALDA LIMON ESCUTIA REDEFINICION.
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.
Contexto: Aplicación gráfica.  Siempre que se piensa en separar la funcionalidad de una aplicación de su interacción con el usuario, bien sea una aplicación.
Criterios de la Orientación a Objetos 1. Método y Lenguaje (proceso de pensamiento y notaciones para analizar y producir software). 2. Implementación y.
Propuesta de una metodología para el desarrollo de proyectos informáticos empleando la herramienta para el diseño automatizado GeneXus Autor: Dipl.-Ing.
Modelado Arquitectónico
Validación de propiedades de Workflow Alumno: Fernando Villar Director: Dr. Germán Regis Universidad Nacional de Río Cuarto.
Diseño del Software Diseño de datos Diseño arquitectónico
(c) P. Gomez-Gil, INAOE DISEÑO DE COMPONENTES DE SOFTWARE * NOTAS DEL CURSO Ingeniería de Software I DRA. MARIA DEL PILAR GÓMEZ GIL INAOEP.
Ingeniería de Software
Ingeniería de Software Orientado a Objetos
DISEÑO DE SOFTWARE 1ª. Parte
Fundamentos de programación
Poder Expresivo de UML 2.0 para especificar arquitecturas de Software
Tecnológico de Estudios Superiores Huixquilucan Fundamentos de Sistemas Ingeniería en Sistemas Computacionales Lic.: Lydia Villavicencio Gómez “Paradigmas.
Actividad 2. Estilos y patrones arquitectónicos. M.C. Juan Carlos Olivares Rojas Syllabus May, 2009.
Ingeniería en Sistemas de Información Diseño de Sistemas (3K1)
M.C. Juan Carlos Olivares Rojas
Ingeniería del Software
Diseño e Implementación de Sistemas Basados en Conocimiento
Universidad Central de Venezuela Facultad de Ciencias Postgrado en Ciencias de la Computación Sistemas Distribuidos Albany Márquez.
Ximena Romano – Doris Correa
Distribución y Movilidad en Arquitecturas Software Orientadas a Aspectos Nour Ali Director: Isidro Ramos NODO: UPV.
Importancia en la efectividad del:
Servicios Web Semánticos
Herencia. Introducción La idea básica es poder crear clases basadas en clases ya existentes. Cuando heredamos de una clase existente, estamos re-usando.
Facultad de Ingeniería
Subsecretaría de Educación Superior Dirección General de Educación Superior Tecnológica INSTITUTO TECNOLÓGICO DE SALINA CRUZ TEMA: herramientas de programación.
LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) TRADUCTORES Y ANALIZADOR LEXICOGRÁFICO.
Roles de Open UP.
Patrones de diseño equipo n.1
Relación con otras asignaturas del plan de estudio
Modelan la vista estática del sistema Elementos básicos: Clases Relaciones Objeto: Representación de una entidad discreta (real o abstracta) - Estado:
Actividades en el Proceso de desarrollo de Software
Ingeniería del Software I
Unified Modeling Language (Lenguaje de Modelamiento unificado)
Por: Jaime Enrique Melendez Monreal Código: INGENIERÍA DE SOFTWARE.
Ciclo de Vida del Software
Tipo de relación entre clases Es uno de los aspectos que distinguen el paradigma de orientación a objetos frente a otros paradigmas. Mecanismo que,
Diseño, implementación y verificación de un sistema de hardware reconfigurable para aplicaciones de control. de un sistema de hardware reconfigurable para.
MODELAMIENTO VISUAL Y UML
Integrantes: Castro José República Bolivariana De Venezuela Ministerio Del Poder Popular Para La Educación Superior Instituto Universitario Tecnológico.
PRESENTACION DE INGENIERIA ORIENTADA A OBJETOS
Objetivos de la prueba Los objetivos principales de realizar una prueba son: Detectar un error. Tener un buen caso de prueba, es decir que tenga más probabilidad.
Herencias Conceptos básicos i
Presentación De UML Lenguaje estándar para escribir planos de software Se usa para visualizar, especificar, construir y documentar los artefactos de un.
Entregables del Proyecto
Universidad Nacional de Ingeniería Comprendiendo los Fundamentos de
Transcripción de la presentación:

LEDA Un Lenguaje para la Especificación y Validación de Arquitecturas de Software Carlos Canal Velasco Depto. de Lenguajes y Ciencias de la Computación Universidad de Málaga

Carlos Canal Velasco Depto. de Lenguajes y Ciencias de la Computación Febrero de 2001/16 Presentación LEDA l Lenguaje composicional. l Descripción del comportamiento. l Análisis de propiedades. l Representación de arquitecturas dinámicas. l Prototipado del sistema. l Mecanismos de refinamiento y parametrización. l Desarrollo evolutivo e incremental. 1

Carlos Canal Velasco Depto. de Lenguajes y Ciencias de la Computación Febrero de 2001/16 Lenguajes de descripción de arquitectura §Componentes. Elementos computacionales y de datos. Descritos mediante los papeles abstractos que juegan. §Conectores. Mecanismos de interacción. §Configuraciones. Descripción de la arquitectura del sistema. §Ejemplos: Wright, Darwin, UniCon, Rapide, C2. Antecedentes 2

Carlos Canal Velasco Depto. de Lenguajes y Ciencias de la Computación Febrero de 2001/16 Álgebras de procesos §Marco semántico formal de los lenguajes concurrentes. §Especificación del sistema como un conjunto de procesos. Primitivas de composición, comunicación y sincronización. §Análisis de diversas propiedades: Equivalencia de procesos. Viveza. Refinamiento, etc. §Simulación del sistema. §Ejemplos: CCS, ACP, CSP, cálculo . Antecedentes 3

Carlos Canal Velasco Depto. de Lenguajes y Ciencias de la Computación Febrero de 2001/16 Especificación de arquitecturas §Componentes especificados mediante agentes. l Composición paralela de componentes. l Interacción a través de enlaces compartidos. §La arquitectura no se muestra de forma explícita. §Dificultad para realizar análisis. ConcentradorReceptorEmisor e1e1 e2e2 s Fundamentos formales 4

Carlos Canal Velasco Depto. de Lenguajes y Ciencias de la Computación Febrero de 2001/16 Roles n Describen parcialmente la interfaz de un componente. Modelan su interacción con otro componente. Se refieren a un subconjunto de sus enlaces. n Se definen como una proyección del componente: P  Comp / fn(Comp)-fn(P) Concentrador Salida Entrada e1e1 e2e2 s Fundamentos formales 5

Carlos Canal Velasco Depto. de Lenguajes y Ciencias de la Computación Febrero de 2001/16 Componentes §Representan módulos o partes del sistema. No distinción entre componentes y conectores. §Su especificación consta de: Constantes, variables. Interfaz. Composición. Conexiones. §Un sistema es una instancia de un componente. instance miSistema : Sistema; Lenguaje de descripción 6

Carlos Canal Velasco Depto. de Lenguajes y Ciencias de la Computación Febrero de 2001/16 Conexiones §Muestran explícitamente la arquitectura del sistema. l Como conexión de roles de los componentes. §Varios tipos: l Estáticas. l Reconfigurables. l Dinámicas. §Análisis automático de su compatibilidad. l Asegura la ausencia de bloqueos. l Permite la composición con éxito del sistema. Lenguaje de descripción 7

Carlos Canal Velasco Depto. de Lenguajes y Ciencias de la Computación Febrero de 2001/16 Composición con éxito CompComp 4 Comp 3 Comp 2 Fundamentos formales PQ 8

Carlos Canal Velasco Depto. de Lenguajes y Ciencias de la Computación Febrero de 2001/16 Composición con éxito CompComp 4 Comp 3 Comp 2 Fundamentos formales P3P3 P2P2 P1P1 Q1Q1 Q 21 Q3Q3 Q 22 9

Carlos Canal Velasco Depto. de Lenguajes y Ciencias de la Computación Febrero de 2001/16 Relación de herencia §Basada en la existente en orientación a objetos. Un rol hereda el comportamiento de su progenitor. Puede añadir y redefinir comportamiento. §La herencia preserva la compatibilidad. El rol derivado es más fiable que su progenitor. §Permite el reemplazamiento con éxito. En el contexto de cualquier arquitectura. Fundamentos formales 10

Carlos Canal Velasco Depto. de Lenguajes y Ciencias de la Computación Febrero de 2001/16 Reemplazamiento con éxito Comp 3 Comp 4 CompComp 2 Fundamentos formales P1P1 P2P2 P3P3 11

Carlos Canal Velasco Depto. de Lenguajes y Ciencias de la Computación Febrero de 2001/16 Comp 3 Comp 4 Comp 2 R1R1 R3R3 R2R2 Comp’ Reemplazamiento con éxito Fundamentos formales 12

Carlos Canal Velasco Depto. de Lenguajes y Ciencias de la Computación Febrero de 2001/16 Refinamiento de arquitecturas §Basado en el reemplazamiento de componentes. §Patrones de arquitecturas. §Reutilización de diseños arquitectónicos. §Permite el desarrollo incremental. instance csTF : ClienteServidor [ bateria : BateriaTF; ]; BateríaTF ClienteServidor Cliente batería : Batería Lenguaje de descripción 13

Carlos Canal Velasco Depto. de Lenguajes y Ciencias de la Computación Febrero de 2001/16 Generación de prototipos §Obtener un prototipo ejecutable en Java. Basado en los patrones de interacción descritos en los roles. §Separación de aspectos de computación y coordinación. El mecanismo de comunicación debe permanecer oculto. §Implementación fiel a la especificación original. Conservar las propiedades demostradas en el análisis. §Fomentar el desarrollo evolutivo e incremental. Permitir la manipulación del código por el diseñador. Proceso de desarrollo 14

Carlos Canal Velasco Depto. de Lenguajes y Ciencias de la Computación Febrero de 2001/16 Conclusiones §Descripción de arquitecturas dinámicas. Topología cambiante durante la ejecución del sistema. §Verificación de propiedades. Compatibilidad y herencia de comportamiento. §Mecanismos de extensión y refinamiento. Basados en la relación de herencia. §Definición de arquitecturas genéricas. Descripción de patrones arquitectónicos instanciables. §Guía para el proceso de desarrollo. Iterativo e incremental a partir de la especificación. Conclusiones 15

Carlos Canal Velasco Depto. de Lenguajes y Ciencias de la Computación Febrero de 2001/16 Trabajo futuro §Análisis de otras propiedades de seguridad y viveza. l Comprobando la compatibilidad del sistema y la propiedad. §Expresión de propiedades no funcionales. l Mediante la combinación de formalismos adecuados. §Profundizar en los mecanismos de herencia y refinamiento. l Reemplazamiento dentro de un contexto. l Refinamiento de acciones. §Desarrollo de herramientas. l Edición, análisis, generación de código, etc. l Integración con otros lenguajes. §Aplicación a otros modelos y notaciones. Conclusiones 16