• No se han encontrado resultados

3. SISTEMA MULTIAGENTE PARA CONTROL DE LA TORRE DE

3.3 SISTEMA MULTIAGENTE

Muchos sistemas multiagente surgidos de la investigación académica se basan en la instalación de la Máquina Virtual de Java (MVJ). Esto permite a los diseñadores

emplear las bibliotecas de JADE [84], de AgentBuilder [201] o los Agelets [202] sin tener que preocuparse por la plataforma de software sobre la que se ejecuta el agente. No obstante, al escoger una u otra herramienta de desarrollo se compromete al proyecto con un entorno de desarrollo que eventualmente continuará evolucionando como resultado de los avances y los resultados de las investigaciones en curso sobre esta tecnología.

Por otro lado los sistemas multiagente comerciales y académicos requieren un agente facilitador, que en este desarrollo se omitirá. El agente facilitador o “Facilitador de Directorio” (DF en inglés) [1], [55], [57], [70], [111], [191], mantiene un registro de los agentes activos en el entorno. Además de dirigir los mensajes entre los agentes activos, cuando un agente se crea, inmediatamente se registra con el DF; asimismo cuando termina le avisa que se retira del entorno. No obstante, esto mismo hace el SO con los procesos de cómputo activos. La razón por la que los sistemas multiagente utilizan el DF es la diversidad de agentes y lenguajes que cada uno puede manejar, sin embargo los agentes de esta tesis tienen las mismas características en todos los sentidos dado que son instancias de la misma clase. La desventaja que tiene el uso de un DF para controlar

61

la mensajería entre los agentes es que si el DF falla, los demás agentes quedan incomunicados. Por esa razón en el diseño del sistema de agentes el DF será omitido.

Dado que esta tesis tiene por objetivo la aplicación de esta tecnología en forma experimental para determinar sus prestaciones en control de procesos, los agentes desarrollados siguen los estándares y los principios de diseño establecidos por FIPA [196], pero están codificados en lenguaje C++ dada su universalidad, sus características de herencia y reutilización del software ya desarrollado, propiedades que lo hacen en cierta medida inmune a la obsolescencia. Eventualmente los hallazgos y desarrollos alcanzados en este trabajo pueden implantarse en un sistema real migrando el código C++ al lenguaje más apropiado para la aplicación en turno, que muy probablemente sea Java por lo que sólo serían necesarias algunas adecuaciones.

Debido a que ya se cuenta con software diseñado específicamente para simulación de modelos de procesos industriales para el SOW, se puede adaptar la tecnología de agentes a lo ya hecho, no sólo para aprovecharlo, sino para beneficiarse de los recursos que ofrece esta plataforma. La manera en que esto puede hacerse es considerando que este SO es multitarea; es decir, varios programas ejecutándose al mismo tiempo, característica que permite emular lo que en JADE es el “contenedor”, el “hábitat” de los agentes, el cual se basa en la MVJ.

La ventaja que ofrece la MVJ es que los agentes móviles pueden viajar de un sistema de cómputo a otro sin importar que el sistema operativo sea Windows, Unix, Linux, Macintosh o cualquier otro. El contenedor permite visualizar a los agentes activos y les provee los recursos que necesiten para funcionar y comunicarse. Esto mismo puede hacerse con el SOW sin necesitar grandes adaptaciones. Asimismo, los tipos de agentes pueden ser muy diversos y sus tareas muy variadas aunque la mayoría de los desarrollos actuales están más relacionados con el comercio y servicios de Internet [73], [74].

Dada la estructura del proceso por controlar, se contempla que las tareas de los agentes y sus posiciones en la estrategia de control quedan definidas por las variables que se le asignan a cada uno. Por ello los agentes no necesitan viajar en la red del sistema de control. Por lo que la simulación del sistema multiagente utiliza el mismo SOW como el contenedor en el que pueden convivir los diferentes agentes de control y el modelo del proceso. La integración del sistema multiagente se realiza mediante las comunicaciones con los agentes remotos a través de una red ethernet que emularía la red del sistema de control.

62

A cada sección del proceso o conjunto de variables relacionadas de algún modo, se asocia un grupo de agentes, en el que cada elemento tiene asignada una VC. Pertenecer a un grupo le asigna una cadena de caracteres a un campo interno del agente que le permite diferenciar entre los agentes de otros grupos y los de su grupo, consecuentemente al líder de su grupo, además de las VD propias de la sección o de otras secciones.

Para estar presentes en el entorno, todos los agentes deben ser reconocidos por los demás y registrados en su “directorio de contactos” por su nombre y dirección de IP, (por ser descrito en la sección 3.4.11 Descripción de los Módulos). Así cada agente conoce al líder de su grupo y sabe cuántos más hay en el entorno, aún los que son remotos, el grupo al que cada uno pertenece y al líder de su grupo.

No obstante la organización jerárquica debida a la presencia de un líder, cada individuo es independiente para emprender sus acciones originando una organización heterárquica. Por ejemplo, en una planta real, el jefe de operación no tiene que decirle a cada operario lo que debe hacer, cada uno conoce su trabajo; no obstante, si surge una condición imprevista o anormal, el jefe de operación coordina las acciones de los operarios considerando principalmente la seguridad de la planta.

En condiciones normales de operación todos los agentes se organizan heterárquicamente; son iguales en el sentido jerárquico. Sin embargo, bajo condiciones anormales como condición de falla o ausencia de supervisión del operario, en la misma capa de control alguno de ellos puede convertirse en líder, lo que le da atributos para coordinar las acciones de control de los agentes de su grupo.

El liderazgo se logra con base en la prioridad de la VC que un agente tiene a cargo. Además de conocer a sus compañeros de grupo el agente sabe si puede ser el líder del grupo si la variable que controla es la de más alta prioridad. Un agente líder puede enviar comandos a los de su grupo para impedir que las variables que controlan afecten a su VC enviándoles un comando con el valor de PA para que mantengan sus variables en el valor que necesita para no ser afectado. Sin embargo, cuando dos agentes de diferentes grupos deben controlar variables que les afectan recíprocamente deben encontrar un punto de balance y coordinar sus acciones; si uno de ellos necesita ajustar su VC debe notificar al otro y viceversa, limitándose mutuamente en sus acciones. Esto se logra mediante mensajes que intercambian señalándose hasta dónde puede cada uno mover su VM. Esto también implica que un agente subordinado debe notificar a su líder si debe coordinarse con un agente de otro grupo para que el líder tome en cuenta ese límite, se adapte a él y en su caso el agente líder se lo notifique al operario. No obstante, cuando

63

una notificación de esta naturaleza no es reconocida por el usuario (tal vez porque está ausente), el agente se ajusta a sí mismo en el valor que si le es posible cumplir.

Como líder un agente puede darle comandos de PA a sus subordinados. Si alguno de ellos, por cualquier razón no puede cumplir el comando, se lo notifica a su líder mediante un mensaje de rechazo, el líder considera una combinación diferente para asumir la limitación y cambia el PA correspondiente a los demás agentes. Un operario puede asumir el papel de líder cuando no son muchos agentes, la persona puede coordinarlos como dispositivos independientes y cada agente tratará de cumplir su PA mientras las variables del entorno se lo permitan. Cuando las condiciones del entorno le impiden a un agente cumplir su PA, éste se lo notifica al operario quien deberá considerar otras opciones. El agente se da cuenta de que no puede lograr un PA cuando alcanza uno de los límites de su VM y no está en el PA indicado por el operario. Se considera que la región útil del desplazamiento de la válvula está entre el 10 y el 90 % aunque eso es subjetivo porque también depende del tipo de válvula que se emplee [36].

El liderazgo sólo puede alcanzarse como una asignación directa del usuario a través de la interfaz del agente, se prevé que el agente se vuelva líder cuando detecte inactividad en la consola de control o en su interfaz y permanezca así hasta que el usuario cambie ese estado de operación, aunque este es un rasgo más avanzado. Un agente que asume el liderazgo envía un mensaje a sus agentes subordinados y líderes de otros grupos a lo que sus subordinados deben responder una confirmación.

$ $ % & : ! -& & &' ! & ' 9 ##

Es muy difícil prever las fallas que pueden ocurrir durante la operación del proceso, en cambio las fallas que un agente puede presentar son previsibles; no obstante, se debe anticipar la posibilidad de que algunas fallas se combinen. Algunas fallas del proceso son detectadas y controladas por el sistema de protección relevando a los sistemas de control de sus funciones para obligar al proceso a parar. También existe el botón de “paro de emergencia” que puede pulsar un operario para detener la planta aun sin existir condiciones de falla, por ejemplo cuando está programado un paro de mantenimiento.

Desde la visión del agente, las fallas previsibles que pueden originarse en su entorno son las siguientes:

• Fallas del proceso

• De los instrumentos de medición o de control

64

• Uno o varios agentes

Las fallas que pueden surgir en el proceso deben dejarse al sistema de protección; de hecho, cuando la instrumentación de la planta detecta un mal funcionamiento del proceso los sistemas de control cualesquiera que sean quedan relegados de sus funciones. El sistema de protección cuenta con sus propios elementos finales, que en su mayoría son discretos, con los que ejecuta una secuencia de acciones para llevar el proceso lo antes posible a una condición segura.

El MAS de esta tesis está pensado para control de disturbios pequeños hasta moderados, no para tratar de controlar un proceso con alguna falla en su estructura, esto debido a la severidad con que opera.

Es importante considerar que el agente utiliza al dispositivo PID como interfaz con su VC y VM como se verá en la sección “3.4.9 Organización Interna del Agente”, además de que no lo utiliza como controlador sino como medio para ejercer sus acciones tal como lo hace un operador desde la consola de mando al poner el dispositivo en modo manual. Por otro lado las señales de las demás variables que el agente utiliza son tomadas del SCD. De modo que, sin considerar por el momento las fallas propias del agente, se prevén dos condiciones; la primera, es que la falla se produzca en los elementos de medición y control; la segunda es que la falla ocurra en los elementos que proveen la corriente de información al agente.

Cuando la falla se presenta en sus instrumentos de medición, el agente percibe la falla como una pérdida o ausencia de variaciones de la señal de CV lo cual también es detectado por el sistema de protección quien a su vez genera una alarma o un paro si la señal es crítica para la seguridad. Si la planta puede seguir operando aún sin dicha señal la condición de alarma es corregida y aunque en esta condición el agente no puede evaluar la desviación de su PA si puede seguir controlando ya que cuenta con el flujo de datos desde el SCD.

Esto mismo aplica cuando la falla se presenta en el elemento final de control, el agente percibe que sus acciones no tienen efecto cuando evalúa la desviación del PA, asimismo el sistema de protección emite una alarma o un paro en función de la criticidad de la VC. Claro que esta condición hará pertinente un paro de planta para sustituir la válvula dañada. No obstante, el agente debe notificar a su líder y los agentes a quienes la falla afecta que su variable quedará fija mientras tanto. De modo que los agentes afectados deberán considerar esta limitación así como el líder del grupo a su vez una configuración adecuada a esta condición.

65

Por el lado de las comunicaciones con el SCD, hay que considerar que si un agente pierde el flujo de datos a través de la red, queda incomunicado de su líder y del SCD, por lo que pierde la información para su máquina de inferencia. En un caso así, el agente deberá comportarse como control retroalimentado actuando con base en sus mediciones de la VC y accionando la VM.

Para el MAS en conjunto, una falla crítica es la ausencia de uno o varios agentes. Lo ideal es que la tecnología de software impida una situación así, tal como el desarrollo de los sistemas operativos y las actuales herramientas de software han ganado la confiabilidad para dejar la infinidad de variables del proceso bajo el control del SCD.

Considérese la condición de falla de un agente, el controlador que utiliza como interfaz con su VM y VC sólo queda en modo manual, lo cual da un margen de seguridad mayor que dejar exclusiva y directamente las variables al cuidado del agente. Para el operador bastaría con volver al modo automático, para los demás agentes esta condición se percibe como un agente que no contesta sus llamadas por lo que ahora tendrían que considerar que la VC del agente fallado sigue siendo una VD de cuyo efecto tienen que proteger a su VC sin depender de ayuda para atenuar sus efectos. Consecuentemente el líder de grupo debe considerar también que no cuenta con un agente que pueda ayudarle a controlar esa VD ahora y consecuentemente se necesita un reajuste en su estrategia para mantener estable a su VC lo más cerca posible de su PA.

Una condición así originaría una investigación sobre las razones por las que un agente falló, y un estudio del software para impedir que una condición así se repitiera, tal como ha ocurrido en el pasado con los sistemas que migraron de controles neumáticos a digitales, pero ese tema va más allá del alcance de este trabajo. Lo que se requiere para alcanzar un sistema de control seguro, es iterar exhaustivamente en pruebas de desempeño de esta tecnología en procesos simulados a fin de evaluar los puntos de donde pueden surgir fallas. Tal vez hasta el momento en que la tecnología de software aplicada a la tecnología de agentes alcance los estándares de seguridad que hoy en día tienen los sistemas de control digital, los agentes logren tener presencia en la industria petroquímica y de refinación del petróleo.

Documento similar