Design and Analysis Methods for Multi-Agent Systems. California State University , Los Angeles Dr. Jiang Guo Fall 2010 Presented by : Behin Behdinian Sanaz Bonakdar Kate Dehbashi Monali Bhavsar Amee Joshi. Outline. Background of Multi Agent System History Background Agents
Design and Analysis Methods for Multi-Agent Systems California State University , Los Angeles Dr. Jiang Guo Fall 2010 Presented by : Behin Behdinian Sanaz Bonakdar Kate Dehbashi Monali Bhavsar Amee Joshi
Outline • Background of Multi Agent System • History • Background • Agents • Multi Agent System • Overview • Properties • Features • Applications • Advantage • Current Projects and Future Works • AOSE • AOSE Methodologies: • Gaia • AAII • Agent UML • DPMAS • Available Tools • MAGE • AUMP • VAStudio • Mdeployer
Outline • Technical Issues on MAS • Development process of MAS • key issues where the current state-of-the-art is lacking • Agent oriented methodologies weaknesses • The lack of attraction for methodology user to use the agent-oriented paradigm • The lack of attraction for methodology user to useexisting agent-oriented methodologies • Solutions • Solutions of three key issues where the current state-of-the-art is lacking • Agent oriented methodologies Solutions • Solution to agent-oriented paradigm • Solution to existing agent-oriented methodologies • Agent OPEN method • Feature-based method
Introduction • A multi-agent system (MAS) is a system composed of multiple interacting intelligent agents. • Multi-agent systems can be used to solve problems which are difficult or impossible for an individual agent or monolithic system to solve.
History • The idea of agent-based modeling was developed as a relatively simple concept in the late 1940s. • Since it requires computation-intensive procedures, it did not become widespread until the 1990s
Background • Von Neumann machine • Cellular Automata • Game of Life • Thomas Schelling’s segregation model(1971) • Prisoner’s Dilemma (early 1980) • Flocking models (late 1980) • John Holland & John H. Miller (1991)
Background • StarLogo (1990) • SWARM and Netlogo (mid 1990) • Repast (2000) • Samuelson(2000, 2005) • Bonabeau(2002) • Samuelson and Macal(2006)
The study of multi-agent systems • Agent-oriented software engineering • Beliefs, Desires, and Intentions (BDI) • Cooperation and Coordination • Organization • Communication • Negotiation • Distribution problem solving • Multi-agent learning • Scientific communities • Dependability and fault-tolerance
What is an Agent an agent is a computer system capable of autonomous action in some environment, in order to achieve its delegated goals.
Agent characteristic in a multi-agent system • Autonomy: the agents are at least partially autonomous • Local views: no agent has a full global view of the system • Decentralization: there is no designated controlling agent
Type of Agent • 1956–present: Symbolic Reasoning Agents Its purest expression, proposes that agents use explicit logical reasoning in order to decide what to do. • 1985–present: Reactive Agents Problems with symbolic reasoning led to a reaction against this — led to the reactive agents movement, • 1990-present: Hybrid Agents Hybrid architectures attempt to combine the best of symbolic and reactive architectures.
Multi-agent systems • Typically multi-agent research refers to software agents • However, the agents in a multi-agent system could be • robots • humans • human teams • combined human-agent teams.
Overview Multi-agent • Multi-agent systems can manifest self-organization and complex behaviors even when the individual strategies of all their agents are simple. • Agents can share knowledge using any agreed language, within the constraints of the system's communication protocol. • Knowledge Query Manipulation Language (KQML) • FIPA’s Agent Communication Language (ACL).
MAS Properties • MAS is "self-organized systems” and tend to find the best solution for their problems "without intervention". • Physical phenomena, such as energy minimizing, where physical objects tend to reach the lowest energy possible, within the physical constrained world.
MAS Main feature • Flexibility multi-agent system can be • Added to, • Modified • Reconstructed • Do not need to rewrite detailed of the application. • These systems also tend to be rapidly • Self-recovering • Failure proof • Self managed features
Applications of Multi-Agent Research • aircraft maintenance • electronic book buying coalitions • military demining • wireless collaboration and communications • military logistics planning • supply-chain management • joint mission planning • financial portolio management
Advantages of a Multi-Agent • MAS distributes computational resources and capabilities across a network of interconnected agents. Whereas a centralized system may be plagued by resource limitations, performance bottlenecks, or critical failures • MAS is decentralized and thus does not suffer from the "single point of failure" problem associated with centralized systems.
Advantages of a Multi-Agent • MAS efficiently retrieves, filters, and globally coordinates information from sources that are spatially distributed. • MAS provides solutions in situations where expertise is spatially and temporally distributed. • MAS enhances overall system performance, specifically along the dimensions of computational efficiency, reliability, extensibility, robustness, maintainability, responsiveness, flexibility, and reuse.
Current Projects & Future Works • AOSE: Agent Oriented Software Engineering • AOSE Methodologies: • Gaia: The Gaia Methodology for Agent-Oriented Analysis and Design • AAII: Formal models and decision procedures for multi-agent systems • Agent UML: A formalism for specifying multi-agent software systems • DPMAS: A Design Method for Multi-agent System using Agent UML
AOSE: Agent Oriented Software Engineering • The agent-oriented (AO) :the ability to construct flexible systems with complex behavior by combining highly modular components • Agent-oriented development toolkits mostly use in industry • Agent-orientation is a paradigm for analysis, design and system organization. • AOSE is a new field, methodologies far less established than object-oriented software engineering methods • AOSE Methodologies: • Gaia • AAII
Knowledge Level • Agent-oriented modeling borrows from the study of human organizations and societies in describing the way in which agents in a Multi-Agent System work together • And from artificial intelligence (AI) to describe the agents themselves. • These additional concepts can be defined in terms of object-oriented ones which deal with ideas and structures at a higher level:” the knowledge level” • Knowledge Level Categories : • ConcreteEntity, Activity, and MentalStateEntity.
Concrete Entity Types • Agent: An atomic autonomous entity that is capable of performing some useful function. • Organization: An Organization is a group of Agents working together to a common purpose. • Role: A Role describes the external characteristics of an Agent • Resource: Resource is used to represent non-autonomous entities such as databases or external programs
Activity Types • Task: A Task is a knowledge-level unit of activity with a single prime performer • Interaction Protocol: Defines a pattern of Message exchange associated with an Interaction
Mental State Entity Type • Goal: A Goal associates an Agent with a Situation. • Two other simple but important concepts used in AOSE using MESSAGE/UML are: Information Entity and Message: • A Message is an object communicated between Agents • Information Entity is a content of the Message
Figure 1 gives an informal agent-centric overview of how these concepts are interrelated, showing their relationship to the agent concept
AOSE: Methodologies • Analysis and Design methodologies • Set of model and guidelines that aid in understanding the system • Two approaches: • Adoption & Extensions of OO approach • AAII • Adoption of other techniques • Gaia
Gaia • Inspired by OO concepts • Also provides agent-specific set of concepts • Concepts • Abstract: used during conceptualization • Roles, Permissions, responsibilities,… • Concrete: direct counterparts in implementation • Agent types, Services,… • Analyst moves from abstract to concrete concepts • Agent-based system: artificial society
Gaia: Analysis • Role Schema • Identifies key roles in the system • Interaction model • Represents links between roles • Set of protocol definitions consisting of • Purpose • Initiator • Responder • Inputs/outputs • processing
Gaia: Design • Create an agent model • Documents variant agent types and instances of each agent • Aggregates roles into agent types • Develop a service model • Specifies functions of an agent • Develop an acquaintance model • Document lines of communication between the agents • Purpose: identify communication bottlenecks • Nodes: agents • Arrows: communication pathway
Gaia Usage • Appropriate for large-scale real-world applications in which • Agents are coarse-grained computational systems • Agents are heterogeneous • System organization structure is static • Ability of agents and services are static • System contains small number of agent types
AAII • Extension of OO methods based on experience of Australian AI institute with BDI-like systems • Example: air-traffic management system • Internal models: internal detail of agents • Agents have mental attitudes: • beliefs (informative) • desire (Objective to be accomplished) • intention (deliberative component) • External models • Concerns with interactions not internals of agents
AAII: Analysis and Design • Identify roles and develop agent class hierarchy • Identify responsibilities, services and goals • Determine plans that can be used to achieve each goal • Determine information requirements necessary to represent and process plans and turn them into appropriate belief structure for the agents
AAII: Decision Tree • AAII uses decision tree to model the behavior of the system • Choice nodes • Chance nodes
Agent UML: Why Created? • At the beginning, AOSE was not completely accepted in the industry • FIPA and OMG cooperated to increase the acceptance of AOSE in industry (1999-2000). How? • Relating to OO software development standard • Supporting the development environment for the software lifecycle • First result of the cooperation • Agent UML
Agent UML : What is it? • An extension to the UML • Agent: Active Object that can say “go” and “no” • More sophisticated capabilities: • Mobility • Reasoning about knowledge • Promotes standard representations of UML to support agent software • Example: Protocol diagrams • “Protocol diagrams” To show multi agent reaction
Agent UML: Protocol Diagram • UML extension for the specification of “Agent Interaction Protocol” • AIP • Describes a communication pattern, with • Allowed sequence of messages between agents • Constraints on the content of the message • Example: Ticket market • Uses FIPA English-Auction Protocol
Protocol Diagrams: Elements • Agents/Roles: • Lifeline/Interactions • May split up to show decisions
Protocol Diagrams: Elements (Cont.) • Nested/Interleaved Protocols