70 likes | 126 Views
Introduction to Agents. The term “ agent ” comes from the greek word “ agein ” , which means to drive or to lead An agent is a computer system that is situated in some environment , and that is capable of autonomous action
E N D
Introduction to Agents • The term “agent” comes from the greek word “agein”, which means to drive or to lead • An agent is a computer system that is situated in some environment, and that is capable of autonomous action • It is suitable to describe current trends in computer science: active instruments (to which work can be delegated) vs. passive tools • The term “agent” in computer science generally refers to a software agent • Current research directions on software agents: • Multi-agent systems (MAS) • Mobile agents (MA) UMass Dartmouth
Agent-Oriented Software Engineering • The agents can be considered as active objects, i.e., objects with a mental state • However, object-oriented methodologies are not suitable for agent modeling, especially they do not directly address the following aspects: • Asynchronous message-passing mechanism • Agent autonomous behavior (mental states) • Agent-oriented approaches: provide guidelines for agent specification and agent development • AAII methodology: based on BDI model • Gaia methodology: based on role modeling. • ADK approach: based on agent-oriented G-nets UMass Dartmouth
Agent-Oriented G-Net Model • Is based on the G-net formalism, which is a type of high-level Petri net defined to support modeling of systems as a set of independent and loosely-coupled modules • Provide support for incremental design and successive modification • Directly support asynchronous message passing and inheritance mechanism • To help ensure a correct design that meets certain system requirements, e.g., liveness, deadlock freeness and concurrency • Use Petri net tools, e.g., INA (Integrated Net Analyzer) • To verify structural properties • To verify behavioral properties • To perform model checking (CTL formulas) UMass Dartmouth
Agent Development Kit (ADK) • Most of existing work on agent formal modeling defines what properties are to be realized by an agent system instead of how • In contrast, agent-oriented G-net model serves as a high-level design for agent development • There is clear mapping between the agent-oriented G-net model and the ADK (agent development kit) agent architecture • ADK was implemented by using design patterns • Use Sun Jini middleware for agent communication • Provide a framework and a full class library to support rapid development of application-specific agents for MAS • Define an agent development process for automated agent implementation UMass Dartmouth
A Case Study: Air-Ticket Trading UMass Dartmouth
Related Publications • Haiping Xu and Sol M. Shatz, "ADK: An Agent Development Kit Based on a Formal Model for Multi-Agent Systems," Automated Software Engineering (AUSE), October 2003, Vol. 10, No. 4, pp. 337-365. • Haiping Xu and Sol M. Shatz, "A Framework for Model-Based Design of Agent-Oriented Software," IEEE Transactions on Software Engineering (IEEE TSE), January 2003, Vol. 29, No. 1, pp. 15-30. • Haiping Xu and Sol M. Shatz, "A Framework for Modeling Agent-Oriented Software," Proceedings of the IEEE 21st International Conference on Distributed Computing Systems (ICDCS-21), April 16-19, 2001, Phoenix, Arizona, USA, pp. 57-64. • Haiping Xu and Sol M. Shatz, "An Agent-Based Petri Net Model with Application to Seller/Buyer Design in Electronic Commerce," Proceedings of the IEEE 5th International Symposium on Autonomous Decentralized Systems (ISADS 2001), March 26-28, 2001, Dallas, Texas, USA, pp. 11-18. Contact Information UMass Dartmouth