6. Conclusiones y desarrollo futuro

Anuncio
Arquitectura de Fault Tolerance System distribuido entre UAVs
6. Conclusiones y desarrollo futuro
La idea original que motivó el presente Proyecto Fin de Carrera, es crear una
arquitectura para los sistemas de tolerancia de fallos, para ello no solo se ha creado
nuevo software si no que se ha reutilizado de manera eficiente software ya
implementado. Para refutar la buena arquitectura del proyecto se ha modificado y se ha
hecho uso de una aplicación de simulación. Además se ha implementado un modelo en
capas.
Para este proyecto, ha sido necesario fortalecer las habilidades de investigación,
enfocada en el mundo aeronáutico, y más especialmente en los sistemas de control de
vuelo en los UAV. Este conocimiento al no ser adquirido en la carrera, ha sido
asimilado y absorbido durante la comprensión y desarrollo del actual proyecto.
El diseño base del proyecto ha sido llevado a cabo sentando las bases del conocimiento
adquirido durante la carrera. Este diseño se basa en los diagramas de clases, de estados
y de comunicación. Este conocimiento está encuadrado en la ingeniería del software, en
el cual se ha llevado a cabo un análisis de requisitos, diseño de la arquitectura e
implementación.
Aunque el diseño base dista del diseño final debido a la filosofía TDD de arquitectura
emergente, ha sido necesario partir de tal diseño base. Este diseño es de alto nivel, de
manera que es desarrollado bajo una perspectiva top-to-bottom. Este diseño se lleva a
cabo para tener una idea de que es lo que se necesita y luego, como ya se ha dicho
previamente, se hace uso de TDD con una perspectiva bottom-to-top para que vaya
emergiendo la arquitectura real del sistema.
En cuanto al desarrollo software, el uso de metodologías ágiles ha permitido entrar en
contacto con una faceta desconocida anteriormente y que ha cambiado el enfoque de
trabajo de una manera positiva. Herramientas tales como Test Driven Development,
integración continua, revisión de versiones, Scrum, historias de usuario, etcétera, todas
relacionadas entre sí, introducen en los sistemas desarrollados flexibilidad,
adaptabilidad, productividad, mayor rapidez y calidad en el código, etc.
Por otra parte, el TDD tiene una estrecha relación con el buen diseño orientado a
objetos y por tanto, con los principios S.O.L.I.D. Estos principios y algunos patrones de
diseño también se han ido conociendo durante la realización del proyecto, tomando en
consideración lo complicado de llevar a cabo el TDD y el buen diseño.
No obstante, los mayores beneficios de este proyecto han sido tanto los nuevos
conocimientos adquiridos sobre el desarrollo software ágil y el desarrollo de sistemas
librería-servicio en tiempo real así como los vinculados a la comprensión del
funcionamiento de la monitorización de entidades móviles.
144
Arquitectura de Fault Tolerance System distribuido entre UAVs
Además del desarrollo software de la arquitectura, se ha aplicado ciertas garantías de
calidad y de normativa ISO. Se ha llevado a cabo la vigilancia tecnológica
correspondiente y se ha desarrollado el DAFO respectivo tanto del proyecto como del
equipo. Para un mayor rendimiento del trabajo y del tiempo, la gestión de proyecto se
encarga de la eficiencia de este, y del control en general.
Este proyecto provee la arquitectura para el sistema de tolerancia de fallos que es
implementado por los colaboradores de la Universidad de Sevilla. En este sentido este
proyecto abre la puerta para el subproyecto Fault Tolerance System que se encuadra
dentro del gran proyecto europeo EC-SAFEMOBIL, siendo esta arquitectura en cierta
medida reutilizable tanto dentro de EC-SAFEMOBIL como en el departamento de
Simulación y Software.
Por último, se quiere mencionar que este proyecto no habría sido posible sin la
infraestructura proporcionada por el Centro Avanzado de Tecnologías Aeroespaciales.
Desarrollo futuro
En este capítulo, se describen de forma breve las posibles líneas de trabajo futuras o
desarrollo futuro de la arquitectura de sistema de tolerancia de fallos. Estas mejoras ya
vislumbraban a lo largo de este documento.
1. Como primera línea de trabajo es el propio desarrollo del algoritmo de
detección y corrección de errores para que pueda llegar a funcionar
enmarcado en la arquitectura desarrollada. Esta arquitectura en si carece
de sentido sin el sistema Fault Tolerance sin desarrollar.
2. Otra posible línea de trabajo se refiere a la ampliación de la arquitectura
para que pueda admitir más entidades, tanto móviles como posibles
estaciones.
3. Aunque, como ya es dicho previamente, se ha conseguido una alta
escalabilidad, un posible desarrollo futuro puede ceñirse a la
reestructuración de la arquitectura para que llegue a ser 100 % escalable.
145
Arquitectura de Fault Tolerance System distribuido entre UAVs
146
Descargar