travis steel. objectives what is the agent paradigm? what is agent-oriented design and how is it...
TRANSCRIPT
Agent-Oriented DesignTravis Steel
2
ObjectivesWhat 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
3
OutlineDefinition of AgentMulti-Agent Systems (MAS)The Agent ParadigmAgent-Oriented DesignDomainsConclusion
MAVs Lab, University of Texas at Dallas
4
Agent:is an autonomous software entityhas objectives to satisfypossesses skills and can offer servicespossesses resources of its owncan communicate, cooperate, coordinate and negotiate
directly with other agentsacts in an environment that is partially perceived
MAVs Lab, University of Texas at Dallas
5
Example Structure of an Agent
MAVs Lab, University of Texas at Dallas
Virtual Agent
Interaction Module
Environment Perception Module
Agent Communication Module
Task Module
Task nTask 1 …
Knowledge Module
ExternalKnowledge Module
InternalKnowledge Module
Environment Model
Acquaintance Model
Self Model
Constraints Model
Planning & Control Module
Control
Execution
Planning
6
Multi-Agent System (MAS)A system that consists of a number of agents which interact with one another by exchanging knowledge and by negotiating with each other to achieve their own or some global goal
Common Characteristics:non-deterministicdistributedadaptive
MAVs Lab, University of Texas at Dallas
7
The Agent ParadigmProgramming & 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
Object-Oriented Agent-Oriented
Objects Agents
Nonautonomous Autonomous
Interactions are pre-defined Constraints are pre-defined
Satisfy Requirements Satisfying Goals (thus Req’s)
Outcome is usually predictable Outcome is usually unpredictable
8
Agent-Oriented Design
MAVs Lab, University of Texas at Dallas
Agents are the primary design abstractionDefine roles, constraints, and goalsDefine and coordinate agent rolesAssign agent goals that help achieve the system
objectives
9MAVs Lab, University of Texas at Dallas
Agent Goal Diagram
cite [1]
10
Agent-Oriented DesignAOD is new, so there are many methodologies, and few
standardsMethodologies and Languages:
Agent-UML (FIPA [3] and OMG): extension of UMLAgent Communication Language (ACL)Knowledge Query Meta Language (KQML)
MAVs Lab, University of Texas at Dallas
11
Example Patterns forAgent Interaction
MAVs Lab, University of Texas at Dallas
cite [2]
Bidding Matchmaker
12
Other Differences BetweenOOD and AODObject states vs. Agent rolesConcurrent & context-based interactions in sequence
diagramsRole changes in collaboration diagramsActivity diagrams show how roles effect high-level
interaction in various situationsPackages can classify agents based on roles or goalsDeployment diagrams describe how agents are deployed
in their host environment
MAVs Lab, University of Texas at Dallas
13
Domains for MASTransportationMilitaryMedicineWeb SearchFinanceSocial Networking
MAVs Lab, University of Texas at Dallas
14
ConclusionAOD 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
15
Questions?
MAVs Lab, University of Texas at Dallas
16
References1. Discussing strategies for software architecting and
designing from an Agent-oriented point of view Anna Perini, Angelo Susi
2. Introspecting Agent-Oriented Design Patterns Manuel Kolp, T. Tung Do, Stéphane Faulkner and T. T.
Hang Hoang3. The Foundation for Intelligent Physical Agents:
http://www.fipa.org/
MAVs Lab, University of Texas at Dallas