Investigating Interactions between Agent Conversations and Agent Control Components [chapter]

Thomas Wagner, Brett Benyo, Victor Lesser, Ping Xuan
2000 Lecture Notes in Computer Science  
Exploring agent conversation in the context of fine-grained agent coordination research has raised several intellectual questions. The major issues pertain to interactions between different agent conversations, the representations chosen for different classes of conversations, the explicit modeling of interactions between the conversations, and how to address these interactions. This paper is not so ambitious as to attempt to address these questions, only frame them in the context of
more » ... scheduling-centric multi-agent coordination research. Introduction Based on a long history of work in agents and agent control components for building distributed AI and multi-agent systems, we are attempting to frame and address a set of intellectual questions pertaining to agent conversation. Interaction lies at the heart of the matter; the issue is interaction between different agent conversations, that possibly occur at different levels of abstraction, but also interaction between the machinery for holding a conversation with other agents and the underlying machinery for controlling the individual agent. Henceforth we will use the term coordination protocol to describe the specification for a dialogue between one or more agents that is held for the purpose of coordinating their activities; a conversation is an instantiation of a protocol. A coordination mechanism, in contrast, denotes a larger grouping of concerns -it is the way in which an agent reasons about interactions, plans to resolve them, and carries out communication activities to do so. We return to the issue of coordination mechanisms in Section 2.3, however, the notion of a mechanism is intertwined in the following intellectual issues: -Assuming a model where agents are engaged in multiple conversations concurrently, and asynchronously, what are the ramifications of interactions between the different conversations? £ Should interactions be accounted for at the conversational level or by the underlying agent control components? For example, if an agent is engaged in dialogues with two other agents in an attempt to contract-out two different tasks, e.g., ¤ and ¥ , and the tasks are mutually exclusive, what happens if both tasks are contracted at the same time? Or one is contracted while the other is being negotiated? In our work, recovery would generally take place via decommitment [1], possibly with some penalty involved, but, this response is generally triggered by the agent control components, not the conversation machinery itself. -Conversations held to coordinate multiple agents generally entail the exchange of task or goal information and temporal constraints. This information may be viewed as particular bindings on variables that are used by the conversation machinery. Using this view, one can envision the conversation machinery querying an oracle (temporal belief-base, truth maintenance system, agent scheduler, etc.) for particular bindings that should be used during the dialogue, e.g., "I can provide you the result by time 10." However, what if multiple candidate tasks are being negotiated that require the same resource(s)? 1 The conversations are clearly interdependent, however, the underlying agent control mechanisms that identify the constrained situation and enumerate possible responses is also part of the interaction. In other words, the involved conversations must query the underlying oracle for information, and in this case, the oracle needs the information from all the conversations in order to make decisions about priorities and what can be accomplished. As soon as one of the conversations results in a committed or intended course of action, the other conversations are impacted. The question is what is the appropriate interface between the conversation machinery and the lower level control components? -Consider another situation that approaches the same issue from a different perspective. Let ¦ be an agent that has a hard deadline looming and lacks sufficient time to coordinate over all soft task interactions (optional coordination points), it must thus modulate the conversation machinery to reflect the upcoming deadline. Options include curtailing conversational activities, i.e., ending existing dialogues or refraining from starting new dialogues, or modifying conversations to reflect the need for haste. The first case involves simply terminating standard dialogues, the second case, however, requires dialogues that are parameterized or include branches that have different temporal requirements (possibly anytime [7, 18, 42] in nature). However, the problem is not that neat -it is actually cyclical. Non-local information obtained via communication influences the agent's beliefs and thus impacts its intentions or planned actions. Thus, continuing a dialogue and gaining more information might actually change the choices that an agent has made and thus result in the agent having more time for conversations. Conversely, time spent conversing may simply detract from domain problem solving. The question is whether or not we must address the issue and if so, what are the implications to the conversational machinery of the agent? Certainly, one can argue that for agents to address real-time and real-resource concerns, the issue must be addressed. Attempting to frame these questions leads one to consider the implications of agents having multiple, asynchronous, conversations pertaining to different matters and dealing with activities at different levels of abstraction. As discussed in Section 5, intra-level and inter-level interaction in conjunction with interactions between conversations and agent control components pushes harder on the issue of interaction. These questions are the outcome of an effort to modify our agent coordination technology, namely GPGP [26] and Design-to-Criteria [37, 35] , to support openness, situation specificity, and adaptation to different application domains. For example, in a cur-1 The issue is more clear if resources are not simple objects that require exclusive access, but are instead sharable, e.g., network bandwidth, where the performance of an action using the resource may degrade based on the state of the resource -and the degrees of degradation vary.
doi:10.1007/10722777_21 fatcat:zkaqeyezm5c5zkoq4l56ix4eca