Grupo ARCO - Universidad de Castilla-La Mancha
Grupo ARCO - Universidad de Castilla-La Mancha
Grupo ARCO - Universidad de Castilla-La Mancha
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
A. CASOS DE ESTUDIO: OPENSPLICE Y RTI 62<br />
Arquitectura simétrica No hay servidor centralizado ni nodos privilegiados. <strong>La</strong>s suscripciones<br />
y las publicaciones pue<strong>de</strong> ser añadidas y eliminadas dinámicamente <strong>de</strong>l sistema<br />
en cualquier momento.<br />
Frameworks <strong>de</strong> transporte RTI DDS incluye la habilidad para <strong>de</strong>finir nuevas herramientas<br />
<strong>de</strong> transporte. RTI DDS especifica un plugin <strong>de</strong> transporte UDP/IP y transporte<br />
<strong>de</strong> memoria compartida. Pue<strong>de</strong> ser configurado para trabajar sobre gran variedad <strong>de</strong><br />
mecanismos, tecnologías <strong>de</strong> re<strong>de</strong>s, etc.<br />
Soporte multilenguaje Soporta APIs para los lenguajes C, C++, C++/CLI, C# y Java.<br />
Soporte multiplataforma Incluye soporte para UNIX, sistemas <strong>de</strong> tiempo-real (INTEGRITY,<br />
VxWorks, QNX y LynxOS) y Windows (2000, 2003, CE, Vista y XP).<br />
Cumplimiento <strong>de</strong> estándar <strong>La</strong> API cumple la capa DCPS <strong>de</strong> la especificación <strong>de</strong> DDS <strong>de</strong> la<br />
OMG. El formado <strong>de</strong> los paquetes <strong>de</strong> datos que envía RTI DDS cumple con la especificación<br />
<strong>de</strong>l protocolo RTPS.<br />
Un ejemplo básico para ver el funcionamiento <strong>de</strong> un publicador y un suscriptor utilizando<br />
RTI DDS se pue<strong>de</strong> encontrar en el cdrom adjunto en el directorio src/samples/RTI/HelloWorld<br />
y a<strong>de</strong>más la prueba <strong>de</strong> integración correspondiente en el directorio test/samples.<br />
Este ejemplo no se analiza ya que los ejemplos realizados con OpenSplice especificados<br />
en el próximo capítulo son más claros para conocer la dinámica <strong>de</strong> DDS.<br />
A.2.<br />
OpenSplice DDS<br />
A.2.1. Arquitecture OpenSplice DDS<br />
OpenSplice DDS compone una arquitectura que utiliza memoria compartida para conectar<br />
no sólo todas las aplicaciones que resi<strong>de</strong>n <strong>de</strong>ntro <strong>de</strong> un nodo computacional, sino también el<br />
conjunto <strong>de</strong> servicios que ofrecen diferentes hosts 1 . Esta arquitectura garantiza la escalabilidad,<br />
flexibilidad y extensibilidad.<br />
En la memoria compartida que utiliza esta arquitectura, los datos están físicamente una<br />
vez en cada máquina y la administración proporciona a cada suscriptor una vista privada <strong>de</strong><br />
esos datos. Esto permite que una caché <strong>de</strong> datos <strong>de</strong>l suscriptor será percibida como una base<br />
<strong>de</strong> datos individual que pue<strong>de</strong> estar filtrada, encolada, etc.<br />
OpenSplice DDS pue<strong>de</strong> ser fácilmente configurable especificando los servicios necesarios<br />
que se utilizarán, así como la configuración <strong>de</strong> los servicios que persigue un acoplamiento<br />
óptimo en el dominio <strong>de</strong> aplicación (los parámetros <strong>de</strong> red, la durabilidad, niveles, etc). <strong>La</strong><br />
figura A.1 muestra la arquitectura <strong>de</strong> un nodo en OpenSplice DDS.<br />
1 Nodo conectada a la red que proporciona servicios y solicita servicios <strong>de</strong> otros.