+ All Categories
Home > Documents > Presentation

Presentation

Date post: 12-May-2015
Category:
Upload: marlon-etheredge
View: 120 times
Download: 1 times
Share this document with a friend
Popular Tags:
72
Multi-Agent Systems: Methodologies Daniel Hallin Marlon Etheredge Utrecht University February 26, 2014
Transcript
Page 1: Presentation

Multi-Agent Systems: Methodologies

Daniel HallinMarlon Etheredge

Utrecht University

February 26, 2014

Page 2: Presentation

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

Page 3: Presentation

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

Page 4: Presentation

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)

Page 5: Presentation

Overview

OO

(∼1960)

AAII

(1996)

DESIRE

(1997)

Agents in

Z (1995)

UML

(∼1990)

Gaia

(2000)

AUML

(2001)

Promentheus

(2004)

Page 6: Presentation

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

Page 7: Presentation

DESIRE Example

Model including agents and information link with the externalworld (Brazier et al. 1997)

Page 8: Presentation

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

Page 9: Presentation

AUML Example

Protocol diagram of the English-Auction protocol for surplus flighttickets (Bauer et al., 2001)

Page 10: Presentation

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

Page 11: Presentation

GAIA Concepts

Abstract Concrete

Roles Agent TypesPermissions Services

Responsibilities AcquaintancesProtocolsActivities

Liveness PropertiesSafety Properties

Page 12: Presentation

GAIA Organization

System

Roles Interactions

Responsibilities Permissions

Safety propertiesLiveness

properties

Activities

Protocols

Figuur : Organization structure in GAIA

Page 13: Presentation

TROPOS (Bresciani et al., 2004)

I Covers the Analysis-, Design- and Implementation processes

I Early phases of requirement analysis

Page 14: Presentation

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.

Page 15: Presentation

TROPOS Developing process

Actor model & Dependency model

Goal model

Plan model

Figuur : Developing process in TROPOS

Page 16: Presentation

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

Page 17: Presentation

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

Page 18: Presentation

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)

Page 19: Presentation

Prometheus

Promethues: A Pragmatic Methodologyfor Engineering Intelligent Agents

Page 20: Presentation

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.

Page 21: Presentation

Prometheus

I Three design phasesI System Specification PhaseI Architectural Design PhaseI Detailed Design Phase

I Tool supportI Prometheus Design ToolI JACK Support

Page 22: Presentation

Prometheus - Methodology overview

System specification phase

I Percepts and Actions

I Basic functionalities

I Scenarios

I Shared data sources

Page 23: Presentation

Prometheus - Methodology overview

Architectural design phase

I Identify and describe agents

I System overview diagram

I Interaction protocols

Page 24: Presentation

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

Page 25: Presentation

Prometheus - Methodology overview

Page 26: Presentation

Prometheus - Methodology overview

Page 27: Presentation

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.

Page 28: Presentation

Prometheus - System specification

Goals and Functionality

I Describes overall system behaviour

I A goal divides into related functionalities

Page 29: Presentation

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)

Page 30: Presentation

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)

Page 31: Presentation

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).

Page 32: Presentation

Prometheus - Methodology overview

Page 33: Presentation

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.

Page 34: Presentation

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

Page 35: Presentation

Prometheus - Architectural Design

Figuur : Data coupling diagram

Page 36: Presentation

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?

Page 37: Presentation

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) . . .

Page 38: Presentation

Prometheus - Architectural Design

The System overview diagram combines:

I Environmental events, generated from the percepts.

I Agents

I Shared data objects

Page 39: Presentation

Prometheus - Architectural Design

Figuur : System overview diagram

Page 40: Presentation

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

Page 41: Presentation

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).

Page 42: Presentation

Prometheus - Methodology overview

Page 43: Presentation

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)

Page 44: Presentation

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

Page 45: Presentation

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

Page 46: Presentation

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

Page 47: Presentation

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

Page 48: Presentation

Prometheus - Methodology overview

Page 49: Presentation

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

Page 50: Presentation

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.

Page 51: Presentation

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

Page 52: Presentation

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

Page 53: Presentation

Mobile Agents Overview

Mobile agents, where agents are transported betweenenvironments, rather than v := B− > m(Args) from a class A in

RPC

Page 54: Presentation

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)

Page 55: Presentation

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)

Page 56: Presentation

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

Page 57: Presentation

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)

Page 58: Presentation

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)

Page 59: Presentation

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

Page 60: Presentation

Pitfall #1

Figuur : You oversell agent solutions, or fail to understand where agentsmay usefully be applied

Page 61: Presentation

Pitfall #2

Figuur : You get religious or dogmatic about agents

Page 62: Presentation

Pitfall #3

Figuur : You do not know why you want agents

Page 63: Presentation

Pitfall #4

Figuur : You want to build generic solutions to one-offproblems

pitfall-universal

Page 64: Presentation

Pitfall #5

Figuur : You believe that agents are a silver bullet

Page 65: Presentation

Pitfall #6

Figuur : You decide that you want your own agent architectured

Page 66: Presentation

Pitfall #7

Figuur : Your agents use too much Al

Page 67: Presentation

Pitfall #8

Figuur : You forget that you are developing software

Page 68: Presentation

Pitfall #9

Figuur : You see agents everywhere

Page 69: Presentation

Pitfall #10

Figuur : You have too few agents

Page 70: Presentation

Pitfall #11

Figuur : You spend all your time implementing infrastructure

Page 71: Presentation

Pitfall #12

Figuur : Your agents interact too freely or in an disorganized way

Page 72: Presentation

Thank You

Multi-Agent Systems: Methodologies

Daniel HallinMarlon Etheredge

Questions?


Recommended