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
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.
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
Specially aimed for implementation with JACK
It is evolved out of practical experiences
It is aimed at industrial software development, not researchers
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
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
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.
Prometheus Process Overview
stem
s D
esig
n4.
Mu
ltia
gen
t S
ys
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
descriptors
Architectural Architectural designdesign
Sys
Sys
Spe
Spe
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
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
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
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
Find cheapest price Organise delivery
from other libraries
Log Order
AND how?
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
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
• Activity or actions(functionalities)
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
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
• security and privacy• Modifiable by different people
Evaluate grouping:• Simple descriptive names (heuristic)• Generate agent acquaintance diagram
PrometheusArchitectural Design Phase: Data Coupling Diagram
stem
s D
esig
n4.
Mu
ltia
gen
t S
ys
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
To which event the agent should react?
PrometheusArchitectural Design Phase: Agent Descriptors
stem
s D
esig
n4.
Mu
ltia
gen
t S
ys
PrometheusArchitectural Design Phase: System Overview Diagram
stem
s D
esig
n4.
Mu
ltia
gen
t S
ys
Key
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
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
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
PrometheusDetailed Design Phase: Agent Overview Diagrams
stem
s D
esig
n4.
Mu
ltia
gen
t S
ys
Key
PrometheusDetailed Design Phase: Agent Overview Diagrams
stem
s D
esig
n4.
Mu
ltia
gen
t S
ys
Key
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
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
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
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
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.
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
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
• Social Model
• Services Model
• Knowledge Model
• Environment Model
• Possibly need a Task Model
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
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
Selectbook
Registerborrower
Providereturn date
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
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