Abstract—Expert Systems are tools used when it is required to
take decisions, since they have artificial intelligence and humanlike
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 paper presents a Middleware
architecture that allows to add to an Expert System the following
capabilities: scalability, high availability and fault tolerance. The
Middleware 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 Middleware encapsulates the communication mechanisms of
the distributed system and saves the user from having to deal
with this layer. In this proposal the Middleware 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.