Upload
marlon-etheredge
View
121
Download
1
Tags:
Embed Size (px)
Citation preview
Multi-Agent Systems: Methodologies
Daniel HallinMarlon Etheredge
Utrecht University
February 26, 2014
Outline
I Why would we use agents?
I Methodologies: {AAII, Gaia, Tropos}I Frameworks: {AUML, DESIRE}I Framework in Z
I Prometheus
I Why wouldn’t we use agents?
I Mobile Agents and their application
I Questions
Why would we use agents?
I Appropriateness of agents
I Natural metaphore
I Wrap legacy components
I Dynamic environment (adaptivity)
I Distributability, share control or expertise
What is a methodology?
A system development methodology refers to the framework that isused to structure, plan, and control the process of developing an
information system
I Modeling language and conceptual framework
I Analysis, Design and Implementation techniques
Tabel : Definition from (CMS) Office of Information Service (2008)
Overview
OO
(∼1960)
AAII
(1996)
DESIRE
(1997)
Agents in
Z (1995)
UML
(∼1990)
Gaia
(2000)
AUML
(2001)
Promentheus
(2004)
DESIRE (Brazier et al. 1997)
I Method of describing compositional systems
I Graphical notation
I Graphical toolI Modeling of:
I Task (de)compositionI Information exchangeI Sequencing of (sub)tasksI Subtask delegationI Knowledge structures
DESIRE Example
Model including agents and information link with the externalworld (Brazier et al. 1997)
AUML (Bauer et al., 2001)
I Effort solving differences and inconsistencies in differentapproaches
I Bring together agent-based methodologies and emerging OOstandards
I Extension of UML:I Agent rolesI Multithreaded lifelinesI Extended message semanticsI Parameterized nested protocolsI Protocol templates
AUML Example
Protocol diagram of the English-Auction protocol for surplus flighttickets (Bauer et al., 2001)
GAIA (Wooldridge et al. 2000)
I Provides tools for the Analysis– and Design processes
I Treats Requirement capture as individual process
I Borrows terminology from OO analysis and design
GAIA Concepts
Abstract Concrete
Roles Agent TypesPermissions Services
Responsibilities AcquaintancesProtocolsActivities
Liveness PropertiesSafety Properties
GAIA Organization
System
Roles Interactions
Responsibilities Permissions
Safety propertiesLiveness
properties
Activities
Protocols
Figuur : Organization structure in GAIA
TROPOS (Bresciani et al., 2004)
I Covers the Analysis-, Design- and Implementation processes
I Early phases of requirement analysis
TROPOS Concepts
An Actor is an entity with goals and intentionality within a system
I Role, abstract characterization of social actors behaviour
I Set of roles played by one agent is called a position
A goal represents an actor’s strategic interests.
I Distinction between hard goals and soft goals
Some of the further concepts are Plans, Resources (objects andinfo), Dependencies (actor relationships), Capabilities and Belief.
TROPOS Developing process
Actor model & Dependency model
Goal model
Plan model
Figuur : Developing process in TROPOS
AAII (Kinny et al., 1996)
I Extension of OO
I Internal model: State of agent (BDI)I External model: System-wide, agents and their relations
I Agent class model: Agents that can appear in a systemI Agent instance model: Agent classes that can appear
AAII Example (Kinny et al., 1996)
1. Identify roles of application domain, elaborate agent classhierarchy (abstract)
2. Define responsibilities and provided services of each agent rolee.g. monitor environment and notify agents of changes in theenvironment
3. Define plans, how will an agent reach a certain goal e.g. fornotifying other agents of changes in the environment,information should be sent to another agent by means of amessage. Internal modeling of agents can be performed
4. Refine the agent hierarchy to encapsulate commonality,introduce concrete classes and determine beliefs
Agents in Z (Luck & d’Inverno, 1995)
I Entity: Inanimate, attributes
I Object: Capabilities
I Agent: Goals
I Autonomous agent: Motivations
I Agents are functional, rather than rational, acting or oneanother
... if I want to store coffee in a cup, then the cup is my agent for storing coffee. It has beenascribed or has adopted my goal to have the coffee stored. It is, therefore, the goals of an agentwhich are its defining characteristics.oindent (Luck & d’Inverno)
Prometheus
Promethues: A Pragmatic Methodologyfor Engineering Intelligent Agents
Prometheus
I Covers the Analysis, Design and Implementation phases.
I The development process generates artifacts, important fortesting and debugging.
I Support for detailed design of the agents internals.
Prometheus
I Three design phasesI System Specification PhaseI Architectural Design PhaseI Detailed Design Phase
I Tool supportI Prometheus Design ToolI JACK Support
Prometheus - Methodology overview
System specification phase
I Percepts and Actions
I Basic functionalities
I Scenarios
I Shared data sources
Prometheus - Methodology overview
Architectural design phase
I Identify and describe agents
I System overview diagram
I Interaction protocols
Prometheus - Methodology overview
Detailed design phase
I Agent internalsI Overviews
I Agent overviewI Capability overview
I DescriptorsI Capability descriptorsI Event descriptorsI Data descriptorsI Plan descriptors
Prometheus - Methodology overview
Prometheus - Methodology overview
Prometheus - System specification
Percepts & Actions
I How the system is interacting with environment
I Distinguished from event
Examples of percepts
I User enters an URL, User clicks a button, System receives anemail.
Examples of actions
I Place order, Bank transaction, System sends an email.
Prometheus - System specification
Goals and Functionality
I Describes overall system behaviour
I A goal divides into related functionalities
Prometheus - System specification
Functionality example:
NAME: WelcomingDescription: Welcomes a visitor to the website.Percepts/events/messages: CustomerArrived (message)Messages sent: CustomerInformationRequest (message)Actions: DisplayCustomisedWWWPageData used: CustomerDB, CustomerOrdersInteractions: CustomerManager (via CustomerInformation-Request, CustomerInformation)
Prometheus - System specification
Scenarios
I Describes a chain of events in the system
I Similar to use cases in OO
Every step in a scenario is one of the following:
I incoming event/percept (→ receiving functionality)
I message (sender → receiver)
I activity (functionality)
I action (functionality)
Prometheus - System specification
Scenario example:
Scenario: Book OrderOverview: The user orders a book. . . . The books are shipped,stock updated, and the user notified.Context: Assumes the book is in stock.Steps: 1. EVENT BookOrder (→ Online Interaction)2. DeliveryOptionQuery (Online Interaction → Transport Informa-tion)...8. Register order (Order Handling) Writes data: CustomerOrders9. ACTION EmailCourierCompany (Order Handling)10. DecreaseStock (Order Handling → Stock Manager)Variations: steps 9 (email courier) and 10 (decrease stock) repla-ced with notification of delay (Order Handling to Customer Contact)and then order more stock (Order Handling to Stock Manager).
Prometheus - Methodology overview
Prometheus - Architectural Design
Methods for creating and selecting types of Agents
I Grouping functionalities
I Simple descriptive name
I Data coupling diagram, minimize shared data objects
I Agent acquaintance diagram, minimize linkage.
Prometheus - Architectural Design
Reasons for grouping functionalities:
I Functionalities are/seem related
I Functionalities require the same information/data
Reasons for not grouping functionalities:
I Functionalities are/seem unrelated
I Functionalities exists on different hardware
I Security and privacy
I Modifiability
Prometheus - Architectural Design
Figuur : Data coupling diagram
Prometheus - Architectural Design
Generating Agent descriptors
I How many of this type of agent?
I Lifetime of agent
I Agent initialization
I Agent demise
I What data to monitor?
I What events to react to?
Prometheus - Architectural Design
Agent descriptor example:
Name: Sales Assistant agentDescription: greets customer, follows through site. . .Cardinality: one/customer.Lifetime: Instantiated on customer arrival at site. . .Initialization: Obtains cookie. Reads Customer DB.Demise: Closes open DB connections.Functionalities included: Online Interaction, Sales Transaction. . .Uses data: Customer DB, Customer Orders, Book DB.Produces data: Customer preferences, orders, queriesGoals: Welcome customer; Update customer details. . .Events responded to: new arrival; customer query. . .Actions: Display information to customer (greetings, bookinfo. . . )Interacts with: Warehouse Manager (book request protocol) . . .
Prometheus - Architectural Design
The System overview diagram combines:
I Environmental events, generated from the percepts.
I Agents
I Shared data objects
Prometheus - Architectural Design
Figuur : System overview diagram
Prometheus - Architectural Design
Interaction diagrams
I UML-sequence diagrams
I Generated from scenarios
Interaction protocols
I Specified in AUML
I Generated from generalizing interaction diagrams
Prometheus - System specification
Scenario example:
Scenario: Book OrderOverview: The user orders a book. . . . The books are shipped,stock updated, and the user notified.Context: Assumes the book is in stock.Steps: 1. EVENT BookOrder (→ Online Interaction)2. DeliveryOptionQuery (Online Interaction → Transport Informa-tion)...8. Register order (Order Handling) Writes data: CustomerOrders9. ACTION EmailCourierCompany (Order Handling)10. DecreaseStock (Order Handling → Stock Manager)Variations: steps 9 (email courier) and 10 (decrease stock) repla-ced with notification of delay (Order Handling to Customer Contact)and then order more stock (Order Handling to Stock Manager).
Prometheus - Methodology overview
Prometheus - Detailed Design
Implementing agent internal structures
I Not specific to a given agent model
I Well suited for BDI systems (PRS, dMARS, JAM or JACK)
Prometheus - Detailed Design
Capabilities
I Describe agents’ internals
I Initially generated from system specification artifacts
I Can be nested
I Contains plans, events and data
Prometheus - Detailed Design
Capabilities descriptors
I Describes external interface to the capability
Capability descriptor example:
Name: Name of capabilityExternal interface to the capability: Events used/producedNatural language description: Description of behaviourInteraction with other capabilities: Other capabilitiesData used/produced by the capability: Data read/writtenInclusion of other capabilities: If nested
Prometheus - Detailed Design
Agent overview diagram and Capability overview diagram
I Similar to System overview diagram
I Provides high level view of task/event flow
Prometheus - Detailed Design
Event descriptors
I Descriptors to specify all events.
I Specifies purpose and data
I Event coverage: How many plans are applicable?
Plan descriptors
I Constrained to a single triggering event.
Data descriptors
Prometheus - Methodology overview
Prometheus - Prometheus Design Tool
Prometheus Design Tool, allows:
I Edit design in terms of Prometheus concepts
I Use of crosschecking to find design inconsistencies
I Generate diagrams and design descriptions
Prometheus - Prometheus Design Tool
Cross checking procedures:
I Find undefined references and unreachable components.
I Check for correct type usage.
I Check scenarios for inconsistency.
I Check interface consistency of agents and capabilities.
Prometheus - JACK DevelopmentEnvironment
JACK support for Prometheus
I Concepts provided by JACK corresponds to Prometheusdetailed design
I Agent structure generated by JDE are compilable, runnablecode
I Drag and drop design tool
I Crosschecking between diagram and entities
Mobile Agents
I Capable of transmitting program and states across network
I Origin in Telescript (General Magic, Inc.)
I Replacement of remote procure callsI Risks:
I Serialization: Sending of program and its stateI Inconsistent platforms/architectures: Unix vs. WindowsI Security: RAM/CPU/HDD/Other processesI Synchronization: Termination of connection/packet loss
Mobile Agents Overview
Mobile agents, where agents are transported betweenenvironments, rather than v := B− > m(Args) from a class A in
RPC
Telescript (White, 1994)
I Tickets, indicating the place to travel to and the time tocomplete an operation
I Agents might meet locally, or transfer remotely
I Program counter, represents program state, serialization
I Permits control limitations on travel and resource access(money, lifetime, size), security
I Object oriented, interpreted, programmable (high level),transferable (low level)
Telescript (White, 1994)
HelloPlace: class (WebPlace) =
(
public
initialize: op(...) = {
;
*. setDoc(INDEXKEY , *. createPage ());
};
createPage: op() HTMLParent|Nil = {
page := HTMLPage (" Hello World ");
HTMLString(page ,nil ,"Hello World",
HTML_TITLE ,1,HTML_CENTER ,true);
HTMLRule(page);
HTMLString(page ,nil ,
"A Telescript place created this page .");
return page;
};
);
Example place, creating an HTML page (Domel, 1996)
Agent T(i)c(k)l(e) (Gray, 1995)
I Tcl: Scripting language, commonly used with Tk as Tcl/Tk
I Agent Tcl supports multiple languages, Tcl, Java and Schemeas well as easy addition of additional languages
I Scripts are interpreted, therefore easily transferable (jump)
I Jump captures the complete state and transfers the whole toa new machine, execution is then continued
I Agents are digitally signed so the owner can be identified
I Access control is used to limit resources
Agent Tcl (Gray, 1995)
agent_begin # register with the local agent server
set output {}
set machineList {muir tenaya ...}
foreach machine $machineList {
agent_jump $machine # jump to each machine
append output [exec who] # any local processing
}
agent_jump $agent(home) # jump back home
# display output window
agent_end # unregister
Example migration of a ‘who’ agent (Gray, 1997)
Aglets (Oshima & Lange, 1997)
I Java objects
I Extending the Aglet class: onCreation (initialize), run(executed at destination), dispatch (on travel),handleMessage (incoming message)
I Agent Transfer Protocol (ATP)
I Program state as collection of variables (and their values)
Overview of the Aglet classes (Oshima & Karjoth, 1997)
Other Mobile Agent Frameworks
I Fraglets (Tschudin, 2003): Framework built around ‘fraglets’,computational fragments implementing a chemical reactionmodel where computations are carried out by having fragletsreact with each other
I JADE (Bellifemine et al., 2000): Software framework used todevelop agent-based applications in compliance with the FIPA(Foundation for Intelligent Physical Agents) specifications
Pitfall #1
Figuur : You oversell agent solutions, or fail to understand where agentsmay usefully be applied
Pitfall #2
Figuur : You get religious or dogmatic about agents
Pitfall #3
Figuur : You do not know why you want agents
Pitfall #4
Figuur : You want to build generic solutions to one-offproblems
pitfall-universal
Pitfall #5
Figuur : You believe that agents are a silver bullet
Pitfall #6
’
Figuur : You decide that you want your own agent architectured
Pitfall #7
Figuur : Your agents use too much Al
Pitfall #8
Figuur : You forget that you are developing software
Pitfall #9
Figuur : You see agents everywhere
Pitfall #10
Figuur : You have too few agents
Pitfall #11
Figuur : You spend all your time implementing infrastructure
Pitfall #12
Figuur : Your agents interact too freely or in an disorganized way
Thank You
Multi-Agent Systems: Methodologies
Daniel HallinMarlon Etheredge
Questions?