Multi-Agent Systems: Methodologies
Daniel Hallin
Marlon Etheredge
Utrecht University

February 26, 2014
Outline

Why would we use agents?
Methodologies: {AAII, Gaia, Tropos}
Frameworks: {AUML, DESIRE}
Framework in Z
Prometheus...
Why would we use agents?

Appropriateness of agents
Natural metaphore
Wrap legacy components
Dynamic environment (adaptivi...
What is a methodology?

A system development methodology refers to the framework that is
used to structure, plan, and cont...
Overview

OO
(∼1960)

UML
(∼1990)

Agents in
Z (1995)

AAII
(1996)

Gaia
(2000)

AUML
(2001)

Promentheus
(2004)

DESIRE
(...
DESIRE (Brazier et al. 1997)

Method of describing compositional systems
Graphical notation
Graphical tool
Modeling of:
Ta...
DESIRE Example

Model including agents and information link with the external
world (Brazier et al. 1997)
AUML (Bauer et al., 2001)

Effort solving differences and inconsistencies in different
approaches
Bring together agent-based ...
AUML Example

Protocol diagram of the English-Auction protocol for surplus flight
tickets (Bauer et al., 2001)
GAIA (Wooldridge et al. 2000)

Provides tools for the Analysis– and Design processes
Treats Requirement capture as individ...
GAIA Concepts

Abstract
Roles
Permissions
Responsibilities
Protocols
Activities
Liveness Properties
Safety Properties

Con...
GAIA Organization
System

Roles

Interactions

Activities

Responsibilities

Permissions

Protocols

Safety properties

Li...
TROPOS (Bresciani et al., 2004)

Covers the Analysis-, Design- and Implementation processes
Early phases of requirement an...
TROPOS Concepts

An Actor is an entity with goals and intentionality within a system
Role, abstract characterization of so...
TROPOS Developing process

Actor model & Dependency model

Goal model
Plan model
Figuur : Developing process in TROPOS
AAII (Kinny et al., 1996)

Extension of OO
Internal model: State of agent (BDI)
External model: System-wide, agents and th...
AAII Example (Kinny et al., 1996)
1. Identify roles of application domain, elaborate agent class
hierarchy (abstract)
2. D...
Agents in Z (Luck & d’Inverno, 1995)

Entity: Inanimate, attributes
Object: Capabilities
Agent: Goals
Autonomous agent: Mo...
Prometheus

Promethues: A Pragmatic Methodology
for Engineering Intelligent Agents
Prometheus

Covers the Analysis, Design and Implementation phases.
The development process generates artifacts, important ...
Prometheus

Three design phases
System Specification Phase
Architectural Design Phase
Detailed Design Phase

Tool support
P...
Prometheus - Methodology overview

System specification phase
Percepts and Actions
Basic functionalities
Scenarios
Shared d...
Prometheus - Methodology overview

Architectural design phase
Identify and describe agents
System overview diagram
Interac...
Prometheus - Methodology overview

Detailed design phase
Agent internals
Overviews
Agent overview
Capability overview

Des...
Prometheus - Methodology overview
Prometheus - Methodology overview
Prometheus - System specification
Percepts & Actions
How the system is interacting with environment
Distinguished from even...
Prometheus - System specification

Goals and Functionality
Describes overall system behaviour
A goal divides into related f...
Prometheus - System specification

Functionality example:
NAME: Welcoming
Description: Welcomes a visitor to the website.
P...
Prometheus - System specification
Scenarios
Describes a chain of events in the system
Similar to use cases in OO
Every step...
Prometheus - System specification
Scenario example:
Scenario: Book Order
Overview: The user orders a book. . . . The books ...
Prometheus - Methodology overview
Prometheus - Architectural Design

Methods for creating and selecting types of Agents
Grouping functionalities
Simple desc...
Prometheus - Architectural Design

Reasons for grouping functionalities:
Functionalities are/seem related
Functionalities ...
Prometheus - Architectural Design

Figuur : Data coupling diagram
Prometheus - Architectural Design

Generating Agent descriptors
How many of this type of agent?
Lifetime of agent
Agent in...
Prometheus - Architectural Design
Agent descriptor example:
Name: Sales Assistant agent
Description: greets customer, foll...
Prometheus - Architectural Design

The System overview diagram combines:
Environmental events, generated from the percepts...
Prometheus - Architectural Design

Figuur : System overview diagram
Prometheus - Architectural Design

Interaction diagrams
UML-sequence diagrams
Generated from scenarios
Interaction protoco...
Prometheus - System specification
Scenario example:
Scenario: Book Order
Overview: The user orders a book. . . . The books ...
Prometheus - Methodology overview
Prometheus - Detailed Design

Implementing agent internal structures
Not specific to a given agent model
Well suited for BD...
Prometheus - Detailed Design

Capabilities
Describe agents’ internals
Initially generated from system specification artifac...
Prometheus - Detailed Design

Capabilities descriptors
Describes external interface to the capability
Capability descripto...
Prometheus - Detailed Design

Agent overview diagram and Capability overview diagram
Similar to System overview diagram
Pr...
Prometheus - Detailed Design

Event descriptors
Descriptors to specify all events.
Specifies purpose and data
Event coverag...
Prometheus - Methodology overview
Prometheus - Prometheus Design Tool

Prometheus Design Tool, allows:
Edit design in terms of Prometheus concepts
Use of cr...
Prometheus - Prometheus Design Tool

Cross checking procedures:
Find undefined references and unreachable components.
Check...
Prometheus - JACK Development
Environment

JACK support for Prometheus
Concepts provided by JACK corresponds to Prometheus...
Mobile Agents

Capable of transmitting program and states across network
Origin in Telescript (General Magic, Inc.)
Replac...
Mobile Agents Overview

Mobile agents, where agents are transported between
environments, rather than v := B− > m(Args) fr...
Telescript (White, 1994)
Tickets, indicating the place to travel to and the time to
complete an operation
Agents might mee...
Telescript (White, 1994)
HelloPlace : class ( WebPlace ) =
(
public
initialize : op (...) = {
;
*. setDoc ( INDEXKEY , *. ...
Agent T(i)c(k)l(e) (Gray, 1995)

Tcl: Scripting language, commonly used with Tk as Tcl/Tk
Agent Tcl supports multiple lang...
Agent Tcl (Gray, 1995)
agent_begin # register with the local agent server
set output {}
set machineList { muir tenaya ... ...
Aglets (Oshima & Lange, 1997)
Java objects
Extending the Aglet class: onCreation (initialize), run
(executed at destinatio...
Other Mobile Agent Frameworks

Fraglets (Tschudin, 2003): Framework built around ‘fraglets’,
computational fragments imple...
Pitfall #1

Figuur : You oversell agent solutions, or fail to understand where agents
may 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 Hallin
Marlon Etheredge
Questions?
Upcoming SlideShare
Loading in...5
×

Presentation

128

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
128
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
2
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Presentation

  1. 1. Multi-Agent Systems: Methodologies Daniel Hallin Marlon Etheredge Utrecht University February 26, 2014
  2. 2. Outline Why would we use agents? Methodologies: {AAII, Gaia, Tropos} Frameworks: {AUML, DESIRE} Framework in Z Prometheus Why wouldn’t we use agents? Mobile Agents and their application Questions
  3. 3. Why would we use agents? Appropriateness of agents Natural metaphore Wrap legacy components Dynamic environment (adaptivity) Distributability, share control or expertise
  4. 4. What is a methodology? A system development methodology refers to the framework that is used to structure, plan, and control the process of developing an information system Modeling language and conceptual framework Analysis, Design and Implementation techniques Tabel : Definition from (CMS) Office of Information Service (2008)
  5. 5. Overview OO (∼1960) UML (∼1990) Agents in Z (1995) AAII (1996) Gaia (2000) AUML (2001) Promentheus (2004) DESIRE (1997)
  6. 6. DESIRE (Brazier et al. 1997) Method of describing compositional systems Graphical notation Graphical tool Modeling of: Task (de)composition Information exchange Sequencing of (sub)tasks Subtask delegation Knowledge structures
  7. 7. DESIRE Example Model including agents and information link with the external world (Brazier et al. 1997)
  8. 8. AUML (Bauer et al., 2001) Effort solving differences and inconsistencies in different approaches Bring together agent-based methodologies and emerging OO standards Extension of UML: Agent roles Multithreaded lifelines Extended message semantics Parameterized nested protocols Protocol templates
  9. 9. AUML Example Protocol diagram of the English-Auction protocol for surplus flight tickets (Bauer et al., 2001)
  10. 10. GAIA (Wooldridge et al. 2000) Provides tools for the Analysis– and Design processes Treats Requirement capture as individual process Borrows terminology from OO analysis and design
  11. 11. GAIA Concepts Abstract Roles Permissions Responsibilities Protocols Activities Liveness Properties Safety Properties Concrete Agent Types Services Acquaintances
  12. 12. GAIA Organization System Roles Interactions Activities Responsibilities Permissions Protocols Safety properties Liveness properties Figuur : Organization structure in GAIA
  13. 13. TROPOS (Bresciani et al., 2004) Covers the Analysis-, Design- and Implementation processes Early phases of requirement analysis
  14. 14. TROPOS Concepts An Actor is an entity with goals and intentionality within a system Role, abstract characterization of social actors behaviour Set of roles played by one agent is called a position A goal represents an actor’s strategic interests. Distinction between hard goals and soft goals Some of the further concepts are Plans, Resources (objects and info), Dependencies (actor relationships), Capabilities and Belief.
  15. 15. TROPOS Developing process Actor model & Dependency model Goal model Plan model Figuur : Developing process in TROPOS
  16. 16. AAII (Kinny et al., 1996) Extension of OO Internal model: State of agent (BDI) External model: System-wide, agents and their relations Agent class model: Agents that can appear in a system Agent instance model: Agent classes that can appear
  17. 17. AAII Example (Kinny et al., 1996) 1. Identify roles of application domain, elaborate agent class hierarchy (abstract) 2. Define responsibilities and provided services of each agent role e.g. monitor environment and notify agents of changes in the environment 3. Define plans, how will an agent reach a certain goal e.g. for notifying other agents of changes in the environment, information should be sent to another agent by means of a message. Internal modeling of agents can be performed 4. Refine the agent hierarchy to encapsulate commonality, introduce concrete classes and determine beliefs
  18. 18. Agents in Z (Luck & d’Inverno, 1995) Entity: Inanimate, attributes Object: Capabilities Agent: Goals Autonomous agent: Motivations Agents are functional, rather than rational, acting or one another ... if I want to store coffee in a cup, then the cup is my agent for storing coffee. It has been ascribed or has adopted my goal to have the coffee stored. It is, therefore, the goals of an agent which are its defining characteristics. oindent (Luck & d’Inverno)
  19. 19. Prometheus Promethues: A Pragmatic Methodology for Engineering Intelligent Agents
  20. 20. Prometheus Covers the Analysis, Design and Implementation phases. The development process generates artifacts, important for testing and debugging. Support for detailed design of the agents internals.
  21. 21. Prometheus Three design phases System Specification Phase Architectural Design Phase Detailed Design Phase Tool support Prometheus Design Tool JACK Support
  22. 22. Prometheus - Methodology overview System specification phase Percepts and Actions Basic functionalities Scenarios Shared data sources
  23. 23. Prometheus - Methodology overview Architectural design phase Identify and describe agents System overview diagram Interaction protocols
  24. 24. Prometheus - Methodology overview Detailed design phase Agent internals Overviews Agent overview Capability overview Descriptors Capability descriptors Event descriptors Data descriptors Plan descriptors
  25. 25. Prometheus - Methodology overview
  26. 26. Prometheus - Methodology overview
  27. 27. Prometheus - System specification Percepts & Actions How the system is interacting with environment Distinguished from event Examples of percepts User enters an URL, User clicks a button, System receives an email. Examples of actions Place order, Bank transaction, System sends an email.
  28. 28. Prometheus - System specification Goals and Functionality Describes overall system behaviour A goal divides into related functionalities
  29. 29. Prometheus - System specification Functionality example: NAME: Welcoming Description: Welcomes a visitor to the website. Percepts/events/messages: CustomerArrived (message) Messages sent: CustomerInformationRequest (message) Actions: DisplayCustomisedWWWPage Data used: CustomerDB, CustomerOrders Interactions: CustomerManager (via CustomerInformationRequest, CustomerInformation)
  30. 30. Prometheus - System specification Scenarios Describes a chain of events in the system Similar to use cases in OO Every step in a scenario is one of the following: incoming event/percept (→ receiving functionality) message (sender → receiver) activity (functionality) action (functionality)
  31. 31. Prometheus - System specification Scenario example: Scenario: Book Order Overview: 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 Information) . . . 8. Register order (Order Handling) Writes data: CustomerOrders 9. ACTION EmailCourierCompany (Order Handling) 10. DecreaseStock (Order Handling → Stock Manager) Variations: steps 9 (email courier) and 10 (decrease stock) replaced with notification of delay (Order Handling to Customer Contact) and then order more stock (Order Handling to Stock Manager).
  32. 32. Prometheus - Methodology overview
  33. 33. Prometheus - Architectural Design Methods for creating and selecting types of Agents Grouping functionalities Simple descriptive name Data coupling diagram, minimize shared data objects Agent acquaintance diagram, minimize linkage.
  34. 34. Prometheus - Architectural Design Reasons for grouping functionalities: Functionalities are/seem related Functionalities require the same information/data Reasons for not grouping functionalities: Functionalities are/seem unrelated Functionalities exists on different hardware Security and privacy Modifiability
  35. 35. Prometheus - Architectural Design Figuur : Data coupling diagram
  36. 36. Prometheus - Architectural Design Generating Agent descriptors How many of this type of agent? Lifetime of agent Agent initialization Agent demise What data to monitor? What events to react to?
  37. 37. Prometheus - Architectural Design Agent descriptor example: Name: Sales Assistant agent Description: 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, queries Goals: 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) . . .
  38. 38. Prometheus - Architectural Design The System overview diagram combines: Environmental events, generated from the percepts. Agents Shared data objects
  39. 39. Prometheus - Architectural Design Figuur : System overview diagram
  40. 40. Prometheus - Architectural Design Interaction diagrams UML-sequence diagrams Generated from scenarios Interaction protocols Specified in AUML Generated from generalizing interaction diagrams
  41. 41. Prometheus - System specification Scenario example: Scenario: Book Order Overview: 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 Information) . . . 8. Register order (Order Handling) Writes data: CustomerOrders 9. ACTION EmailCourierCompany (Order Handling) 10. DecreaseStock (Order Handling → Stock Manager) Variations: steps 9 (email courier) and 10 (decrease stock) replaced with notification of delay (Order Handling to Customer Contact) and then order more stock (Order Handling to Stock Manager).
  42. 42. Prometheus - Methodology overview
  43. 43. Prometheus - Detailed Design Implementing agent internal structures Not specific to a given agent model Well suited for BDI systems (PRS, dMARS, JAM or JACK)
  44. 44. Prometheus - Detailed Design Capabilities Describe agents’ internals Initially generated from system specification artifacts Can be nested Contains plans, events and data
  45. 45. Prometheus - Detailed Design Capabilities descriptors Describes external interface to the capability Capability descriptor example: Name: Name of capability External interface to the capability: Events used/produced Natural language description: Description of behaviour Interaction with other capabilities: Other capabilities Data used/produced by the capability: Data read/written Inclusion of other capabilities: If nested
  46. 46. Prometheus - Detailed Design Agent overview diagram and Capability overview diagram Similar to System overview diagram Provides high level view of task/event flow
  47. 47. Prometheus - Detailed Design Event descriptors Descriptors to specify all events. Specifies purpose and data Event coverage: How many plans are applicable? Plan descriptors Constrained to a single triggering event. Data descriptors
  48. 48. Prometheus - Methodology overview
  49. 49. Prometheus - Prometheus Design Tool Prometheus Design Tool, allows: Edit design in terms of Prometheus concepts Use of crosschecking to find design inconsistencies Generate diagrams and design descriptions
  50. 50. Prometheus - Prometheus Design Tool Cross checking procedures: Find undefined references and unreachable components. Check for correct type usage. Check scenarios for inconsistency. Check interface consistency of agents and capabilities.
  51. 51. Prometheus - JACK Development Environment JACK support for Prometheus Concepts provided by JACK corresponds to Prometheus detailed design Agent structure generated by JDE are compilable, runnable code Drag and drop design tool Crosschecking between diagram and entities
  52. 52. Mobile Agents Capable of transmitting program and states across network Origin in Telescript (General Magic, Inc.) Replacement of remote procure calls Risks: Serialization: Sending of program and its state Inconsistent platforms/architectures: Unix vs. Windows Security: RAM/CPU/HDD/Other processes Synchronization: Termination of connection/packet loss
  53. 53. Mobile Agents Overview Mobile agents, where agents are transported between environments, rather than v := B− > m(Args) from a class A in RPC
  54. 54. Telescript (White, 1994) Tickets, indicating the place to travel to and the time to complete an operation Agents might meet locally, or transfer remotely Program counter, represents program state, serialization Permits control limitations on travel and resource access (money, lifetime, size), security Object oriented, interpreted, programmable (high level), transferable (low level)
  55. 55. 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 (D¨mel, 1996) o
  56. 56. Agent T(i)c(k)l(e) (Gray, 1995) Tcl: Scripting language, commonly used with Tk as Tcl/Tk Agent Tcl supports multiple languages, Tcl, Java and Scheme as well as easy addition of additional languages Scripts are interpreted, therefore easily transferable (jump) Jump captures the complete state and transfers the whole to a new machine, execution is then continued Agents are digitally signed so the owner can be identified Access control is used to limit resources
  57. 57. 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)
  58. 58. Aglets (Oshima & Lange, 1997) Java objects Extending the Aglet class: onCreation (initialize), run (executed at destination), dispatch (on travel), handleMessage (incoming message) Agent Transfer Protocol (ATP) Program state as collection of variables (and their values) Overview of the Aglet classes (Oshima & Karjoth, 1997)
  59. 59. Other Mobile Agent Frameworks Fraglets (Tschudin, 2003): Framework built around ‘fraglets’, computational fragments implementing a chemical reaction model where computations are carried out by having fraglets react with each other JADE (Bellifemine et al., 2000): Software framework used to develop agent-based applications in compliance with the FIPA (Foundation for Intelligent Physical Agents) specifications
  60. 60. Pitfall #1 Figuur : You oversell agent solutions, or fail to understand where agents may usefully be applied
  61. 61. Pitfall #2 Figuur : You get religious or dogmatic about agents
  62. 62. Pitfall #3 Figuur : You do not know why you want agents
  63. 63. Pitfall #4 Figuur : You want to build generic solutions to one-offproblems pitfall-universal
  64. 64. Pitfall #5 Figuur : You believe that agents are a silver bullet
  65. 65. Pitfall #6 ’ Figuur : You decide that you want your own agent architectured
  66. 66. Pitfall #7 Figuur : Your agents use too much Al
  67. 67. Pitfall #8 Figuur : You forget that you are developing software
  68. 68. Pitfall #9 Figuur : You see agents everywhere
  69. 69. Pitfall #10 Figuur : You have too few agents
  70. 70. Pitfall #11 Figuur : You spend all your time implementing infrastructure
  71. 71. Pitfall #12 Figuur : Your agents interact too freely or in an disorganized way
  72. 72. Thank You Multi-Agent Systems: Methodologies Daniel Hallin Marlon Etheredge Questions?
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×