23.04.2015 Views

Grupo ARCO - Universidad de Castilla-La Mancha

Grupo ARCO - Universidad de Castilla-La Mancha

Grupo ARCO - Universidad de Castilla-La Mancha

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

5. DESARROLLO DEL PROYECTO 36<br />

En en listado 5.3 se muestran el slice que contiene las interfaces <strong>de</strong>finidas hasta el momento.<br />

module DDS {<br />

interface Topic<br />

Object∗ subscribeAndGetPublisher(Object∗ subscriber);<br />

Object∗ getPublisher();<br />

};<br />

}<br />

interface TopicManager {<br />

Topic∗ createTopic(string name);<br />

};<br />

Listado 5.3: SLICE para el mo<strong>de</strong>lo <strong>de</strong> comunicaciones DDS con ZeroC Ice<br />

5.4.2. Filtrado <strong>de</strong> eventos a nivel <strong>de</strong> canal<br />

Análisis y diseño<br />

Se tiene que contar con un procedimiento para crear canales en los que se limita el tráfico<br />

<strong>de</strong> los datos que no cumplan ciertos requisitos. De este modo se reduce el tráfico <strong>de</strong> datos en<br />

un canal, pudiendo repartirse entre diferentes canales.<br />

<strong>La</strong> implantación <strong>de</strong> un mo<strong>de</strong>lo como este en el proyecto Elcano sería una mejor solución<br />

<strong>de</strong>bido a la gran cantidad <strong>de</strong> información a incluir en los eventos <strong>de</strong> localización. Por ello, los<br />

datos que se manejarán para la comunicación entre suscriptores y publicadores serán eventos<br />

<strong>de</strong> localización <strong>de</strong> Elcano. Estos tipos vienen <strong>de</strong>finidos en el apartado C.1 <strong>de</strong>l apéndice C. Se<br />

realizará un filtrado teniendo en cuenta las coor<strong>de</strong>nadas <strong>de</strong>l mapa don<strong>de</strong> se sitúa el usuario y<br />

<strong>de</strong> este modo po<strong>de</strong>r indicar filtros especificando <strong>de</strong>terminadas áreas. Por ello, los eventos <strong>de</strong><br />

localización serán <strong>de</strong>l tipo MLP.Coord.<br />

Un obstáculo que se plantea es el conocer los tipos <strong>de</strong> datos que son enviados. Al canal<br />

llegarán un conjunto <strong>de</strong> bytes que <strong>de</strong>berán ser transformados en el dato real que envió el<br />

publicador. Para que esto se pueda llevar a cabo, en la creación <strong>de</strong> un canal con filtro se<br />

incluirá una <strong>de</strong>finición <strong>de</strong>l dato que se va a manejar en el canal.<br />

Implementación<br />

<strong>La</strong>s pruebas realizadas para la comprobación y validación <strong>de</strong> esta característica conducen<br />

a la necesidad <strong>de</strong> la creación <strong>de</strong> los siguientes elementos:<br />

Filter<br />

El tipo para los filtros es una secuencia <strong>de</strong> ca<strong>de</strong>nas (listado 5.4). <strong>La</strong> <strong>de</strong>cisión <strong>de</strong> la<br />

especificación <strong>de</strong> los filtros con una ca<strong>de</strong>na es <strong>de</strong>bida a la posibilidad <strong>de</strong> indicar gran<br />

cantidad <strong>de</strong> filtros diferentes sin necesidad <strong>de</strong> crear objetos específicos.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!