LEDA Un Lenguaje para la Especificaci - PowerPoint PPT Presentation

About This Presentation
Title:

LEDA Un Lenguaje para la Especificaci

Description:

LEDA. Un Lenguaje para la Especificaci n y Validaci n de Arquitecturas de Software ... Implementaci n fiel a la especificaci n original. ... – PowerPoint PPT presentation

Number of Views:66
Avg rating:3.0/5.0
Slides: 18
Provided by: CAN77
Category:

less

Transcript and Presenter's Notes

Title: LEDA Un Lenguaje para la Especificaci


1
LEDAUn 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

2
Presentación
  • LEDA
  • Lenguaje composicional.
  • Descripción del comportamiento.
  • Análisis de propiedades.
  • Representación de arquitecturas dinámicas.
  • Prototipado del sistema.
  • Mecanismos de refinamiento y parametrización.
  • Desarrollo evolutivo e incremental.

1
3
Lenguajes de descripción de arquitectura
Antecedentes
  • 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.

2
4
Álgebras de procesos
Antecedentes
  • 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 ?.

3
5
Especificación de arquitecturas
Fundamentos formales
e1
s
e2
  • Componentes especificados mediante agentes.
  • Composición paralela de componentes.
  • Interacción a través de enlaces compartidos.
  • La arquitectura no se muestra de forma explícita.
  • Dificultad para realizar análisis.

4
6
Roles
Fundamentos formales
e1
Entrada
s
Salida
Entrada
e2
  • Describen parcialmente la interfaz de un
    componente.
  • Modelan su interacción con otro componente.
  • Se refieren a un subconjunto de sus enlaces.
  • Se definen como una proyección del componente
  • P ? Comp /fn(Comp)-fn(P)

5
7
Componentes
Lenguaje de descripción
  • 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

6
8
Conexiones
Lenguaje de descripción
  • Muestran explícitamente la arquitectura del
    sistema.
  • Como conexión de roles de los componentes.
  • Varios tipos
  • Estáticas.
  • Reconfigurables.
  • Dinámicas.
  • Análisis automático de su compatibilidad.
  • Asegura la ausencia de bloqueos.
  • Permite la composición con éxito del sistema.

7
9
Composición con éxito
Fundamentos formales
P
Q
8
10
Composición con éxito
Fundamentos formales
P3
P1
Q1
P2
Q3
Q21
Q22
9
11
Relación de herencia
Fundamentos formales
  • 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.

10
12
Reemplazamiento con éxito
Fundamentos formales
P1
P3
P2
11
13
Reemplazamiento con éxito
Fundamentos formales
Comp2
Comp3
Comp4
12
14
Refinamiento de arquitecturas
Lenguaje de descripción
  • 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

ClienteServidor
Cliente
13
15
Generación de prototipos
Proceso de desarrollo
  • 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.

14
16
Conclusiones
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.

15
17
Trabajo futuro
Conclusiones
  • Análisis de otras propiedades de seguridad y
    viveza.
  • Comprobando la compatibilidad del sistema y la
    propiedad.
  • Expresión de propiedades no funcionales.
  • Mediante la combinación de formalismos adecuados.
  • Profundizar en los mecanismos de herencia y
    refinamiento.
  • Reemplazamiento dentro de un contexto.
  • Refinamiento de acciones.
  • Desarrollo de herramientas.
  • Edición, análisis, generación de código, etc.
  • Integración con otros lenguajes.
  • Aplicación a otros modelos y notaciones.

16
Write a Comment
User Comments (0)
About PowerShow.com