Framework para manejo distribuido de sistemas expertos



Framework para manejo distribuido de sistemas expertos

Guillermo Alejandro Barrera Granados
 

Texto completo de la Tesis            Video del evento          

 



Resumen

 

Los sistemas expertos son herramientas utilizadas cuando se requiere tomar decisiones, ya que poseen inteligencia artficial y una capacidad de razonamiento parecida a la humana, necesitan conocimiento y experiencia de expertos humanos del área en donde serán utilizados. Los sistemas expertos sirven de apoyo a los expertos humanos encargados de controlar, monitorizar y administrar sistemas de diversa índole; cuando se utilizan como una herramientas auxiliares para monitorizar sistemas grandes o con una gran cantidad de eventos, deben ser capaces de escalar a medida que crecen los sistemas que supervisan. En esta tesis se presenta una arquitectura distribuida que permite añadir a un sistema experto las siguientes capacidades: escalabilidad, alta disponibilidad y tolerancia a fallas. La arquitectura distribuida está diseñada para distribuir los servicios del sistema entre múltiples instancias, asegurando que siempre exista una instancia que sea capaz sustituir a cualquier otra que ha fallado. De esta manera, un sistema experto puede tener algunas de las características de los sistemas distribuidos. La arquitectura propuesta encapsula los mecanismos de comunicación del sistema distribuido y evita que el usuario tenga que lidiar con esta capa. En esta propuesta la arquitectura distribuida se compone de TAO, que es una implementación de la especificación de CORBA para sistemas distribuidos, también incorpora la biblioteca Boost para permitir el trabajo concurrente en cada uno de los módulos del sistema y utiliza una interfaz del tipo REST para establecer la comunicacion con el usuario. El diseño de la arquitectura define el uso de una plataforma de distribución de archivos que tiene por objetivo permitir la distribución de información rápidamente desde las instancias de acceso a todas las instancias del tipo experto mediante una comunicación Multicast.

 

Abstract

Expert systems are tools used when it is required to take decisions, since they have artficial intelligence and human-like reasoning capacity, they need expertise and knowledge of human experts in the area where it will be used; they serve as support to the human experts to monitor and manage systems of various kinds. An expert system that is used as an auxiliary tool in large systems or with lots of events, needs to be able to scale as the supervised system grows. This thesis presents a distributed architecture that allows to add to an expert system the following capabilities: scalability, high availability and fault tolerance. The distributed architecture is designed to distribute the services of the system among multiple instances, ensuring that there is always an instance that can replace any other failed. In this way, an expert system could have some features of the distributed systems. The proposed architecture encapsulates the communication mechanisms of the distributed system and saves the user from having to deal with this layer. In this proposal the distributed architecture is composed of TAO, which is an implementation of the CORBA specification for distributed systems, also incorporates the Boost library to enable a concurrent work on each of the modules of the system and uses an interface type REST to establish communication with the user. The design of the architecture de nes the use of a platform for distribution of files which aims to enable distribute information quickly from access instances to all the experts instances using a Multicast communication.