RESUMEN. En este trabajo se definen, desarrollan y prueban: un Modelo de Interacción entre Agentes (MIA), un lenguaje para definir agentes con propósitos (nombrado LIA, Lenguaje de Interacción entre Agentes) y un sistema de ejecución de los agentes definidos mediante MIA-LIA (nombrado SEA, Sistema de Ejecución de Agentes).
En el modelo propuesto en esta tesis, un agente tiene recursos, características y propósitos. Las interacciones describen escenarios y contienen un conjunto de papeles donde cada uno especifica el comportamiento que tendrá aquel agente que lo tome. Los recursos y características se modelan mediante variables internas (del agente), globales (del ambiente), regionales (recursos compartidos entre agentes). Un propósito es algo que el agente trata de alcanzar, como obtener un recurso (por ejemplo: unAuto) o adquirir una característica (por ejemplo: saberNadar), se representa como un predicado de primer orden (con valor falso o verdadero) y contiene un atributo donde se marca cuando se ha alcanzado. Varios agentes comparten una ontología donde se especifican los conceptos y palabras utilizados en la comunicación entre agentes, cuando dos agentes utilizan ontologías diferentes se recurre a un modulo Comparador de Ontologías Mixtas (COM) para encontrar la equivalencia de conceptos mediante las palabras que intercambian. Cada agente contiene una lista de los papeles que utiliza cuando se presentan eventos inesperados llamados papeles de emergencia.
Con el lenguaje LIA se propone un léxico y una sintaxis para describir los elementos de MIA. En cada papel se utilizan instrucciones para manejo de variables, comunicación de mensajes, manejo del flujo de control y alcance de propósitos.
El compilador de LIA traduce un ambiente con agentes e interacciones a una forma ejecutable usando SEA. Al ejecutarse un ambiente para cada agente se activa el módulo de planeación para determinar el plan que ha de seguir para alcanzar sus propósitos. El plan está conformado por un conjunto de papeles, cada vez que se ejecute un papel del plan se deben cubrir sus requisitos por el agente, si varios papeles se deben ejecutar en paralelo, se deben cubrir sus requisitos simultáneamente y verificarse su compatibilidad (en esta tesis se hace mediante una Tabla de compatibilidad). Cada papel en ejecución es una hebra, por lo tanto los agentes son multihebra.
Los agentes que se encuentran en ejecución en el sistema SEA, están sujetos a la ocurrencia de un número (quizá infinito) de eventos inesperados que afectan sus recursos o sus características y por lo tanto su comportamiento y su plan.
El modelo, el lenguaje, el comparador de ontologías, los eventos inesperados y el sistema de ejecución de agentes se prueban en este trabajo con ejemplos de situaciones de comercio electrónico.
-->An Interaction Model among Purposeful Agents,
-->
In this work we define, develop and test: an Interaction among Agents Model («Modelo de Interacción entre Agentes», MIA), a language to define purposeful agents (called LIA, «Lenguaje de Interacción entre Agentes») and an execution environment for agents specified using MIA-LIA (called SEA, «Sistema de Ejecución de Agentes»).
In the proposed model in this thesis, an Agent owes resources, characteristics and purposes. The interactions describe scenarios and possesses a set of roles, each role specify the behavior that the agents that takes it will acquire. The resources and characteristics are modeled using internal variables (for the agents), global variables (for the environment) and regional ones (for shared resources among agents). A purpose is something that the Agent attempts to reach, for example, get a resource (aCar) or acquire a characteristic (i.e. knowSwiming), it is represented as a first order predicate (with true or false value) and it have an attribute where we mark when it is reached. Several agents share an ontology where their concepts and words used in the communication among them is specified, when two agents use different ontologies it is needed to use the module Mixed Ontologies Comparator («Comparador de Ontologías Mixtas», COM) to find the equivalence among concepts via the exchanged words. Each Agent have a role list that can be used when unexpected events arise, these are called emergency roles.
LIA language proposes lexical units and a grammar to describe the element of MIA. Within each role we found instructions to variable manipulation, message exchange, flow control and purpose reaching.
We use the LIA compiler to translate the user-defined environments composed with agents and interactions to executable code used in SEA. For each Agent in SEA is activated the planning module to select the plan the Agent should follow in order to reach their purposes. The plan is formed with a set of roles. Each time a role is started their requisites ought to be covered first. If several roles must be executed in parallel, the requisites of them have to be covered simultaneously and their compatibility has to be checked (in this thesis that is done using a Compatibility Table thread; therefore the agents are multithreads.
The agents in execution in SEA are subject to (possible infinite number of) unexpected events that arise in the environment and its resources or characteristics may be affected (i.e. unable to swim in the future), and therefore the planned behavior will change.
The model, language, ontology matcher, unexpected events and execution system are tested using Electronic Commerce situations.
No hay comentarios:
Publicar un comentario