170 likes | 366 Views
Agent-Oriented Design. Travis Steel. Objectives. What is the Agent Paradigm? What is Agent-Oriented Design and how is it different than OO? When to apply AOD techniques? When NOT to apply AOD techniques?. Outline. Definition of Agent Multi-Agent Systems (MAS) The Agent Paradigm
E N D
Agent-Oriented Design Travis Steel
Objectives • What is the Agent Paradigm? • What is Agent-Oriented Design and how is it different than OO? • When to apply AOD techniques? • When NOT to apply AOD techniques? MAVs Lab, University of Texas at Dallas
Outline • Definition of Agent • Multi-Agent Systems (MAS) • The Agent Paradigm • Agent-Oriented Design • Domains • Conclusion MAVs Lab, University of Texas at Dallas
Agent: • is an autonomous software entity • has objectives to satisfy • possesses skills and can offer services • possesses resources of its own • can communicate, cooperate, coordinate and negotiate directly with other agents • acts in an environment that is partially perceived MAVs Lab, University of Texas at Dallas
Example Structure of an Agent Virtual Agent Interaction Module Knowledge Module Environment Perception Module External Knowledge Module Environment Model Agent Communication Module Acquaintance Model Planning & Control Module Planning Control Internal Knowledge Module Execution Self Model Task Module Constraints Model … Task 1 Task n MAVs Lab, University of Texas at Dallas
Multi-Agent System (MAS) • A system that consists of a number of agents which interactwith one another by exchanging knowledge and by negotiating with each other to achieve their own or some global goal • Common Characteristics: • non-deterministic • distributed • adaptive MAVs Lab, University of Texas at Dallas
The Agent Paradigm • Programming & Design paradigms: • machine code -> prog. languages -> sub-routines -> abstract data types -> objects -> agents • Main differences between OOD and AOD: • Concept of “Agent” is not limited to a certain application or domain MAVs Lab, University of Texas at Dallas
Agent-Oriented Design • Agents are the primary design abstraction • Define roles, constraints, and goals • Define and coordinate agent roles • Assign agent goals that help achieve the system objectives MAVs Lab, University of Texas at Dallas
Agent Goal Diagram cite [1] MAVs Lab, University of Texas at Dallas
Agent-Oriented Design • AOD is new, so there are many methodologies, and few standards • Methodologies and Languages: • Agent-UML (FIPA [3] and OMG): extension of UML • Agent Communication Language (ACL) • Knowledge Query Meta Language (KQML) MAVs Lab, University of Texas at Dallas
Example Patterns forAgent Interaction Bidding Matchmaker cite [2] MAVs Lab, University of Texas at Dallas
Other Differences BetweenOOD and AOD • Object states vs. Agent roles • Concurrent & context-based interactions in sequence diagrams • Role changes in collaboration diagrams • Activity diagrams show how roles effect high-level interaction in various situations • Packages can classify agents based on roles or goals • Deployment diagrams describe how agents are deployed in their host environment MAVs Lab, University of Texas at Dallas
Domains for MAS • Transportation • Military • Medicine • Web Search • Finance • Social Networking MAVs Lab, University of Texas at Dallas
Conclusion • AOD is a strong approach to solving problems that are considered too complex using other approaches. • The Agent Paradigm provides an alternate way to conceptualize and design software systems. • The Agent Paradigm is not limited to a certain application or domain but can be applied in a variety of circumstances. • AOD can simplify complex problems and over-complicate simple problems. MAVs Lab, University of Texas at Dallas
Questions? MAVs Lab, University of Texas at Dallas
References • Discussing strategies for software architecting and designing from an Agent-oriented point of view • Anna Perini, Angelo Susi • Introspecting Agent-Oriented Design Patterns • Manuel Kolp, T. Tung Do, Stéphane Faulkner and T. T. Hang Hoang • The Foundation for Intelligent Physical Agents: http://www.fipa.org/ MAVs Lab, University of Texas at Dallas