Modelado de Procesos

miércoles, 14 de mayo de 2008

La visión que tenemos radica en el modelado de procesos para capturar y filtrar requerimientos, para documentar visualmente las funcionalidades de los agentes y para permitir la comunicación con los expertos.El proceso fue diseñado para ser fácil de comprender y usado por usuarios finales de la aplicación, para ser extensible para determinados tipos de agentes y para permitir transformaciones ,automaticas y semi-automaticas, en código ejecutable. La siguiente figura muestra un pequeño ejemplo del modelado de procesos.


Una vision general del procesado, la podemos ver en la siguiente figura.Un proceso es una colección de subprocesos y actividades. Una actividad es una unidad atómica de trabajo que es llevada a cabo por un actor que desempeña un rol. Para clasificar los agentes se adoptará la clasificación de Sycara, que distingue entre interface, tarea y agentes de información, aunque también podrían utilizarse otros tipos de agentes diferentes.



Un agente mensaje puede ser caracterizado por su comando(performativa) o su ontología. En nuestro proyectos basados en Java, vemos que es muy cómodo trabajar con ontologías basadas en java y pasar objetos Java como mensajes, por tanto es muy fácil transferir y procesar información entre agentes. Particularmente, en este ejemplo, los objetos son instancias KBean. Kbean es una extensión de Java Beans que permite adjuntar restricciones semánticas a los atributos de clase, por tanto los agentes pueden rechazar mensajes invalidos.

Existen herramientas visuales de modelado, como por ejemplo AGIL-Shell, con la cual las instancias del procesado pueden editarse soltando cajas y flechas. Otras herramientas como Visio también pueden emplearse. AGIL-Shell permite generar automáticamente varios tipos de vistas, por ejemplo permite visualizar el flujo de mensajes entre agentes en un grafo, en cual los agentes serán los nodos y los grafos las flechas, de todas formas, estas vistas son muy similares, en cuanto a conocimiento y ciclo de vida, a los modelos de la metodología GAIA.

Mediante estas vistas, AGIL-Shell nos proporciona la posibilidad de generar código Jav. AGIL-Shell tiene una arquitectura muy abierta que permite añadir nuevos atributos o concepto que pueden ser necesarios para expresar características típicasde agentes como creencias y deseos, o para mejorar la generación de código.



0 Comments: