You are on page 1of 6

COMUNICACIN BASADA EN XML UTILIZADA EN LA AUTOMATIZACIN DE UN SISTEMA INDUSTRIAL DISTRIBUIDO

Ral Simarro Fernndez Departamento de Ingeniera de Sistemas y Automtica, rausifer@upvnet.upv.es Pedro Jorquera Hervs Departamento de Sistemas Informticos y Computacin, pedjorhe@inf.upv.es Jos Luis Poza Lujn Departamento de Informtica de Sistemas y Computadoras, jopolu@disca.upv.es Carlos Ricolfe Viala Departamento de Ingeniera de Sistemas y Automtica, cricolfe@isa.upv.es Jos Enrique Sim Ten Departamento de Informtica de Sistemas y Computadoras, jsimo@disca.upv.es Universidad Politcnica de Valencia Camino de Vera s/n 46022 Valencia

Resumen
La automatizacin de sistemas industriales distribuidos, como en el caso de una terminal de contenedores, es un problema complejo. La gestin de estos sistemas debe estar orientada, no solo a la administracin de los subsistemas, sino tambin a la optimizacin de los procesos implicados. Los sistemas multi-agente proporcionan una visin prctica y comprensible, a nivel conceptual, del problema y la posibilidad de obtener una solucin eficiente del mismo. Debido a los roles que adquieren los agentes a lo largo de su vida, la comunicacin entre ellos se hace ms compleja en lo que se refiere a proporcionar una sintaxis que d lugar a un entendimiento semntico del mensaje intercambiado. Los sistemas industriales distribuidos presentan grandes problemas debido a la heterogeneidad de las plataformas empleadas y a la escalabilidad del mismo. El uso de XML en el intercambio de informacin dentro del sistema proporciona una solucin adecuada a estos problemas.

en la terminal y planificar a las mquinas que deben manipularlo y ubicar al mismo en la posicin asignada. De la misma forma, en las salidas de contenedores se deben asignar los recursos necesarios y las operaciones a realizar. Para dar un orden de magnitud al problema, basta con dar unos datos de las caractersticas de este tipo de industrias. En concreto la terminal Martima Valenciana S.A. en la cual se est llevando a cabo la automatizacin: 1.200.000 m2 de rea total de la terminal. Capacidad para 50.000 TEUs (unidad de capacidad de contenedores que corresponde al volumen de un contenedor equivalente de 20 pies, es decir, 6.096 metros). Una media de 2.500 movimientos diarios de contenedores y 400.000 movimientos diarios de mquinas.

1.1 SIMULACIN DEL SISTEMA El problema de la automatizacin de este tipo de industrias es muy difcil de resolver analticamente a partir de modelos matemticos de la terminal, debido a la gran variedad de variables involucradas. Por ello se ha optado por la utilizacin de un lenguaje de simulacin de eventos discretos [1]. El simulador permite realizar las pruebas del ciclo de vida del software (verificacin, validacin, integracin y revisin) as como probar distintas polticas de planificacin y gestin de las aplicaciones implicadas en la automatizacin de la terminal [8].

Palabras Clave: XML, automatizacin industrial, terminal de contenedores, comunicacin distribuida.

INTRODUCCIN

Una terminal martima se puede modelar como un gran almacn de contenedores organizados en una matriz de calles, pilas, andanas y alturas, con la particularidad de que en este almacn cada contenedor tiene unas caractersticas nicas. Cuando llega un contenedor se le debe asignar una posicin

1.2 ACCESO A LA INFORMACIN La informacin de la situacin de los contenedores, de las mquinas, buques y movimientos realizados en la terminal se encuentran organizados en tablas en una base de datos en la cual los agentes implicados en la ubicacin de contenedores, gestin de maquinaria y agentes de puertas, actualizan y leen para tener informacin de la situacin de la terminal en tiempo real. Algunos agentes, como los de ubicacin de contenedores y gestin de maquinaria, necesitan que la base de datos est en todo momento actualizada al realizar una consulta, debido a que la toma de decisiones se hace en funcin de la situacin de la terminal. Por tanto, la base de datos es el nico medio que tienen las aplicaciones para conocer el estado de la terminal. Debido a que los cambios en el estado de la terminal han de ser notificados a los agentes del sistema, la modificacin en la base de datos producida por estos cambios en el estado dispara triggers, los cuales envan mensajes con informacin relevante acerca del cambio del estado a las aplicaciones que precisan de esa informacin. Asimismo, el paso de informacin entre agentes se produce de forma continua. Desde la llegada de un contenedor a la terminal, movimiento de mquinas y salida del mismo, se debe conocer en todo momento tanto su situacin como su estado. Esto requiere necesariamente de un proceso de paso de mensajes entre los agentes implicados y de actualizacin del estado en la base de datos. La solucin desarrollada se ha denominado GAMA (Gestin Automtica de una terminal Martima de contenedores). GAMA implementa un sistema de automatizacin global de la terminal. El sistema determina y planifica en tiempo real las actuaciones necesarias para la mejor explotacin, ubicacin de contenedores, gestin de puertas, planificacin de la estiba, gestin de mquinas y otras tareas, a partir de la configuracin fsica de la terminal y las necesidades y recursos disponibles en cada momento. Con el objetivo de abordar el diseo de la arquitectura, el sistema se ha dividido en funcin de sus diferentes tareas. Para ello, se ha desarrollado un agente para cada una de las tareas principales. Los agentes efectan su tarea de manera independiente al resto de elementos del sistema, pero para ello debern coordinarse y comunicar sus decisiones [3].

con la base de datos, con algunas particularidades inherentes al sistema.

2.1

SOPORTE A LA HETEROGENEIDAD

El problema de acceso a la informacin de la base de datos esta resuelto actualmente por medio de una conexin remota ODBC a un sistema AS/400. Este sistema hace que slo puedan acceder a la informacin aplicaciones basadas en Windows. Para poder interconectar todas las partes del sistema se utilizan pasarelas y canales de comunicacin dedicados que trasladan la informacin de un punto a otro. Se tiene, por tanto, un sistema altamente interconectado de difcil acceso desde plataformas que no soporten ODBC. El uso de una interfaz de adquisicin de datos que utilice canales y protocolos de comunicacin estndar como HTTP y XML hace que sea ms sencilla la integracin de agentes multiplataforma. Esta implementacin se describe en el punto 3. 2.2 ESCALABILIDAD

Debido al problema de heterogeneidad de plataformas, lenguajes utilizados para crear aplicaciones, pasarelas, canales de comunicacin y mtodos de codificacin de la informacin se hace patente que el problema de crecimiento del sistema es crtico. Un sistema de estas caractersticas necesita de la uniformidad tanto del formato de datos como de los sistemas de comunicacin para la obtencin y procesamiento de los mismos utilizando protocolos, canales y lenguajes de codificacin estndar. XML ofrece el soporte necesario para poder solucionar este problema. La solucin se describe en el punto 4.

3
3.1

HETEROGENEIDAD
MODELO DE TRES CAPAS

La arquitectura de sistema que se propone para dar soporte a la multiplataforma est basada en el diseo en tres capas [4]. Este diseo est dividido en los siguientes niveles (figura 1): Acceso a Datos: El nivel de servicio de datos es responsable de almacenar, recuperar, mantener asegurar la integridad de los datos. Tambin es responsable de disparar eventos asociados a modificacin, borrado, insercin de datos, etc. el y el la

PROBLEMTICA DEL SISTEMA

Los entornos industriales distribuidos, como el que se analiza en este artculo, presentan unas necesidades de adquisicin de datos e intercambio de mensajes

Reglas de negocio: Los servicios de negocios son el puente entre un usuario y los servicios de datos.

Esto asla al usuario de la interaccin directa con la base de datos. Como las reglas de negocio tienden a cambiar muy frecuentemente, son candidatos ideales para encapsularlas en agentes que estn separados de la lgica de la aplicacin en s. Presentacin: Engloba las aplicaciones consumidoras de informacin obtenida de la base de datos mediante protocolos de internet/Intranet cmo HTTP y estndares de intercambio de informacin cmo XML. Los servicios de presentacin proporcionan la interfaz necesaria para mostrar informacin y reunir datos. La capa de presentacin tambin asegura los servicios de negocios necesarios para ofrecer las capacidades de transacciones requeridas e integrar al usuario con la aplicacin para ejecutar un proceso de negocios. Esta capa tambin es responsable de obtener informacin del usuario, enviar la informacin del usuario a los servicios de negocios para su procesamiento, recibir los resultados del procesamiento de los servicios de negocios y presentar estos resultados al usuario.
Triggers XML

Contenedores, mquinas, buques.

Capa de acceso a datos

AS/400
JNI

Servlet Servlet

JDBC

Thread d rea Th

Tomcat Servlet Container

JNI XML

Apache HTTP Server


XML

Generacin de XML

Comunicacin HTTP/HTTPS estndar


Get/Post Get/Post Get/Post Get/Post Get/Post

XML

XML

XML

XML

XML

Get/Post

Navegador
XML

Ubicador
XML

Simulador
XML

Gestin Mquinas
XML

SMES
XML

Intranet Internet

SC (eventos del sistema)


Capa de lgica del sistema Monitorizacin del sistema via web

Figura 2. Implementacin del sistema GAMA mediante XML Tal como se describe en la figura 3, las aplicaciones de la capa de presentacin sustituyen las instrucciones de solicitud de datos desde la base de datos:
Antes:
CRecordset recordset = ExecuteQuery(SELECT * FROM BBASICO WHERE BPTODES=VLC);

Ahora:
CDocXML xml = Get(http://dataserver/contenedores?puerto=VLC);

Figura 3 Variacin de la interfaz de la capa de presentacin para la obtencin de datos. La forma de obtener informacin de la base de datos implica la invocacin de un mtodo en un agente de servicio de datos de forma estndar e independiente de la plataforma. En el entorno desarrollado mediante el diseo en tres capas el paso de informacin entre las distintas plataformas ya no es dependiente de las mismas.

Figura 1. Diseo en tres capas. 3.2 IMPLEMENTACION

Las soluciones de conectividad a bases de datos, que tradicionalmente son utilizadas en los sistemas de informacin, no resuelven eficientemente los problemas de heterogeneidad y escalabilidad ante los que se encuentran los sistemas industriales altamente distribuidos. El sistema propone utilizar un desarrollo en tres capas basado en protocolos estndar y codificando toda la informacin utilizando el estndar XML. Esto permite interconectar fcilmente distintas partes del sistema heterogneo y escalarlo en el futuro de forma sencilla. El sistema presenta, por tanto, una nica capa de acceso a los datos utilizando para ello la capa de lgica de negocio, constituida por un conjunto de servicios basados en XML de adquisicin de datos. Estos servicios basados en XML que acceden utilizando JDBC a la capa de datos y devuelven los mismos confeccionando documentos XML que son distribuidos a la capa de presentacin mediante un interfaz HTTP/HTTPS.

ESCALABILIDAD

Durante el ciclo de vida de la informacin, sta pasa por numerosas fases en las que intervienen diversos agentes (figura 4). Las tareas involucradas en el ciclo de vida hacen que la informacin no slo deba estar disponible, sino que tambin sea posible tratarla [5].
Generacin Almacenamiento

Aplicacin de formato interno

Procesamiento

Distribucin (envio)

Adquisicin (recepcin)

Figura 4. Ciclo de vida de la informacin

XML

Get/Post

C J DB JDBC

Servlet

Thr

ead

Una buena gestin de la informacin depende de muchos factores. Tales como la calidad de la informacin que determinar su utilidad, y la calidad y cantidad de los procesos que se pueden construir a su alrededor. La informacin puede considerarse de calidad si cumple con ciertos requisitos: disponibilidad de enlaces a la informacin deseada (accesibilidad), informacin de gran riqueza (relevancia) o capacidad de ser procesada. La precisin, fiabilidad, rapidez en la obtencin y, por tanto, el coste de la informacin y la inferencia de los datos relevantes de la misma, son tambin factores importantes para una correcta gestin de la informacin. Aunque la gestin de la informacin se pueda hacer de muchas formas, no siempre se realiza de la manera ms adecuada. Las herramientas, los formatos y los procesos empleados, no necesariamente son los ms apropiados ni, consecuentemente, los ms eficaces. 4.1 FORMATO ORIENTADO A CAMPOS

siempre que sta conozca a la perfeccin toda la informacin acerca de la estructura del mensaje. Sin embargo los inconvenientes que supone tener este tipo de mensaje son muchos, entre ellos se pueden citar la nula flexibilidad y escalabilidad que ofrecen al sistema, ya que variaciones del formato implica variaciones en el tratamiento del mensaje (no de la informacin que contiene). Esta falta de flexibilidad produce una gran influencia entre campos. 4.2 FORMATO ORIENTADO A MARCAS

La problemtica que surge de la utilizacin de formatos de mensajes basados en campos ha hecho que se deban estudiar y analizar alternativas en cuanto a la composicin del mensaje y estructura del mismo se refiere. Una de las corrientes que ms fuerza est tomando actualmente es el empleo del estndar XML como lenguaje de comunicacin, al llevar incorporado el mensaje, tanto la sintaxis como la semntica [2].
tipo a info. a tipo b info. b Campo 2

Anteriormente, los mensajes que se transferan entre s las aplicaciones, estaban estructurados en un formato interno dependiente de la aplicacin (figura 5), o lo que es lo mismo, cada aplicacin implicada en una accin en la que intervena un mensaje deba conocer la sintaxis interna del mismo. Los mensajes estaban estructurados en campos, estos campos tenan un formato definido previamente, por lo que variaciones en la estructura del mensaje, implicaba variaciones en cualquier tipo de procesamiento que se haca del mismo.
tipo a tipo b tipo c

Campo 1

... ...
tipo a

tipo c

info. c

Campo i

info. a

Campo 1

info. b

Campo 2

tipo b

...
info. c Campo i tipo c

Figura 6. Mensaje orientado a marcas, y jerarqua correspondiente. El empleo de XML como lenguaje de marcas en el mensaje hace que los problemas con que se encuentra un sistema con mensajes basados en campos desaparezcan. Las ventajas son muchas, entre las cuales se pueden destacar el empleo de un formato de mensaje independiente de la aplicacin. Otra ventaja que se obtiene es la facilidad en el intercambio de datos entre aplicaciones de distinta tecnologa y diferente plataforma, lo que proporciona una mxima escalabilidad y una gran facilidad para la gestin de contenidos. Por medio de XML se puede interactuar con sistemas que no suelen estar relacionados con la documentacin, como las bases de datos. Sin embargo, es posible la aparicin de algunos inconvenientes, todos relacionados con el uso de las marcas y atributos. La transmisin de datos se hace ineficiente debido al aumento en el volumen de informacin transmitida. Tambin aparece una menor eficiencia en el procesamiento ya que se requiere de un proceso de traduccin. Este inconveniente es solucionable sin ms que utilizar un sistema de

Campo 1

Campo 2

...

Campo i

x bytes

y bytes

z bytes

Figura 5. Mensaje orientado a campos. Cada uno de los campos que componan un mensaje, tenan unas caractersticas concretas, tanto internas (tipo, longitud) como en relacin al mensaje en s (posicin). Esta informacin no estaba incluida en el mensaje (aunque un costossimo procesamiento del mismo la podra facilitar), por lo que tanto emisor como receptor del mismo, deban conocer todas estas caractersticas para poder tratarlo. El empleo de campos en los mensajes puede tener algunas ventajas como son la mxima eficiencia espacial y consecuentemente mxima eficiencia temporal en el transporte. Otra de las ventajas del empleo de un procesamiento secuencial, eficiente en el proceso del contenido por parte de la aplicacin,

compresin que minimice la cantidad de informacin enviada a travs de la red. 4.3 FORMATO EMPLEADO EN EL SISTEMA GAMA Los mensajes empleados anteriormente en el sistema estaban orientados a campos (figura 7). La necesidad de intercambiar mensajes cuando el sistema se ampla hace que se deba emplear un formato orientado estndar. Por medio de XML (figura 8) la codificacin del mensaje facilita la interpretacin del mismo por parte del receptor, de forma que aadir informacin adicional al mensaje, no afecta a las aplicaciones existentes que no precisen sta informacin aadida.
UBICAR1234567805130420VLC

(a)

Figura 7. Formato orientado a campos

(b) Figura 8. Formato orientado a marcas Es evidente que la mejora obtenida al emplear XML en el formato del mensaje proporciona un mecanismo de codificacin fcilmente procesable por parte de cualquier aplicacin y sobre cualquier plataforma, por lo que asegura la escalabilidad sin interferencias del sistema. Figura 7. Adquisicin de datos en XML, sin tratar (a), y tratados con XSL (b). 5.2 MENSAJES ENTRE APLICACIONES Mediante la utilizacin del simulador se ha llevado a cabo la validacin de los eventos de maquinaria, contenedores, y actualizacin de la base de datos utilizando mensajes codificados en XML, obteniendo un sistema en el cual se han eliminado los errores de sintaxis en el paso de mensajes entre agentes. Este punto es muy importante, debido a que cada agente del sistema distribuido ha sido implementado por un grupo de trabajo diferente, e incluso, utilizando herramientas de desarrollo distintas, lo que propiciaba, por tanto, una enorme cantidad de errores sintcticos. Gracias a los sistemas de validacin de sintaxis automtica que XML y, en concreto, los DTDs asociados a dichos mensajes, se ha implementado un sistema de comunicacin libre por completo de errores de interpretacin. Otra ventaja del uso de XML en los eventos es la posibilidad de enriquecimiento de la informacin del mensaje encaminado a un agente concreto, sin que esto afecte al resto del sistema que s atenda a dicho mensaje. Agradecimientos Este trabajo ha sido financiado por la CICYT y la Comisin Europea a travs del proyecto FEDERCICYT 1FD97-2158-C04-0x y por la empresa

IMPLEMENTACIN SISTEMA. CONCLUSIONES.

DEL

5.1 ACCESO A DATOS El sistema presentado en el apartado 3.2 ha sido implementado utilizando servlets Java que se conectan mediante JDBC a la base de datos de un sistema IBM AS/400. Esto nos ha permitido realizar conexiones estndar basadas en HTTP y que devuelven documentos XML hacia cualquier agente del sistema, independientemente de la plataforma sobre la que ste se haya desarrollado. En la figura 2 se observa cmo las aplicaciones obtienen la informacin XML utilizando URLs estndar y cmo, adems, esta informacin puede ser procesada mediante un lenguaje de transformacin de estilo XSL para darle aspecto HTML a las peticiones web realizadas a la base de datos (figura 9).

Martima Valenciana S.A. Queremos agradecer especialmente el apoyo suministrado por Eduardo Orellana e Ignacio Huet. Referencias [1] Banks J., Carson J., (1996) Discrete-event system simulation. Nelson. Prentice Hall. [2] Benjamin N., Labrou G. y Y., (1999) An Approach to using XML and Rule-Based Content Language with an Agent Communication Language. IBM Research Division. [3] De La Fuente, M., Figueroa J. M., Botti V. Ricolfe C. (2001) Arquitectura multi-agente para la gestin de operaciones terrestres en terminales de contendores. XXII Jornadas de Automtica, Bellaterra. [4] Gonzlez O. (2001) XML. Gua prctica para usuarios. Anaya Multimedia. [5] Gutirrez A., Martnez R. (2001) XML a travs de ejemplos. Ed. RA-MA. [6] Holgun, J. (1999) Optimal pricing service and space allocation in container ports. Transportation Research. [7] Kheir N.A. (1996) Systems Modelling and Computer Simulation. Marcel Dekker Inc., [8] Simarro R., Navarro J. L., (2001) Simulacin de una terminal martima de contenedores. Workshop en modelado y simulacin de sistemas. Bellaterra.

You might also like