17
4. Multiagent Systems Design Part 2: ems (SMA-UPC) The PROMETHEUS methodology. Javier Vázquez-Salceda Multiagent Syste https://kemlg.upc.edu SMA-UPC Methodological Extensions to Object-Oriented Approaches A means for agent technologies to gain traction within industrial settings may be by being introduced through well-established technologies stems Design The Unified Modeling Language (UML) is gaining wide acceptance for the representation of engineering artifacts using the object-oriented paradigm There are several attempts to extend UML so as to encompass agent concepts In general, building methods and tools for agent-oriented software development on top of their object-oriented 4. Multiagent Sys [email protected] 2 software development on top of their object oriented counterparts seems appropriate It lends itself to smoother migration between these different technology generations It improves accessibility of agent-based methods and tools to the object-oriented developer community which, as of today, prevails in industry.

4. Multiagent Systems Design Part 2: ms (SMA-UPC) The ...jvazquez/teaching/sma-upc/... · diti s tems Design Scenarios Actions, Percepts Functionality s te m e cification cification

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: 4. Multiagent Systems Design Part 2: ms (SMA-UPC) The ...jvazquez/teaching/sma-upc/... · diti s tems Design Scenarios Actions, Percepts Functionality s te m e cification cification

4. Multiagent Systems DesignPart 2:

ems

(SM

A-U

PC

) The PROMETHEUSmethodology.

Javier Vázquez-Salceda

Mu

ltia

gen

t S

yste

https://kemlg.upc.edu

q

SMA-UPC

Methodological Extensions to Object-Oriented Approaches

A means for agent technologies to gain traction within industrial settings may be by being introduced through well-established technologies

stem

s D

esig

n

The Unified Modeling Language (UML) is gaining wide acceptance for the representation of engineering artifacts using the object-oriented paradigm

There are several attempts to extend UML so as to encompass agent concepts

In general, building methods and tools for agent-oriented software development on top of their object-oriented

4. M

ult

iag

ent

Sys

[email protected] 2

software development on top of their object oriented counterparts seems appropriate It lends itself to smoother migration between these different

technology generations It improves accessibility of agent-based methods and tools to

the object-oriented developer community which, as of today, prevails in industry.

Page 2: 4. Multiagent Systems Design Part 2: ms (SMA-UPC) The ...jvazquez/teaching/sma-upc/... · diti s tems Design Scenarios Actions, Percepts Functionality s te m e cification cification

ems

(SM

A-U

PC

)

The Prometheus Methodology

•Phases•Tools•From Prometheus to ROADMAP

Mu

ltia

gen

t S

yste

https://kemlg.upc.edu

Prometheus

Prometheus, is an iterative methodology covering the complete software engineering process Analysis, Design, Detailed design, Implementation

stem

s D

esig

n

Aims at the development of intelligent agents (in particular BDI agents) Uses goals, beliefs, plans, and events.

The resulting specification can be implemented in any agent implementation software that covers such abstractions

4. M

ult

iag

ent

Sys

[email protected] 4

Specially aimed for implementation with JACK

It is evolved out of practical experiences

It is aimed at industrial software development, not researchers

Page 3: 4. Multiagent Systems Design Part 2: ms (SMA-UPC) The ...jvazquez/teaching/sma-upc/... · diti s tems Design Scenarios Actions, Percepts Functionality s te m e cification cification

Prometheus Overview

Methodology developed over 7-8 years in collaboration with industry partner (Agent Software). Feedback from many students and industry partner clients.

stem

s D

esig

n

Focus on detailed guidance and structure to facilitate tool support.

Mixture of graphical notation for overview (structured) text notation for detail.

Hierarchical and modular.

4. M

ult

iag

ent

Sys

[email protected] 5

Hierarchical and modular.

Prototype tool available and used externally

The Prometheus methodology covers three phases The system specification focuses on identifying the

basic functions of the system, along with inputs

PrometheusPhases

stem

s D

esig

n

(percepts), outputs (actions) and their processing (for example, how percepts are to be handled and any important shared data sources to model the system’s interaction with respect to its changing and dynamic environment)

The architectural design phase subsequent to system specification determines which agents the system will contain and how they will interact

4. M

ult

iag

ent

Sys

[email protected] 6

contain and how they will interact The detailed design phase describes the internals of

each agent and the way in which it will achieve its tasks within the overall system. The focus is on defining capabilities (modules within the agent), internal events, plans and detailed data structures.

Page 4: 4. Multiagent Systems Design Part 2: ms (SMA-UPC) The ...jvazquez/teaching/sma-upc/... · diti s tems Design Scenarios Actions, Percepts Functionality s te m e cification cification

Prometheus Process Overview

stem

s D

esig

n4.

Mu

ltia

gen

t S

ys

[email protected] 7

PrometheusSystem Specification Phase

Initial system d i ti

stem

s D

esig

n

Actions, PerceptsScenariosFunctionality

stem

stem

ecifi

cati

on

ecifi

cati

on

System goals

description

Stakeholders(Actors)

4. M

ult

iag

ent

Sys

[email protected] 8

descriptors

Architectural Architectural designdesign

Sys

Sys

Spe

Spe

Page 5: 4. Multiagent Systems Design Part 2: ms (SMA-UPC) The ...jvazquez/teaching/sma-upc/... · diti s tems Design Scenarios Actions, Percepts Functionality s te m e cification cification

PrometheusSystem Specification phase

System defined by Goals: goal diagramgoal diagram

S i ii

stem

s D

esig

n

Scenarios: user case scenariosuser case scenarios

Functionalities: functionality descriptorsfunctionality descriptors

System interface with environment described in terms of

actions,

percepts

external data

4. M

ult

iag

ent

Sys

[email protected] 9

external data

PrometheusSystem Specification phase: Steps (non-sequential!)

Start with high-level description of the system (textual)

Identify actors

Identify top level scenarios for each actor

stem

s D

esig

n

Identify top-level scenarios for each actor

Identify inputs/outputs (actions/percepts)

4. M

ult

iag

ent

Sys

[email protected] 10

Page 6: 4. Multiagent Systems Design Part 2: ms (SMA-UPC) The ...jvazquez/teaching/sma-upc/... · diti s tems Design Scenarios Actions, Percepts Functionality s te m e cification cification

PrometheusSystem Specification phase: Steps (non-sequential!)

Add a corresponding system goal for each use-case

stem

s D

esig

n

Librarian

check-out booksAdmin

Order Books

4. M

ult

iag

ent

Sys

[email protected] 11

process returned books

order books

PrometheusSystem Specification phase: Steps (non-sequential!)

Apply Goal Abstraction to system goals

Refine Goal (OR/AND refinement)

Link goals to (sub)scenarios

stem

s D

esig

n

Order books

Maintain large range of books

Borrow books f th lib i

why?how? OR

Link goals to (sub)scenarios

Scenario

4. M

ult

iag

ent

Sys

[email protected] 12

Find cheapest price Organise delivery

from other libraries

Log Order

AND how?

Page 7: 4. Multiagent Systems Design Part 2: ms (SMA-UPC) The ...jvazquez/teaching/sma-upc/... · diti s tems Design Scenarios Actions, Percepts Functionality s te m e cification cification

PrometheusSystem Specification phase: Steps (non-sequential!)

Identify the functionalities of the system Idea: identify roles and activities

stem

s D

esig

n4.

Mu

ltia

gen

t S

ys

[email protected] 13

PrometheusSystem Specification phase: Steps (non-sequential!)

Develop and refine the Scenarios and sub-scenarios

stem

s D

esig

n

Steps inside a scenario consist of:

• Incoming event/percept ( receiving functionality)

• Message (sender receiver)

4. M

ult

iag

ent

Sys

[email protected] 14

• Activity or actions(functionalities)

Page 8: 4. Multiagent Systems Design Part 2: ms (SMA-UPC) The ...jvazquez/teaching/sma-upc/... · diti s tems Design Scenarios Actions, Percepts Functionality s te m e cification cification

PrometheusArchitectural Design Phase

System specification artifacts

Actions, Percepts

ScenariosFunctionalitydescriptors

System goals

stem

s D

esig

n

p p

Arc

hite

ctur

alA

rchi

tect

ural

Des

ign

Des

ign

g

Systemoverview

Agentdescriptors

Interactiondiagrams

Conversationprotocols

4. M

ult

iag

ent

Sys

[email protected] 15

Detailed designDetailed design

Ar

Ar

De

De

PrometheusArchitectural Design Phase: Agent types

Identify the agent typesagent types in the system Group functionalities to agent types based on cohesion

and coupling

stem

s D

esig

n

p g Group functionalities that are

• related based on common sense• group functionalities that require a lot of the same

information:–– Data Coupling DiagramData Coupling Diagram

Do not group functionalities that are• clearly unrelated• exist on different hardware platform

4. M

ult

iag

ent

Sys

[email protected] 16

• security and privacy• Modifiable by different people

Evaluate grouping:• Simple descriptive names (heuristic)• Generate agent acquaintance diagram

Page 9: 4. Multiagent Systems Design Part 2: ms (SMA-UPC) The ...jvazquez/teaching/sma-upc/... · diti s tems Design Scenarios Actions, Percepts Functionality s te m e cification cification

PrometheusArchitectural Design Phase: Data Coupling Diagram

stem

s D

esig

n4.

Mu

ltia

gen

t S

ys

[email protected] 17

PrometheusArchitectural Design Phase: Agent Descriptors

Generate Agent Descriptors based on the agent types

How many agents of a each agent type (one, many,

stem

s D

esig

n

dynamic)?

What is the life time of the agent?

What is the initial state of the agent?

What should be done when agent is killed?

What is the data used/produced by the agent?

To which event the agent should react?

4. M

ult

iag

ent

Sys

[email protected] 18

To which event the agent should react?

Page 10: 4. Multiagent Systems Design Part 2: ms (SMA-UPC) The ...jvazquez/teaching/sma-upc/... · diti s tems Design Scenarios Actions, Percepts Functionality s te m e cification cification

PrometheusArchitectural Design Phase: Agent Descriptors

stem

s D

esig

n4.

Mu

ltia

gen

t S

ys

[email protected] 19

PrometheusArchitectural Design Phase: System Overview Diagram

stem

s D

esig

n4.

Mu

ltia

gen

t S

ys

[email protected] 20

Key

Page 11: 4. Multiagent Systems Design Part 2: ms (SMA-UPC) The ...jvazquez/teaching/sma-upc/... · diti s tems Design Scenarios Actions, Percepts Functionality s te m e cification cification

PrometheusDetailed Design Phase

Architectural design artifacts

Systemoverview

Agentdescriptors

Conversationprotocols

stem

s D

esig

n

iled

iled

Des

ign

Des

ign

pp

AgentoverviewProcess

diagrams

Capabilitydescriptors

4. M

ult

iag

ent

Sys

[email protected] 21

ImplementationImplementation

Det

aiD

etai

Capabilityoverview

Plandescr.

Datadescr.

Eventdescr.

PrometheusDetailed Design Phase

The details of the agent internals are developed Defined in terms of capabilities, data, events and plans Process diagrams are used as stepping stone between

interaction protocols and plans

stem

s D

esig

n

interaction protocols and plans

Steps (I) Develop the internal structure of individual agents Identify the capability of each agent (start with

functionalities) Generate capability descriptorscapability descriptors

Name: Delivery Problem Handling

4. M

ult

iag

ent

Sys

[email protected] 22

External interface to the capability: events used/producedNatural language description: Respond if books are not in stockInteraction with other capabilities: Transport capabilityData used/produced by the capability: Note problem to transport capabilityInclusion of other capabilities: None

Generate agent overview diagramsagent overview diagrams

Page 12: 4. Multiagent Systems Design Part 2: ms (SMA-UPC) The ...jvazquez/teaching/sma-upc/... · diti s tems Design Scenarios Actions, Percepts Functionality s te m e cification cification

PrometheusDetailed Design Phase: Agent Overview Diagrams

stem

s D

esig

n4.

Mu

ltia

gen

t S

ys

[email protected] 23

Key

PrometheusDetailed Design Phase: Agent Overview Diagrams

stem

s D

esig

n4.

Mu

ltia

gen

t S

ys

[email protected] 24

Key

Page 13: 4. Multiagent Systems Design Part 2: ms (SMA-UPC) The ...jvazquez/teaching/sma-upc/... · diti s tems Design Scenarios Actions, Percepts Functionality s te m e cification cification

PrometheusDetailed Design Phase: Event, Data & Plan Descriptions

Steps (II)

Plan descriptionsPlan descriptions

stem

s D

esig

n

Name: Delivery Problem HandlingNatural language description: Respond if books are not in stockTriggering event type: Delivery problem, Delayed deliveryPlan steps: Delivery Query, Register problemsContext of performing the plan: The delivery is delayedData used/produced: Produce note problem

Event descriptionsEvent descriptions

4. M

ult

iag

ent

Sys

[email protected] 25

Event descriptionsEvent descriptions• Identify the purpose of events and the data carried by it

Data descriptionsData descriptions• Identify the data structure and operations on the data

PrometheusTools: the Prometheus Design Tool (PDT)

stem

s D

esig

n4.

Mu

ltia

gen

t S

ys

[email protected] 26

Page 14: 4. Multiagent Systems Design Part 2: ms (SMA-UPC) The ...jvazquez/teaching/sma-upc/... · diti s tems Design Scenarios Actions, Percepts Functionality s te m e cification cification

PrometheusTools: the Prometheus Design Tool (PDT)

System Specification PDT

stem

s D

esig

n

Architectural Design

Detailed Design

Implementation

PDT

PDT

4. M

ult

iag

ent

Sys

[email protected] 27

Debugging

Testing

From Prometheus to ROADMAP

Main strengths: Structured processes to refine design. Automated consistency checking between (some of) the

d i t f t

stem

s D

esig

n

design artefacts. Hierarchical and modular views.

Actively continuing development…

Next step: the ROADMAP methodology More abstract and high level than Prometheus

4. M

ult

iag

ent

Sys

[email protected] 28

More abstract and high level than Prometheus. Concerned with high level view of models needed. Focusses particularly on requirements analysis. Notation for new elements still being defined.

Page 15: 4. Multiagent Systems Design Part 2: ms (SMA-UPC) The ...jvazquez/teaching/sma-upc/... · diti s tems Design Scenarios Actions, Percepts Functionality s te m e cification cification

ROADMAPOverview of Models

Goal Model

Domain specific Application specific Reusable servicemodels

stem

s D

esig

n

G

Role Model

Agent Model

EnvironmentModel

KnowledgeModel

Social Model

ServiceModel

4. M

ult

iag

ent

Sys

[email protected] 29

Interaction Model

Prometheus providesdetails in these models-and a little in theenvironment model

ROADMAP Models

Goal hierarchy (Requirements, propagates down)

Roles associated with goals (Requirements)

I t ti d l

stem

s D

esig

n

Interaction model: Scenarios (Requirements). Protocols (Architectural design)

Requiring more work:

• Social Model• Knowledge Model

4. M

ult

iag

ent

Sys

[email protected] 30

• Social Model

• Services Model

• Knowledge Model

• Environment Model

• Possibly need a Task Model

Page 16: 4. Multiagent Systems Design Part 2: ms (SMA-UPC) The ...jvazquez/teaching/sma-upc/... · diti s tems Design Scenarios Actions, Percepts Functionality s te m e cification cification

ROADMAPIntegration with Prometheus

Prometheus actors/stakeholdersactors/stakeholders and functionalitiesfunctionalitiesbecome external/internal roles

C id tif ll ii t t l l

stem

s D

esig

n

Can identify goalsgoals or scenariosscenarios at top level

Add soft goals as annotations on all entities

Percepts Percepts and actionsactions possibly wait till architectural design

Still need to decide common notation

4. M

ult

iag

ent

Sys

[email protected] 31

ROADMAPExample of new models: Goal Model

Goal

Role

Key

stem

s D

esig

n

Librarian

User

Borrow book

Softgoal

FriendlyLargechoice

4. M

ult

iag

ent

Sys

[email protected] 32

Selectbook

Registerborrower

Providereturn date

Page 17: 4. Multiagent Systems Design Part 2: ms (SMA-UPC) The ...jvazquez/teaching/sma-upc/... · diti s tems Design Scenarios Actions, Percepts Functionality s te m e cification cification

1. N.R. Jennings, “On Agent-Based Software Engineering”, Artificial Intelligence, 117:227-296, 2000.

2. F. Zambonelli, N. Jennings, M. Wooldridge, “Organizational Abstractions for the Analysis and Design” 1st International Workshop

[ ]

[ ]

Referencesst

ems

Des

ign

Abstractions for the Analysis and Design , 1st International Workshop on Agent-oriented Software Engineering, LNAI No. 1957, 2001.

3. O. Shehory and A. Sturm, “Evaluation of Modelling Techniques for Agent-Based Systems”, Proceedings of The Fifth International Conference on Autonomous Agents, pp. 624-631, 2001.

4. L. Padgham, M. Winikoff. “Prometheus: A methodology for developing intelligent agents”. In Third Int. Workshop on agent-Oriented Software Engineering, July 2002.

[ ]

[ ]

[ ]

4. M

ult

iag

ent

Sys

[email protected] 33

5. L. Padgham, M. Winikoff. “Prometheus: A pragmatic methodology for engineering intelligent agents”. In proc. of the OOPSLA 2002 Workshop on Agent-Oriented Methodologies, page 97-108, Seatle, 2002.

[ ]

These slides are based mainly in [2], [4], [5] and material from M. Winikoff, L. Padgham, M. Luck and M. Dastani