Presentation on theme: "Abstracting Communication in Distributed Agent-Based Systems Monique Calisti ECOOP 02 10 June 2002 Whitestein Technologies AG Zürich, Switzerland."— Presentation transcript:
Abstracting Communication in Distributed Agent-Based Systems Monique Calisti ECOOP June 2002 Whitestein Technologies AG Zürich, Switzerland
2 Agenda qMotivation qThe Software Agent-Oriented Approach qCommunication in Multi-Agent Systems qExperimental feedback qDiscussion items qConclusion
3 Motivation qCommunication between distributed software entities populating electronic systems is a crucial aspect for many applications qEven more critical for agent-based systems since any solution relies upon the concept of social behaviour or interaction Describe the asbtract components for agent communication Discuss practical experience to identify benefit, limits and potential re-usability
4 What is an agent? q“An over-used term” (Patti Maes, MIT Labs, 1996) q“Agent” can be considered as a theoretical concept from A.I. q A computational system which: Is long-lived; Has goals, sensors and effectors; Decides autonomously which action to take in the current situation to maximize progress toward its (time varying) goals. qMany different definitions exist in the literature We are going to define a concrete model of what an agent is by considering what abilities and capabilities we expect from agents.
5 “ Our„ answer qAn agent is an entity which is: Situated in some environment. Autonomous, in the sense that the system can act without direct intervention from others (humans or other software processes), and that should have control over its own actions and internal state. Flexible which means: –Responsive : agents should perceive their environment and respond to changes that occur in it in a timely fashion –Pro-active : agents should not simply act in response to their environment, they should be able to exhibit opportunistic, goal-directed behavior and take the initiative when appropriate –Social : agents should be able to interact, when appropriate, with humans or other artificial agents “A Roadmap of agent research and development”, N. Jennings, K. Sycara, M. Wooldridge
6 Communication in MAS qA multi-agent system (MAS) is a system containing more than one agent in which agents can interact and hence influence each other‘s behaviour. qGroups of agents can do things that individuals cannot Routing over distributed domains, meeting schedule, etc. qDiversity can introduce heterogeneity Different agents can be specialized in different tasks qAutonomy and self-interest can lead to global unacceptable situations (solutions) Buyer-seller scenario WHY COMMUNICATION?
Agent Communication Stack LevelDescriptionExample ConversationSequence of communicative acts related to a particular topic/context Communicating about buying and eating an apple Communicative ActInstance of a single message in a particular ACL Requesting somebody to perform the action of… Content ExpressionInstance of a statement embedded in a message expressinf states of the world Expressing the action of eating an apple OntologyDescription of objects, actions and functions in the domain Meaning of “apple” and “eat” SyntaxRepresentation of ContentHTML, XML, DAML ProtocolData exchange protocol (ISO layer 7)HTTP, GIIOP, SMTP TransportPhysical transport and low level transport protocols (ISO layers 1-6) Transport, Optical Fiber, TCP-IP etc. qA multi-layered infrastructure that enables the decoupling of low-level data transport from high level semantic interoperability aspects
8 Conversational Level q Ongoing conversations between agents often fall into typical patterns. In such cases, certain message sequences are expected, and, at any point in the conversation, other messages are expected to follow. These typical patterns of message exchange are called interaction protocols. q Standard FIPA interaction protocols: fipa-request fipa-query fipa-contract-net request not-understoodrefuse(reason)agree failure(reason)inform (done)inform-ref I request you I agree to...
9 Agent Messages qThe Agent Communication Language (ACL) is an high-level interaction language (propositional attitudes) Inform, request, cfp, agree, etc. Ex: KQML, FIPA-ACL qThe knowledge interchange format is given by a common content language (propositional) Action, objects, propositions Ex: KIF, FIPA-SL, FIPA-CCL, etc. qA common vocabulary and agreed upon definitions to describe a subject domain represent the ontology cuisine-ontology, cinema-ontology, I request agent B I inform request inform ACL Content Language ontology
11 Experimental Feedback qMulti-provider service provisioning (MuSS) qElectronic financial support system (FAT) qCoexistence of: Heterogeneous Self-interested software entities that need to exhibit cooperative behaviour and autonomously interact FIPA interaction protocols (both) FIPA-ACL (both) Content language: Ad hoc CL (MuSS) FIPA-SL (FAT) Ontology: Implicit ontoloy (MuSS) Explicit ontology (FAT) FIPA interaction protocols (both) FIPA-ACL (both) Content language: Ad hoc CL (MuSS) FIPA-SL (FAT) Ontology: Implicit ontoloy (MuSS) Explicit ontology (FAT)
12 Challenges qStrong connection between decision making process and capability to deal with uncertainty: unanticipated conversations qFlexibility of communication components for dynamic adaptation: trade-off qDynamic modification of deployed communication components qFrom syntactic to semantic interoperability: sharing the meaning of every deployed component qWorld heterogeneity: implicit versus explicit components choice
13 Discussion qLayered approach: decoupling low level transport issues from high level interoperability is effective in terms of Flexible re-use of communication components for different systems Interoperability of solutions Better focus on coordination aspects qHow effective is the composition of different elements? Trade-off against the complexity of reasoning systems capable of dealing with every deployed formalism qHow much domain-dependent knowledge should go into the deployed communication elements? Trade-off against the meta-level models/components agents and/or programmers share
14 Conclusion qCommon issues to both agent and non-agent based distributed open systems qFlexible coordination is strongly dependent on how communication takes place qThe most appropriate level of abstraction should be traded off against the complexity of every single solution qMany efforts in several communities could benefit from a closer cooperation: DAML, DAML + OIL, Semantic Web, OntoWeb, FIPA, Web services??? qHow will the future communication look like?