1 research outputs found
Diseño e implementación de estrategias de auto-optimización y autoadaptación para sistemas distribuidos a gran escala
Large scale distributed software systems are complex systems that need to be
able to adapt to a highly dynamic environment and changing user needs. In
this context, the main objective of this project is the development of new selfadaptive
strategies, along with the methodologies and tools required for their
analysis and design. In this work, we design and implement a self-adaptive
architecture inspired by IBM's Monitor-Analyze-Plan-Act over a Knowledge
base architecture, and we develop new self-adaptive strategies specific for
wireless sensor networks following a methodology borrowed from control
engineering.
More in detail, we start this work by designing in UML a software library for
the development of self-adaptive capabilities, which will be implemented as a
Java package. After that, we model two distributed software systems using an
actor oriented approach in Ptolemy II. Next, we develop the self-adaptive
strategies based on fuzzy inference systems and introduce them in the models
as new actors. Finally, we are able to execute a simulation of the system,
which allows us to perform an automatic optimization of the parameters of the
sytem with the cross-entropy method and to test the suitability of the designed
strategies.
Based on the simulation results, we have assessed the good results yielded by
the strategies and the potential of the modeling tool for the design and
simulation of distributed software systems. But more importantly, this work
demonstrates the usefulness of a control engineering approach to solve
problems related to the dynamic behavior of software systems.Los sistemas distribuidos a gran escala son sistemas complejos que necesitan
adaptarse a un entorno altamente dinámico y a las distintas necesidades del
usuario. En este contexto, el objetivo principal de este proyecto es el
desarrollo de nuevas estrategias de auto-adaptación, a la vez que las
metodologías y herramientas necesarias para su análisis y diseño. En este
trabajo, diseñamos e implementamos una arquitectura para capacidades autoadaptativas
en sistemas software insipirada en la arquitectura Monitor-
Analyze-Plan-Act over a Knowledge base de IBM, y desarrollamos nuevas
estrategias de auto-adaptación específicas para redes de sensores
inhalámbricas siguiendo una metodología tomada de la ingeniería de control.
Más concretamente, comenzamos este trabajo diseñando en UML una librería
software para el desarrollo de capacidades auto-adaptativas, que luego
implementamos como un paquete Java. A continuación, modelamos dos
sistemas distribuidos usando un enfoque orientado a actores en Ptolemy II.
Posteriormente, desarrollamos estrategias auto-adaptativas basadas en
sistemas de inferencia difusa y las insertamos en los modelos como nuevos
actores. Finalmente, ejecutamos varias simulaciones del sistema, lo cual nos
permite realizar una optimización automática de los parámetros del sistema
mediante el uso del método de entropía cruzada y, además, probar el
desempeño de las estrategias diseñadas.
Basándonos en los resultados de estas simulaciones, hemos podido comprobar
los buenos resultados que ofrecen las estrategias de auto-adaptación
implementadas y el potencial de la herramienta de modelado para el diseño y
la simulación de sistemas distribuidos. Pero lo más importante es que este
trabajo demuestra la utilidad de enfocar desde la ingeniería de control la
resolución de problemas relacionados con el comportamiento dinámico de
sistemas software