Resumen: Durante los últimos años, debido al enorme desarrollo de los dispositivos electrónicos, la capacidad para generar datos ha aumentado significativamente, lo que ha dado como resultado la producción de una amplia variedad de información. Los sistemas de computación de datos necesitan adaptarse a esta nueva ola creciente, para ello es necesario cambiar de un paradigma tradicional centralizado a uno descentralizado. Esto resolvería el principal problema de los sistemas actuales, su escalabilidad, pero generaría otros problemas típicos del paradigma distribuido debido a la escasa investigación en este campo durante las últimas décadas. En este Trabajo Final de Grado vamos a diseñar e implementar un sistema distribuido descentralizado, que explore cómo el paradigma de programación declarativo (en particular, los sistemas expertos, un tipo de inteligencia artificial que busca emular el comportamiento de un experto en su área de conocimiento) puede ayudar a construir sistemas distribuidos con mayor capacidad para auto adaptarse bajo condiciones de ejecución cambiantes. En general, en este contexto de gran generación de datos, las fuentes de datos o los nodos cercanos a ellas tienen baja capacidad de computación, mientras que los nodos con mayor capacidad están más alejados en la nube. Las aplicaciones que recopilan datos suelen tener asignados unos requisitos temporales para llevar a cabo el procesamiento asociado, que suele denominarse QoS de la aplicación. El problema consiste en decidir dónde deben procesarse esos datos, cumpliendo con esos requisitos de QoS. Para ello, los nodos que componen el sistema han de ser capaces de enviar datos a través de la red, conocer el estado de la red, y el estado de otros nodos que pueden procesar datos por él. Una vez los nodos tienen este conocimiento, son capaces de estimar el coste en tiempo del procesado de los datos, lo que les sirve para saber si están violando el QoS, y en caso de hacerlo buscar otra opción que sí lo cumpla. Es aquí donde entra el sistema experto. Comparamos sus decisiones con las de un sistema d e reglas estáticas (la forma tradicional de toma de decisiones) para comprobar si realmente puede aportar algo más de lo que aporta una solución a priori más sencilla. Tras recopilar datos de ambos tipos de decisiones sobre dos escenarios distintos durante veinticuatro horas, podemos concluir que los sistemas expertos poseen las cualidades necesarias para ser una alternativa válida y flexible en la implementación de soluciones bajo un paradigma distribuido.