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.
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.