• No se han encontrado resultados

Una metodología basada en XML para la configuración y despliegue de aplicaciones DDS

N/A
N/A
Protected

Academic year: 2021

Share "Una metodología basada en XML para la configuración y despliegue de aplicaciones DDS"

Copied!
23
0
0

Texto completo

(1)

Una metodología basada en XML

para la configuración y despliegue

de aplicaciones DDS

Javier Sánchez Monedero

Dirigido por Juan M. López Soler

Departamento de Teoría de la Señal, Telemática Y Comunicaciones

E.T.S. Ingenierías Informáticas y de Telecomunicación

(2)

ÍNDICE

1.Motivación del problema y objetivos

2.

Solución propuesta

3.

Módulos

El Modelo Estático

El Modelo Dinámico

El Coordinador

Implementación

4.

Ejemplo de despliegue de un escenario

5.

Resultados y conclusiones

(3)

1. Motivación del problema y objetivos

¿Qué es el servicio de distribución de datos (DDS)?

Middleware

de comunicación para sistemas distribuidos

(4)

1. Motivación del problema y objetivos

DDS sobre

redes de área amplia

(WAN):

Cientos o miles de entidades DDS repartidas en decenas o

cientos de nodos

No hay experimentación previa

Experimentación =>

describir

y

coordinar

(muchas veces) un

escenario WAN

¡Se necesitan mecanismos de prototipado rápido

y despliegue de sistemas DDS!

(5)

1. Motivación del problema y objetivos

Objetivos

Proporcionar una manera flexible de

describir

escenarios DDS

Aplicaciones y entidades

Comportamiento del sistema

Metodología de desarrollo rápido

Proporcionar mecanismos de

control

:

Distribución de la descripción del escenario

Ciclo de vida de entidades

(6)

ÍNDICE

1.

Motivación del problema y objetivos

2.Solución propuesta

3.

Módulos

El Modelo Estático

El Modelo Dinámico

El Coordinador

Implementación

4.

Ejemplo de despliegue de un escenario

5.

Resultados y conclusiones

(7)

2. Solución propuesta

¿Cómo

describir

el

escenario de prueba?

Modelo Estático

Descripción XML de las

entidades DDS

Modelo Dinámico

Descripción del

comportamiento

(ej. leer y escribir)

Espacio global de datos

DDS

Aplicación DDS

Modelo Estático

Modelo Dinámico

Aplicación DDS

Modelo Estático

Modelo Dinámico

Aplicación DDS

Modelo Estático

Modelo Dinámico

Nodo de red

que ejecuta

una aplicación

DDS

(8)

2. Solución propuesta

¿Cómo

sincronizar

los

nodos?

Nodo Command Master

Nodos Command Slave

¿Cómo

interaccionar

con

el escenario?

Lenguaje semi-natural

Espacio global de datos

DDS

Command Master

Publica instrucciones

bajo un

tema

DDS

create

stop

start

Command Slaves

(9)

ÍNDICE

1.

Motivación del problema y objetivos

2.

Solución propuesta

3.Módulos

El Modelo Estático

El Modelo Dinámico

El Coordinador

Implementación

4.

Ejemplo de despliegue de un escenario

5.

Resultados y conclusiones

(10)

3.1 Módulos: el Modelo Estático

Partes del

Modelo Estático

:

Un analizador sintáctico o

parser

XML

desarrollado sobre la

biblioteca

Expat

Fichero de definición del tipo de documento (

DTD

,

Document

Type Definition

) y modelo de objetos (

DOM

,

Document Object

Model

)

El objeto DOM lo componen varios objetos llamados

DDS XML

Entities

:

Gestionan información para crear entidades y controlar su

comportamiento

Parámetros de configuración DDS: id del dominio, nombre del

tema, número de entidades DDS...

(11)

DOM e interfaz de navegación

3.1 Módulos: el Modelo Estático

Partes del

Modelo Estático

:

El DOM está compuesto de objetos

DDS XML Entity

DDS XML DomainParticipant

dds

DDS XML Publisher

DDS XML Subscriber

DDS XML DataWriter

DDS XML DataReader

DDS XML Topic

DDS XML Application

get_xml_subcriber()

get_xml_topic()

get_first_publisher()

DDS XML DataReader

(12)

3.1 Módulos: el Modelo Estático

Las entidades DDS XML:

En conjunto, proporcionan un

API

flexible

para manejar el

escenario

Envuelven a la interfaz de

navegación

por el árbol DOM

xmlDataReader.get_xml_publisher()

acceso

a la información XML

xmlDataReader.get_topicname()

creación

y

destrucción

de instancias de entidades DDS

xmlEntity.create_dds_entity(index, recursive)

inicio

&

parada

de la actividad de las entidades

xmlEntity.start_behavior(index, recursive)

(13)

3.2 Módulos: el Modelo Dinámico

El

Modelo Dinámico

describe el

comportamiento

de las

entidades DDS definidas en el Modelo Estático

La descripción se hace programando:

Un

método

de actividad y

Configurando

oyentes

o

listeners

de las entidades

El diseño minimiza el conocimiento del API de DDS necesario

Externamente, se ve como un

conjunto de tablas

de las que

buscar y extraer métodos y listeners desde el Modelo

Estático

Conexión entre modelos:

<entidad-dds>

(14)

---3.3 Módulos: Coordinador

Espacio global de datos

DDS

CommandPublisher

cmdmaster

Nodo1

App_radar

writer_a:1

Nodo2

App_radar

writer_a:1

Nodo3

App_traffic_ctr

reader_a:1

test topic data

control topic data

> load “scenario.xml

> ...

>create “writer_a” 1

>start “writer_a” 1

Todo junto:

La

coordinación

(difusión del fichero XML y órdenes) se delega en

DDS

La

interacción

con el usuario:

lenguaje semi-natural

El

despliegue

: ejecutar una aplicación en cada nodo

El

desarrollo

: traducir órdenes a llamadas al API de los Modelos

(15)
(16)

ÍNDICE

1.

Motivación del problema y objetivos

2.

Solución propuesta

3.

Módulos

El Modelo Estático

El Modelo Dinámico

El Coordinador

Implementación

4.Ejemplo de despliegue de un

escenario

5.

Resultados y conclusiones

6.

Trabajo futuro

(17)

4. Ejemplo de despliegue de un escenario

DDS

CommandPublisher

cmdmaster

Nodo

Aplicación

DataWriter

“saluda”

DataWriter

“sensores”

Nodo

Visualización

de datos

DataReader

control topic data

Demostración

datos DDS

(18)

ÍNDICE

1.

Motivación del problema y objetivos

2.

Solución propuesta

3.

Módulos

El Modelo Estático

El Modelo Dinámico

El Coordinador

4.

Ejemplo de despliegue de un escenario

5.Resultados y conclusiones

(19)

5. Resultados y conclusiones

Resultados de este proyecto:

Arquitectura para el desarrollo y despliegue de escenarios

DDS

Interfaz de programación (API) flexible

Herramientas de sincronización de aplicaciones

distribuidas

Lenguaje de órdenes flexible y extensible que permite:

Medir los tiempos de creación de entidades DDS y de

descubrimiento entre ellas

Realizar pruebas de incremento gradual de la carga de red y

actividad en los nodos

Metodología de desarrollo de aplicaciones DDS

(20)

5. Resultados y conclusiones

La

descripción mediante XML

facilita:

Rediseño de pruebas modificando unas líneas de un fichero

Introducir puntos de control en cualquier nodo

La implementación sobre DDS de la coordinación y

distribución del escenario:

Libera al desarrollador de distribuir y sincronizar ficheros

XML

Evitan dependencias de mecanismos externos de

sincronización, como NFS o SSH

Se facilita el desarrollo en redes WAN

Facilita la integración en sistemas de tiempo-real

Los resultados del desarrollo de este proyecto han sido

(21)

ÍNDICE

1.

Motivación del problema y objetivos

2.

Solución propuesta

3.

Módulos

El Modelo Estático

El Modelo Dinámico

El Coordinador

4.

Ejemplo de despliegue de un escenario

5.

Resultados y conclusiones

(22)

6. Trabajo futuro

Ampliar el Modelo Estático

para soportar:

Perfiles de calidad de servicio (QoS), definición de tipos

de datos y configuración de la capa de transporte.

Sistema de autovalidación del escenario para detección

de errores

Establecer una API para la creación de plugins o extensiones

del

Modelo Dinámico

Inclusión de un sistema de

gestión de la seguridad

(23)

¿Preguntas?

Referencias

Documento similar

Habiendo organizado un movimiento revolucionario en Valencia a principios de 1929 y persistido en las reuniones conspirativo-constitucionalistas desde entonces —cierto que a aquellas

o Si dispone en su establecimiento de alguna silla de ruedas Jazz S50 o 708D cuyo nº de serie figura en el anexo 1 de esta nota informativa, consulte la nota de aviso de la

 Para recibir todos los números de referencia en un solo correo electrónico, es necesario que las solicitudes estén cumplimentadas y sean todos los datos válidos, incluido el

Resumen El CUS se inicia cuando el administrador de la aplicación selecciona la opción de Gestionar Modelo de Proceso, luego selecciona el tipo de gestión, introduce los

Se necesita balancear la carga en los servidores proxy, aplicaciones web y base datos en el nodo central, por lo que se propone una solución basada en el sistema

La determinación molecular es esencial para continuar optimizando el abordaje del cáncer de pulmón, por lo que es necesaria su inclusión en la cartera de servicios del Sistema

Existe mucha documentación sobre el despliegue y funcionamiento de un AD [5], así como su defensa en diferentes módulos del servicio [6] [7], pero este trabajo se justifica con el

La clase CC_Conexion, implementada para la versión anterior y reutilizada en la actual, es la encargada de gestionar los mensajes que se intercambian entre los diferentes