260 likes | 410 Views
Bijan Zamanian and Zeki Bayram Eastern Mediterranean University Department of Computer Engineering. Agent coordination Using EJBs and XML WSs in Battlefield Environment. Introduction What is an agent? What is coordination? Why coordination Coordination models Our model
E N D
Bijan Zamanian and Zeki Bayram Eastern Mediterranean University Department of Computer Engineering Agent coordination Using EJBs and XML WSsin Battlefield Environment
Introduction • What is an agent? • What is coordination? • Why coordination • Coordination models • Our model • Proposed architecture • Demonstration of proposed architecture • Conclusion Outline
Complex tasks are often carried out by teams consisting of individuals, because no one individual has the collective expertise, information, or resources required for the effective completion or performance of a task. Agents can cooperate to facilitate achieving a common, complicated and large scale goal using some of their characteristic like Intelligence , autonomy. In such a case each agent is responsible for a part of the goal . But to ensure a community of individual agents acts in a coherent manner they need coordination. Coordination may require cooperation, but cooperation among a set of agents does not necessarily results in coordination. introduction
A software agent is a piece of software that acts on behalf of a user or other programs. • An agent is defined in terms of its behavior. • Agents commonly include the following concepts • persistence (code is not executed on demand but runs continuously and decides for itself when it should perform some activity) • autonomy (agents have capabilities of task selection, prioritization, goal-directed behavior, decision-making without human intervention) • sociability (agents are able to engage other components through some sort of communication and coordination, they may collaborate on a task) • reactivity (agents perceive the context in which they operate and react to it appropriately). • Intelligence (agents are capable ofreasoning and learning ) What is an agent?
A cooperative system of agents may fall into one or more of these categories : • distributed agents (being executed on physically distinct computers), • multi-agent systems (distributed agents that do not have the capabilities to achieve an objective alone and thus must communicate), • mobile agents (agents that can relocate their execution onto different processors). What is an agent? (cont 1.)
Coordination in general : Act of making different people or things work together for a goal or effect. • Agent coordination. The process by which agents reason about their local actions and the (anticipated) actions of others . What is coordination?
Preventing anarchy Coordination is necessary or desirable because in decentralized agent-based systems, anarchy can set in easily. • Dependencies between agents' actions Actions of multiple agents need to be coordinated because of dependencies between agents' actions. • Insufficiency of local views Agents only have local views, goals and knowledge which may conflict with others or take improper action by the agent. Why coordination?
Coordination model: An agent coordination model is a conceptual framework . • Coordination architecture: A coordination architecture is a software infrastructure. • Some well known coordination models are: • Direct, Meeting oriented, • Blackboard-based • Linda-like Coordination models
Direct In Direct coordination models, agents usually coordinate using RPC-like primitives or synchronous message passing. • Meeting oriented In Meeting oriented models, agents coordinate using implicit or known meeting points. • Blackboard-based In Blackboard-based models, agents coordinate via shared data spaces to store and retrieve information under the form of messages . • Linda-like In Linda-like models, agents coordinate through tuple spaces which allow for Insertion of tuples and retrieval of tuples using associative pattern matching. Coordination models (cont 1.)
Dynamics Coordination strategies that handle highly dynamic task environments may not keep up with all environment • Agent population properties A coordinator (specially centralized ) can quickly degrade and becomes incapable of processing the interactions if population of agents increases. • Quantity of interaction If each agent interacts with every other agent, the number of paired interactions will grow quadratically Concerns about coordination models
Our model can be seen as an instance of blackboard-based coordination. Our model obviates some coordination concerns (Dynamics, Agent population properties, Quantity of interaction) Hierarchical control of agents Actual reality vs. perceived reality (agents and coordinator may not have full or perfect view of reality) Web services: eyes, ears of agents. Also effectors of agents. Has full view of reality, but reveals only part. Coordinator: one for each group of agents Our model
Our model (cont 2.) Web service
Our architecture is made of four main parts: Coordinator, Agents, Environment and Web service. Proposed architecture Web Service EJB Coordinator perceive /effect/ query environment send /receive task send/ receive task result Environment
Agents implemented as Java objects running in their own thread Agent Architecture mid Miss.1 type Askmission() Miss.2 DoMission() Agent ammo runner RI_lookup() health Observe() x,y,z IsAccomplished() Go() Run()
Mission request from superior (coordinator) Web services used to be informed about environment, and cause changes to environment No direct inter-agent communication Report result of mission to coordinator Built-in intelligence: observation and decision making How agents operate
Coordinators implemented as EJB’s (Enterprise Java Beans Responsible for coordinating a group of agents Agents in the field communicate with them to get initial mission,and to report result of mission A different set of coordinators for each “team” possible in case of multi-part simulation COORDINATORS
Logic of mission creation Coordinator generates missions for units its under command based on the units’ types and enemy types • How it perceives Initially the coordination does not know about the presence of the enemy units. Initial perception through agent observations How THE coordinator works
Web services – MAINTAINER and revealer of reality Web Service Data Source AgendDb Method 1 Method 2 Method n Ws-Method 1 Ws-Method 2 Ws-Method n
Web services maintain the actual reality Agents call methods to inquire about their environment (who is around me?) Agents call methods to change environment (shoot the guy) Web service methods reveal only part of the reality, given the situation of the requesting agent. Actions are carried out in a probabilistic manner WEB services
Agents can exist in different java virtual machines or even on different physical machines. Coordinators can be distributed on different machines Job of coordination made easy through coordination hierarchy. One simulation can run on multiple machines and share the same “environment” through using Web services. Different “teams” (e.g. enemies) can run in different machines, but participate in the same simulation Our architecture is both extendable and scalable Properties of Our Architecture
Modeled armed forces: Application of model:Battlefield simulation WS- Coordinator
Described the agent coordination problem Defined an agent coordination architecture based on EJB’s and WS’s Demonstrated the architecture in a battlefield simulation Our architecture has nice properties: scalable, extendable Conclusion
Demonstration of architecture in B.F.E Web Service EJB Coordinator Environment
Dieter Fensel;Holger Lausen;Jos de Bruijn;Michael Stollberg;Dumitru Roman (2007):"Enabling Semantic Web Services". The Web Service Modeling Ontology. Springer Berlin Heidelberg Publishing. ISBN 978-3-540-34519-0 (Print) 978-3-540-34520-6 (Online). H S Nwana, L Lee and N R Jennings, (1996): “Co-ordination in software agent systems.” BT Technol J Vol 14 No 4 October 1996. Stollberg, M.; Haller, A.(2005): "Services Computing", 2005 IEEE International Conference on Volume 2, 11-15 July 2005 Page(s):xv vol.2 Stollberg, M.; Haller, A. (2005):" Semantic Web services tutorial", Mar-Apr 2001Volume: 2, Issue: 2 On page(s): On page(s): xv vol.2 ,Number of Pages: 2 vol. (xxi+660) ,ISBN: 0-7695-2408-7 INSPEC Accession Number:8652031 ,,Date Published in Issue: 2005-11-21 08:54:29 Weiming Shen; Hamada Ghenniwa; Yinsheng Li (2006): "Agent-Based Service-Oriented Computing and Applications", Pervasive Computing and Applications, 2006 1st International Symposium on.3-5 Aug. 2006 Page(s):8 – 9. References
Noh-sam Park; Gil-haeng Lee (2003):"Agent-based Web services middleware",Global Telecommunications Conference, 2003. GLOBECOM '03. IEEE Volume 6, 1-5 Dec. 2003 Page(s):3186 - 3190 vol.6 Zhi-Zhong Sun; Bin Li; Liang Li (2007):"An Adaptive Agent Coordination Framework for Web Services Composition",Machine Learning and Cybernetics, 2007 International Conference on Volume 7, 19-22 Aug. 2007 Page(s):3870 - 3875 R. Scott Cost, Yannis K Labrou,Tim Finin:"Agent Communication Languages and Agent Coordination", Coordination of Internet Agents: Models, Technologies and Applications. July 01, 2000. Willmott, S.; Pena, F.O.F.; Merida-Campos, C.; Constantinescu, I.; Dale, J.; Cabanillas, D. (2005): "Adapting agent communication languages for semantic Web service inter-communication", Web Intelligence, 2005. Proceedings. The 2005 IEEE/WIC/ACM International Conference on19-22 Sept. 2005 Page(s):405 – 408 References (cont 1.)