Вы находитесь на странице: 1из 12

Date of publication xxxx 00, 0000, date of current version xxxx 00, 0000.

Digital Object Identifier 10.1109/ACCESS.2017.Doi Number

Modelado de Flujos de Trabajo Orientado a Agentes.


Caso de Estudio WADE (Workflows and Agents
Development Environment)
Maria Fernanda Revelo-Bautista1
1
Pontificia Universidad Católica del Ecuador, Sede Esmeraldas, Esmeraldas, Espejo y Subida a Santa Cruz 060101, Ecuador

Corresponding author: (e-mail: maria.revelo@ pucese.edu.ec).

RESUMEN

Este documento presenta la implementación de un caso de estudio completo de WADE que es una plataforma de software
para el desarrollo de aplicaciones distribuidas basadas en el paradigma orientado a los agentes y que aprovecha la metáfora
del flujo de trabajo para definir las lógicas del sistema. Para comprender y evaluar adecuadamente las ventajas de WADE se
ha implementado en esta plataforma un caso de estudio junto con WOLF (Workflow Life Cycle Management Environment)
que facilita la creación de agentes en WADE debido a que utiliza características visuales para diseñar los flujos de trabajo.
La puesta en marcha del caso de estudio en WADE tuvo algunos contratiempos tales como la falta de documentación
actualizada y bastante escasa para su instalación, configuración y uso de la herramienta y aciertos que luego de un trabajo
bastante extenso, se logro implementar un ejercicio completo en el que se comprobó la forma de utilización y modelamiento
de la herramienta. La experiencia con esta herramienta nos permitió afirmar que en aplicaciones pequeñas no es conveniente
su utilización por las distintas configuraciones y modelamiento de flujos de trabajo ya que se tiene que realizar un trabajo
bastante extenso.

INDEX TERMS Software Agent, Business Process Management, JADE, Workflow, WADE.

VOLUME XX, 2017 1


I. INTRODUCIÓN Para comprender y evaluar adecuadamente las ventajas
reales de la utilización de WADE, se ha implementado un
Los sistemas BPM (Business Process Management) caso de estudio con WOLF (Workflow Life cycle
disponibles son ahora un movimiento sólido con una rápida management environment) que facilita la creación de agentes
evolución y de manera más general, el uso de todo el en WADE debido a que utiliza características visuales para
espectro de tecnologías de agentes [1]. diseñar los flujos de trabajo empleados por los agentes jade
para cumplir sus objetivos [1]. El ejemplo desarrollado está
Además de su papel central en Artificial Inteligencia, como dividido en dos proyectos principales: Uno encargado de
lo afirma Newell [2], desde la creación del FIPA montar juguetes mediante un agente ensamblador y varios
(Fundación para los Agentes Físicos Inteligentes, ahora agentes buscadores, y otro Proyecto que ofrece componentes
Comité de Normalización del FIPA del IEEE) [3] se ha (piezas de juguetes) a los agentes buscadores mediante un
identificado las posibilidades que ofrecen las tecnologías de servicio web.
agentes en el diseño y la realización de sistemas
distribuidos dinámicos y descentralizados. Este documento esta organizado por sección. En la sección 2
hacemos una discusión de trabajos relacionados. En la
Normalmente, el conjunto de agentes que forman el sección 3 en lo concernite a materiales y métodos se describe
denominado MAS (Multi-Agent System) es muy dinámico a JADE como herramienta popular de código abierto que
y descentralizado, y la coordinación de las tareas de los facilita el desarrollo de sistemas multiagente interoperables
agentes no está integrada en una parte de un sistema [4], junto con WADE [8], [9] como una herramienta
especifico, sino que está distribuida dinámicamente en el innovadora que entrega BPM (Gestión de Procesos de
MAS y los agentes individuales tienen pleno control sobre Negocio) basado en agentes de una manera muy peculiar,
su comportamiento. donde se presenta una visión general y amplia de WADE y
destacamos algunas de sus características de WADE basada
Actualmente los agentes son una realidad madura en el en agentes; ademas se describe a la herramienta WOLF que
desarrollo de programas informáticos con notables éxitos sirve para realizar flujos de trabajo de manera visual.
[4], por lo que la promesa de las tecnologías de agentes con Luego, en la sección 4, realizamos una propuesta para la
respecto al BPM es proporcionar garantías sólidas de mayor construcción de un caso de estudio, en donde se describe los
dinamismo, agilidad y adaptabilidad [1]. elementos y su forma de trabajo. En la sección 5,
presentamos los resultados del caso de estudio utilizando
Lamentablemente, muchas barreras impiden una WADE.
explotación masiva de la tecnología de agentes, tanto en lo En particular, presentamos la puesta en marcha y ejecución
que respecta a las herramientas y metodologías de apoyo de WADE y WOLF para workflows. Y por ultimo, en la
como a la aceptación de sistemas de software que muestren Sección 6 las conclusiones del articulo.
un cierto grado de autonomía [5].

En particular, la tendencia que está combinando agentes,


workflows, redes y SOA (Arquitectura orientada a
servicios) parece ser muy prometedora [1]. En este ámbito,
nace WADE (Workflows and Agents Development
Environment) una plataforma de software para el desarrollo
de aplicaciones distribuidas basadas en el paradigma
orientado a los agentes y que aprovecha la metáfora del
flujo de trabajo para definir las lógicas del sistema [6].

WADE es una evolución de JADE, un popular marco de II. TRABAJOS RELACIONADOS


trabajo de código abierto para el desarrollo de sistemas
multiagente [7]. La plataforma WADE junto con sus distintas herramientas
El propósito de WADE es hacer más fácil la ejecución de que la forman parte han sido implementados en distintos
tareas definidas utilizando flujos de trabajo proporcionando ambitos. Como en el estudio de [1], se ha realizado su
una serie de mecanismos que ayudan a gestionar la aplicación en Telefonia permitiendo resultados funcionales
complejidad inherente de un sistema distribuido tanto en su implementación dando un entorno tolerante a fallos, alto
términos de administración como de tolerancia a fallos. rendimiento y escalabilidad, alta robustez, alto control y
mantenimiento.

VOLUME XX, 2017 9


incluidas las comunicaciones con los operadores de los
Desde el punto de vista industrial como propone [6], WADE laboratorios, también a través de plataformas móviles.
puede ser particularmente útil para desarrollar aplicaciones
con fuertes exigencias de rendimiento y escalabilidad y una En este documento se detalla un esfuerzo de investigación.
gran flexibilidad en la definición de la lógica de los sistemas. [29] en curso que busca proporcionar una visualización en
Los resultados fueron tan convincentes que Telecom Italia tiempo real de la cobertura de la red móvil mediante la
eligió JADE, WADE y WOLF como el middleware de orquestación de una variedad de fuentes de datos,
habilitación para una oferta SAAS (Software As A Service) simulaciones, técnicas de análisis de redes y modelos
para los clientes en los campos de la electricidad, el gas y el cognitivos.
agua [21]. Por lo que [7] menciona y describe varias
experiencias en la aplicación del mencionado enfoque a los Esta variedad de aplicaciones se ensambla en un flujo de
procesos operativos de Telecom Italia. trabajo a través de un marco de agentes inteligentes y se
utiliza para evaluar y mostrar la cobertura prevista para la
En la investigación de [22], los profesionales de la salud a misión en curso en un mapa de GoogleEarth, lo que permite
menudo requieren acceso instantáneo a información precisa a los participantes en la misión "ver" dónde comienza y
del paciente que puede estar dispersa sistemas dispares y termina la cobertura para su dispositivo.
geográficamente dispersos. Con este fin, la arquitectura del
sistema propuesto implementa un marco de mediación En la investigación de [11] presenta un ejemplo completo del
basado en el flujo de trabajo, construido sobre la tecnología uso de JADEL, relacionado con la conocida demostración
de los agentes, para proporcionar un entorno de sistema de del Meeting Scheduler de JADE. En la campo de la
información sanitaria interoperable que permite la computación [25], se utiliza WADE para implementar un
integración y acceso seguro a la información médica, sistema tolerante a fallos en la computación en grid, se puede
independientemente del lugar en que se encuentre. decir que entre todos los diseños de sistemas disponibles es
preferible un diseño de dieciséis sistemas de servidores para
En [26] se describe un modelo de información clínica manejar las solicitudes, el balanceo de carga y la tolerancia a
diseñado para que los sistemas de información sanitaria sean fallos.
adecuadamente interoperables y computables con seguridad,
basado en un enfoque de Inteligencia Evolutiva que genera La metodología de Prometheus [28], se utiliza para validar la
escenarios cuantificables a partir de conocimientos propuesta. La arquitectura de la instalación de objetos (MOF)
defectuosos. El modelo es una respuesta a una serie de se utiliza como un almacén en desarrollo de un editor de
requisitos, que van desde los semánticos hasta la evaluación MAS. Es una poderosa herramienta para diseñar
del rendimiento del softwar en tiempo de ejecución; es uno arquitecturas basadas en modelos (MDA) proporcionados
de los mayores desafíos de la ingeniería en la actualidad. por el Marco de Modelización Gráfica (GMF) se utilizan
para generar el editor gráfico. De esta manera, el código se
En el trabjao de [23] se ha utilizado el entorno WADE y se genera automáticamenteutilizando como entrada los modelos
ha desarrollado un sistema de supervisión de procesos especificados con el editor gráfico.
basado en múltiples agentes distribuidos llamado ENCORE.
Este esquema jerárquico se aplicó en el estudio de caso de la El caso de estudio valida el método de entrada en Practicar el
producción de gas natural en alta mar. Ademas, propone [24] desarrollo de un sistema de vigilancia de los agentes de la
una arquitectura de agentes BDI basada en una ontología. familia. El método propuesto por [30] se basa en técnicas de
redes Petri, sistemas holónicos y multiagentes y arquitectura
orientada a servicios, que también se han asociado de forma
cuasi automática a la generación de lenguajes de control y a
la búsqueda, despliegue y simulación de errores.

En el campo de la telefonia movil se ha realizado un La aplicación, que es un ejemplo, demuestra la eficacia del
desarrollo del complemento JADE para Android [4]. En la sistema de control de los resultados, como la autonomía,
investigación de [27], el sistema permitirá un seguimiento flexibility, la colaboración, la reutilización y la solidez.
más fácil de todas las transformaciones aplicadas a las Ademas de las aplicaciones anteriores no se ha encontrado
muestras analizadas, incluidas las virtuales (es decir, otro Proyecto comercial que utilice WADE, lo que nos lleva
digitales). La automatización será naturalmente mejorada: los a pensar que se extendido su utilización más hacia la
dispositivos físicos serán sometidos a un control directo investigación de la inteligencia artificial antes que ser una
realizado por agentes de software. De este modo, será posible herramienta de uso industrial.
la integración de sistemas e instrumentos heterogéneos,
III.  MATERIALES Y METODOS

VOLUME XX, 2017 9


A. JADE El componente principal de WADE es la clase agente
JADE (Java Agent DEvelopment framework, jade.tilab.com) “WorkflowEngineAgent” donde esta se va a extender de la
[10] es un marco de software que permite construir sistemas clase Agent básica de JADE y proporcionara métodos y
multiagente complejos y distribuidos. Con el JADE se herramientas para la ejecución de workflows mediante su
proporciona una amplia variedad de extensiones y APIs, y la programación en lenguaje Java [15]. WADE añade a JADE
documentación de las APIs del JADE es exhaustiva y clara. el apoyo para la ejecución de tareas definidas de acuerdo
JADE permite el uso de la tecnología de agentes en diversas con el flujo de trabajo y un número de mecanismos que
áreas, como las aplicaciones inteligentes de emergencia y la ayudan a gestionar la complejidad de la distribución tanto
localización [11]. en términos de administración como de tolerancia a las
fallas [9].
Actualmente se mantiene el JADE y en los últimos años se
han desarrollado algunos proyectos relacionados. En WADE puede ser visto como un agente orientado a motor
particular, WADE [5], [12] (Workflows y Agents de flujo de trabajo adecuado para ser usado para la
Development Environment) añade un motor ligero workflow orquestación de procesos de negocios [16] WADE añade a
a los agentes de JADE, apoyando así la gestión de procesos JADE la posibilidad de poder definir las tareas del agente
de negocio, y AMUSE [13] (Agentbased Multi-User Social según la metáfora del flujo de trabajo. Esta es una
Environment) se centra en juegos online multijugador arquitectura, de componentes y mecanismos adicionales
basados en Android. que facilitan la administración de una aplicación distribuida
basada en WADE.
Estas son algunas de las razones que hacen de JADE una de
las plataformas de agentes más completas y, por lo tanto, más Las aplicaciones basadas en el WADE pueden clasificarse
populares que cumplen con la FIPA. Aunque existe una en dos grandes categorías, la primera categoría sería la de
amplia y clara documentación de las API de JADE, los Aplicaciones simples de JADE donde algunas tareas de los
nuevos desarrolladores y estudiantes en el campo de agentes agentes denominados comportamientos se definen como
y sistemas multiagente pueden tener dificultades al acercarse flujos de trabajo y la segunda característica son las
a JADE. De hecho, los usuarios de JADE tienen que lidiar aplicaciones estructuradas de la arquitectura completa de
con muchos detalles técnicos complementarios que a veces WADE y por lo tanto son capaces de explotar todas las
se perciben como dificultades y que son confusos en cuanto a características de WADE. [17] Se pueden encontrar
las características orientadas a los agentes [11]. diferentes tipos de características de WADE entre ellas
podemos encontrar que en la arquitectura de la plataforma
Estas dificultades se deben al hecho de que JADE ha crecido WADE se distribuye en uno o varios sistemas huésped o
en complejidad y ahora tiene una curva de aprendizaje ”host”.
bastante amplia [11]. JADE permite a los usuarios tomar las
decisiones de diseño apropiadas para sus dominios de
aplicación específica, sin obligarlos a depender de un modelo
de agente, que conlleva a ser flexible y adapatable [10].

La desventaja de ese enfoque es que las características


orientadas al agente se han utilizado de muchas maneras
diferentes, lo que ha dado lugar a una pérdida de
transparencia del modelo de agente [11].

B. WADE Los Agentes WADE tienen algunos agentes específicos de


WADE (Workflow and Agent Development Environment) la plataforma [15], estos agentes son los siguientes:
es una plataforma independiente del dominio, construida 1) Runtime Allocation Agent (RAA)
sobre JADE [14], un middleware de código abierto para el Este se activará en el contenedor principal y se encargará de
desarrollo de aplicaciones distribuidas basadas en el manejar las colecciones de agentes (Agent Pools) y de
paradigma orientado a los agentes. La distribución de JADE gestionar fallos en la ejecución específicos de los agentes
incluye un entorno de ejecución, una biblioteca de clases que [15].
los programadores pueden utilizar para desarrollar su 2) Workflow Status Manager Agent (WSMA)
aplicación y algunas herramientas gráficas para fines de Se instancia en cualquier contenedor que necesite ejecutar
administración y supervisión. workflows y se encarga de supervisar su ejecución [15].

VOLUME XX, 2017 9


3) Event System Agent (ESA) WOLF (WOrkflow LiFe cycle management environment)
Se puede ejecutar en cualquier contenedor y se encarga de es el entorno de desarrollo gráfico para aplicaciones basadas
manejar el sistema de eventos de WADE para que los en WADE y se implementa como un plugin de Eclipse [18].
workflows puedan suspenderse en espera de cierto evento Permite la gestión de todo el ciclo de vida de los flujos de
concreto [15]. trabajo, utilizando un único entorno de desarrollo y
proporciona soporte para:
WADE no utiliza ningún estándar de definición de 1) Editar gráficamente los flujos de trabajo.
workflows formal. Esto se debe a que, para explotar toda la 2) Controlar una aplicación local o remota basada en WADE.
funcionalidad de eclipse y WOLF [18], los workflows se 3) Desplegar y ejecutar flujos de trabajo en la aplicación
defininen en Java siguiendo una serie de formalismos controlada.
propios de WADE. Algo muy importante de WADE es que
los agentes deben extender de la clase WadeAgentImpl en Este capítulo describe cómo gestionar proyectos basados en
lugar de jade.core.Agent, ya que estos permite registrar a WADE y cómo editar flujos de trabajo con el WOLF Editor.
los agentes automáticamente en el DF (Directory El Editor Gráfico de Flujo de Trabajo ofrece una vista gráfica
Facilitator), entre otras cosas que WADE hace, como por de una clase java que representa un flujo de trabajo. WOLF
ejemplo reiniciar agentes caídos o bloqueados permite a los desarrolladores cambiar entre la vista gráfica
automáticamente [15]. proporcionada por el Workflow Editor y la vista de código
proporcionada por el Eclipse Java Editor.
Los flujos de trabajo son a menudo utilizados para guiar el Por lo tanto, el Editor de Flujo de Trabajo está estrictamente
trabajo de las personas y a menudo somos testigos de flujos ligado al Editor de Java para garantizar la coherencia entre
de trabajo que sólo están destinados a interactuar con los las dos vistas.
usuarios del sistema BPM [1].
La sincronización entre la vista gráfica y la vista de código se
Un sistema de WADE cada agente está equipado con un mantiene de la siguiente manera: las modificaciones
conjunto de flujos de trabajo y el principal deber de un realizadas a través del Editor de Flujo de Trabajo son
agente es promulgar el flujo de trabajo adecuado inmediatamente visibles en la vista de código; las
dependiendo de las situaciones dinámicas a las que se modificaciones realizadas a través del Editor de Java se
enfrente. Tales flujos de trabajo se describen normalmente hacen visibles en la vista gráfica al hacer clic en el botón
usando la agradable notación visual de WOLF (WOrkflow Refrescar en la barra de herramientas principal de Eclipse.
LiFe cycle management environment) que es un editor
gráfico para los flujos de trabajo basados en agentes [5].

El WOLF promueve un alto nivel vista de los flujos de


trabajo, es decir, de las tareas de los agentes, y le da a los
desarrolladores una herramienta amigable [18].
En la figura 1 podemos apreciar la arquitectura de la
plataforma WADE.

Cuando se abre, el Editor de flujo de trabajo proporciona a


los desarrolladores las herramientas adecuadas para
modificar la vista gráfica y pasar de la vista gráfica a la vista
de código.
La figura 2 muestra una instantánea del Editor de flujo de
trabajo.

FIGURE 1.  Arquitectura de la plataforma WADE.

C. WOLF

VOLUME XX, 2017 9


Figura 2.  Pantallazo de un flujo de trabajo de ejemplo.

Figura 8.  Vista de la estructura de ficheros desde el explorador en


IV.  PROPUESTA Eclipse.

Para el caso de estudio partimos de un diagrama del Los proyectos se pueden describir como:
protocolo FIPA-Request para la ejecución de un workflow y
posterior recogida de resultados si fuera necesario. Como se 1) StoreKeeper: Contiene el servicio web, mantiene un
lo puede observar en la figura 7. almacen de piezas y las ofrece al agente ensamblador.
2) ToysAssembler: Contiene los agentes ensamblador y
El ejemplo desarrollado es un ensamblador de juguetes, buscador que montan los juguetes.
basado en el trabajo de [20], [6] y [17] para implementarlo
de una manera satisfactoria. El proyecto WADE en si mismo es toysAssembler, ademas
de las clases necesarias para mantener un listado de
componentes define dos agentes.

 Agente ensamblador
El agente ensamblador muestra la interfaz gráfica principal
de la aplicación (AssemblerAgentGui.Java) como se observa
en la figura 9 y define el propio agente
(AssemblerAgent.Java).

Figura 7.  Diagrama del protocolo FIPA-Request para la ejecución de


un workflow.

El ejemplo desarrollado está dividido en dos proyectos


principales: Uno encargado de montar juguetes mediante un
agente ensamblador y varios agentes buscadores, y otro Figura 9. Interfaz de usuario del proyecto de ensamblaje de juguetes
proyecto que ofrece componentes (piezas de juguetes) a los
agentes buscadores mediante un servicio web. Se lo puede Como en todo Proyecto WADE la clase AssemblerAgent
observar en la figura 8. extiende la clase WorkflowEngineAgent que le permite
ejecutar workows. Inicializa y muestra la interfaz tras lo que

VOLUME XX, 2017 9


añaade un comportamiento de tipo SubscriptionInitiator para claramente en la representación gráficadel flujo de
mantener una lista actualizada de todos los agentes trabajo mediante una flecha de realimentación).
buscadores que residen en el sistema. El único método  Get Component-Set coordinates: Llama al
complejo que define el agente ensamblador se encarga de servicio web publicado por “storeKeeper" para
ejecutar un flujo de trabajo y procesar sus resultados. Dicho obtener la disponibilidad y coordenadas dentro del
flujo de trabajo se encuentra en el paquete almacén de los componentes del tipo actual. Si no
modules/workflows dentro del proyecto y su representación hay existencias el flujo de trabajo termina y el
gráfica utilizando el plugin WOLF se puede ver en la figura montaje falla.
10.  Map Coordinates To Room: Obtiene las
coordenadas del componente.
 Activate Search: Ejecuta un sub flujo (flujo de
trabajo anidado) que se encarga de similar el
movimiento de un robot (el agente buscador) dentro
del almacén hasta encontrar el componente
(alcanzar las coordenadas obtenidas en la actividad
anterior).
 Collect Components: Se trata de una actividad de
sincronizacion (explicada en el apartado elementos
básicos de ésta memoria) de tipo SubflowJoin que
obtiene todos los componentes concretos
encontrados por los agentes buscadores y los
almacena en una lista.
 Assemble Toy: Por último, con todos los
componentes necesarios en una lista se puede
ensamblar el juguete.

Figura 10. Representación gráfica de flujo de trabajo de ensamble de


juguetes.

El flujo de trabajo recibe un tipo de juguete a montar


V.  RESULTADOS
(marioneta o vagón de tren) y busca los componentes
necesarios mediante agentes buscadores para luego montarlo. En el tiempo de ejecución del caso de estudio podemos
El flujo de trabajo se divide en las siguientes actividades: apreciar al “Agente buscador” que son agentes buscadores
muy sencillos que tienen una velocidad (speed) y un campo
 Identify Toy Components: Le pasa el tipo de de búsqueda (viewsize). Como se puede apreciar en la Figura
juguete al catálogo y obtiene una lista de 15y Figura 16. Su única función es esperar a ser invocados
componentes necesarios. por el flujo de trabajo de búsqueda desde la actividad
 Select Next Component-Set To Search: “Activate Search” del flujo de trabajo principal y mostrar una
Selecciona el siguiente componente a buscar de la interfaz gráfica simulando dicha búsqueda.
lista obtenida en la actividad anterior. Esta actividad
y todas las siguientes except la final se ejecuta una
vez por cada tipo de componente (se puede ver

VOLUME XX, 2017 9


Figura 15. Interfaz mostrada por los agentes buscadores durante el
proceso de recolección de partes.

Figura 16. El escenario de Interfaz mostrada por los agentes


buscadores durante el proceso de recolección de partes.

En la figura 16 se puede apreciar el escenario de como


estarán interactuamdo los agentes, donde el símbolo más (+)
significa la parte del juguete, donde tiene que llegar el robot,
el lugar donde se encuentre las partes del jueguete van hacer
aleatorias es por ello que hay dos símbolos siendo el símbolo
más rojo (+) como la pieza que quiere obtener el robot.

Figura 17. Sniffer agent y su salida.

Ademas, en la figura 17 muestra una salida generada por el


sniffer agent proporcionado por JADE en el caso de envio de
mensajes entre el “agente buscador” y el “assemble toy”,
donde se aprecia el proceso de envio de mensajes entre los
agentes para comprobar la lista de piezas para el armado del
juguete. VI- CONCLUSIONES RECOMENDACIONES

En este artículo se describe las tecnologías de código


abierto, JADE, WADE y WOLF, que proporciona a los
usuarios una visión gráfica de las abstracciones avanzadas
relacionadas con el BPM basado en agentes, como agentes,
flujos de trabajo, eventos y mensajes.

VOLUME XX, 2017 9


A. INSTALACIÓN
La puesta en marcha del caso de estudio en WADE tuvo
algunos contratiempos y aciertos. Cabe resaltar que la La configuración del entorno de desarrollo para crear y
documentación esta desactualizada y es bastante escaso. desarrollar en WADE se detalla a continuación [19]:
Junto con la plataforma WADE y WOLF que la ultima
actualización fue en 2013. 1. El primer requerido es tener Java 6 o superior.
Especifivamente Java Development Kit.
Una de las principales ventajas de la plataforma que varios 2. El siguiente paso es descomprimir el archive zip de
autores lo sostienen como se puede apreciar en la sección distribución de WADE
anterior, es la forma de trabajar con BPM y los flujos de (https://jade.tilab.com/wadeproject/download/wade/
trabajo en la que personas sin mayor conocimiento de license/wade-download/?x=31&y=15). Como se lo
programación JADE puedan participar en el modelamiento. puede observer en la figura 3.
En la ejecución de nuestro caso de estudio se puede afirmar
que en aplicaciones pequeñas no es conveniente su
utilización por las distintas configuraciones y
modelamiento de flujos de trabajo se tiene que realizar un
trabajo bastante extenso.

WADE es una opción acertada frente a JADE porque su


linea de aprendizaje es bastante grande. Pero que por ser no
muy difundida en el ámbito industrial presenta varios
inconvenientes como su complejidad.

WADE en aplicaciones grandes como en la telefonia [9]


que es su principal carta de presentación en la que resulta
funcional su implementación dando como resultado un Figura 3.  Carpeta de instalación WADE 3.6
entorno tolerante a fallos, alto rendimiento y escalabilidad,
alta robustez, alto control y mantenimiento, sin embargo,
requiere un nivel de conocimiento muy amplio de la 3. WOLF es un plugin en Eclipse y lo tanto es
plataforma. Lo que se complica con la falta de necesario instalar Eclipse en nuestro caso tenemos
documentación que no permite aprovechar el potencial de instalado la version Kepler que permite el
la herramienta. funcionamiento del plugin de WOLF. Se realize la
descarga del siguiente link
(https://jade.tilab.com/wadeproject/download/add-
ons/). En versiones nuevas de eclipse no permiten el
funcionamiento de WOLF. Para realizar la
instalación agregamos el plugin de WOLF en la
carpeta plugin de nuestra instalación local de
Eclipse se puede observar en la figura 4.

VII. ANEXOS

Figura 4.  Carpeta instalación WOLF.


Instalación y configuración de WADE y un caso de estudio
modelado con la plataforma WADE y WOLF.
B. CONFIGURACIÓN

VOLUME XX, 2017 9


La configuración de WADE en eclipse para crear un
aplicación complete utilizando la herramienta requiere de los
siguientes pasos [17]:
1. Inicialmente es necesario crear un Proyecto WADE
donde se define la estrutura de aplicación y se
pueda escribir el código de la aplicación. Como se
puede observar en la figura 5. Hacemos clic en
crear un Nuevo Proyecto y escogemos la opción de
WOLF y WADE project.

Figura 6.  Configuración de propiedades de WADE.

3. Con estas configuraciones tenemos listo el entorno


para crear un nueva aplicación utilizando WADE.
4. Cabe mencionar que las distintas configuraciones
en los manuales de WADE no contienen la
información correcta para su configuración e
instalación junto con los links principales que estan
fuera de servicio.
Figura 5.  Crear Proyecto WADE en Eclipse.
Para ejecutar el caso de estudio ejecutamos WADE tools y
ejecutamos como primera instancia Bootdaemon. Y a
continuación “Run main container”, lo que permite ejecutar
toda la aplicación realizada en WADE. Como se puede
observar en la figura 11.

2. El siguiente paso, es configurar la instalación de


WADE para poder ejecutar de manera embebida o
una instalación externa. En nuestro caso es externo
debido a que tenemos WADE instalada en la raiz Figura 11. Ejecución del caso de estudio en la plataforma WADE
del computador como Proyecto externo. En la Para probar el caso de estudio presionamos el boton de
figura 6. Se observa las configuraciones requeridas. ejecutar de la plataforma WADE y podremos apreciar la
aplicación funcionando con todos sus componentes como
podemos observar en las figuras 13 y 14.

VOLUME XX, 2017 9


18, no. 1, pp. 87–127, 1982.
[3] IEEE, “The Foundation for Intelligent Physical
Agents.” [Online]. Available: http://www.fipa.org/.
[Accessed: 25-Feb-2020].
[4] F. Bergenti, G. Caire, and D. Gotta, “Agents on the
move: JADE for android devices,” CEUR Workshop
Proc., vol. 1260, 2014.
[5] F. Bergenti, G. Caire, and D. Gotta, “Interactive
workflows with WADE,” Proc. Work. Enabling
Technol. Infrastruct. Collab. Enterp. WETICE, pp.
10–15, 2012.
[6] G. Caire, E. Quarantotto, and G. Sacchi, “WADE-An
open source platform for workflows and agents,”
CEUR Workshop Proc., vol. 494, pp. 69–72, 2009.
[7] L. Trione, D. Long, D. Gotta, and G. Sacchi,
“Wizard, WeMash, WADE: Unleash the power of
collective Intelligence,” Proc. Int. Jt. Conf. Auton.
Agents Multiagent Syst. AAMAS, vol. 2, pp. 1342–
1349, 2009.
Figura 13. Ejecución de caso de estudio en la plataforma WADE. [8] T. Italy, “Wade Site | Workflows and Agent
DEvelopment Environment.” [Online]. Available:
https://jade.tilab.com/wadeproject/. [Accessed: 25-
Feb-2020].
[9] G. Caire, D. Gotta, and M. Banzi, “WADE: A
software platform to develop mission critical
applications exploiting agents and workflows,” Proc.
Int. Jt. Conf. Auton. Agents Multiagent Syst.
AAMAS, vol. 3, no. Aamas, pp. 1717–1724, 2008.
[10] F. Bellifemine, A. Poggi, and G. Rimassa,
“Developing Multi-agent Systems with JADE,” pp.
89–103, 2001.
[11] F. Bergenti, E. Iotti, S. Monica, and A. Poggi, “A
case study of the JADEL programming language,”
CEUR Workshop Proc., vol. 1664, pp. 85–90, 2016.
[12] F. Bergenti, G. Caire, and D. Gotta, “Large-Scale
Network and Service Management with WANTS,”
Ind. Agents Emerg. Appl. Softw. Agents Ind., pp.
231–246, Dec. 2015.
[13] F. Bergenti, G. Caire, and D. Gotta, An Overview of
the AMUSE Social Gaming Platform. 2013.
Figura 14. Ejecución de caso de estudio en la plataforma WADE
[14] “Jade Site | Java Agent DEvelopment Framework.”
[Online]. Available: https://jade.tilab.com/.
El resultado es visible mediante la interfaz gráfica, tambien [Accessed: 25-Feb-2020].
se pueden consultar las consolas de salida donde se muestra [15] S. Inteligentes and T. Final, “´ ster Universitario en
información de la carga, ejecución y resultados de todos los Sistemas Inteligentes Trabajo Final de M a
flujos de trabajo como se observa en la figura 12. Arquitecturas avanzadas distribuidas escalables e
inteligentes,” 2016.
[16] J. Alfonso-Cendón, J. M. Fernández-de-Alba, R.
Fuentes-Fernández, and J. Pavón, “Implementation
of context-aware workflows with multi-agent
systems,” Neurocomputing, vol. 176, pp. 91–97,
2016.
[17] G. Sacchi, A. Marando, E. Quarantotto, and G.
Caire, “Wade Development Tutorial,” 2013.
[18] G. Caire, M. Porta, E. Quarantotto, and G. Sacchi,
Figura 12. Consola con los mensajes de ejecución de caso de estudio en “Wolf - an Eclipse plug-in for WADE,” Proc. Work.
la plataforma WADE.
Enabling Technol. Infrastruct. Collab. Enterp.
WETICE, pp. 26–32, 2008.
REFERENCIAS [19] T. Italia, “WADE Instalation Guide,” 2013.
[1] F. Bergenti, G. Caire, and D. Gotta, “Mission-critical [20] V. Pérez, “Arquitecturas avanzadas distribuidas
business process management with WADE,” CEUR escalables e inteligentes,” Universidad de Jaume,
Workshop Proc., vol. 1101, pp. 51–60, 2013. 2016.
[2] A. Newell, “The knowledge level,” Artif. Intell., vol. [21] F. Bergenti, G. Caire, D. Gotta, D. Long, and G.

VOLUME XX, 2017 9


Sacchi, Enacting BPM-oriented Workflows with
Wade., vol. 741. 2011.
[22] V. Koufi, F. Malamateniou, and G. Vassilacopoulos,
“Building interoperable health information systems
using agent and workflow technologies,” Stud.
Health Technol. Inform., vol. 150, no. May 2014, pp.
180–184, 2009.
[23] and R. S. S. Natarajan., “A Distributed Intelligence
System for Improving Fault Daignostic Performance
in Large Scale Chemical Processes,” Escape-20,
no. December, 2010.
[24] C. H. Liu and J. J. Y. Chen, “Using ontology-based
BDI agent to dynamically customize workflow and
bind semantic web service,” J. Softw., vol. 7, no. 4,
pp. 884–894, 2012.
[25] G. Veeranjaneyulu and C. Srimathi, “FAULT
TOLERANCE IN GRID COMPUTING USING
WADE,” vol. 3, no. 4, pp. 21–25, 2012.
[26] M. Miranda, J. Machado, A. Abelha, J. Neves, and
J. Neves, “Evolutionary intelligence in agent
modeling and interoperability,” Adv. Intell. Soft
Comput., vol. 92, pp. 253–257, 2011.
[27] A. MacCagnan, T. Vardanega, E. Feltriny, G. Valley,
M. Rivaz, and N. Cannatax, “A Multi-Agent System
for the automated handling of experimental
protocols in biological laboratories,” CEUR
Workshop Proc., vol. 621, 2010.
[28] J. M. Gascueña, E. Navarro, and A. Fernández-
Caballero, “Model-driven engineering techniques for
the development of multi-agent systems,” Eng.
Appl. Artif. Intell., vol. 25, no. 1, pp. 159–173, 2012.
[29] R. M. McGraw and R. A. MacDonald, “Intelligent
agents for mobile network coverage analysis,” Proc.
2012 Int. Conf. Artif. Intell. ICAI 2012, vol. 1, pp.
103–109, 2012.
[30] Robson Marinho da Silva, Fabrício Junqueira,
Diolino José dos Santos Filho, and Paulo Eigi
Miyagi, “Implementing Reconfigurable and
Distributed Manufacturing Control System,” Proc.
23rd ABCM Int. Congr. Mech. Eng., no. 2008, 2015.

VOLUME XX, 2017 9

Вам также может понравиться