You are on page 1of 45

MSC COMPUTER SCIENCE

AGENT METHODOLOGIES
Session Topics
1. Defining Agent Methodology
2. Where agent solutions are appropriate
3. Why agent oriented approach?
4. Features of agent oriented approach
5. Australian AI Institute (AAII) Methodology
6. Agent Oriented Analysis
7. Agent Genealogies
8. The TROPOS Methodology
9. MAS-CommonKADS Methodogy
10. The PASSI Methodology
11. The PROMETHEUS Methodology
12. The GAIA Methodology
13. The ADELFE Methodology
14. The MESSAGE Methodology
15. The INGENIAS Methodology
16. The Radical Agent Oriented Software Engineering
17. The Multi-Agent Systems Engineering

September 2009 School of Computing and


Informatics University of Nairobi
AGENT METHODOLOGIES

Source: Brian Henderson-Sellers, Paolo Girogini (2005) (Editors). Agent


oriented methodologies. Idea Group Publishing).

Defining agent methodology (James J. Odell (2005). Foreword in Brian


Henderson-Sellers, Paolo Girogini (2005). Agent oriented methodologies.
Idea Group Publishing).

A methodology is a body of methods employed by a discipline.


A method is a procedure for attaining something.

Issues:
1. Few agent-based systems developers have a methodology;
2. Most agent-based systems developers use an ad hoc approach;

September 2009 School of Computing and


Informatics University of Nairobi
ICS 806 - MULTI-AGENT SYSTEMS

Agent methodologies
Cases where agent solution is appropriate:
1. Open, dynamic, uncertain or complex environment.

2. Agents are natural metaphors- such as in


organizations with distributed functions, intelligent
interfaces.

3. Data, control or expertise is distributed- such as


database systems with different autonomous
ownership.

4. Legacy systems - where interfaces to old systems


are important.
September 2009 School of Computing and
Informatics University of Nairobi
ICS 806 - MULTI-AGENT SYSTEMS

Why agent oriented approach? ( FRANCO ZAMBONELLI, ANDREA OMICINI (2004).


Challenges and Research Directions in Agent-Oriented Software Engineering, Autonomous
Agents and Multi-Agent Sytems, 9, 253–283, 2004 , Kluwer Academic Publishers.)

Limitations of OO modelling approach


1. An object, unlike an agent, is neither autonomous nor proactive;
2. OO-applications do not give explicit model of external ‘‘environment’’:
since everything is modelled in terms of objects
3. Object-based computing promotes a perspective on software systems
in which components are ‘‘functional’’ or ‘‘service oriented’’ entities.
4. Object based computing leads to global system architecture that is
conceived as a static functional decomposition, where interactions
between components/objects are simply an expression of inter-
dependencies and where concepts such as society or roles simply do
not make any sense.
9 Object-oriented and the agent-oriented perspective on modelling and
building a software system are sharply different.
9 Agent-based computing represents a brand new software engineering
paradigm calling for a new discipline of agent-oriented software
engineering (AOSE for short)
September 2009 School of Computing and
Informatics University of Nairobi
ICS 806 - MULTI-AGENT SYSTEMS

Features of agent methodology (Brian


Henderson-Sellers, Paolo Girogini (2005). Agent oriented methodologies. Idea Group
Publishing)):

™Provide sufficient abstractions to fully model and


support agents and MASs—arguably;

™Should focus on an organized society of agents


playing roles within an environment;

™ Support MAS, where agents interact according to


protocols determined by the agents’ roles;

™Should be “agent-oriented” in that it is geared


towards the creation of agent-based software
September 2009 School of Computing and
Informatics University of Nairobi
An agent methodology: Austrialian AI Institute(AAII) agent development
methodology

Internal and external models are used. External model identifies the agents
and Their interactions. Internal models represent the implementations.
The development process is as given below:

1. Identify relevant agent roles and use these roles to develop agent
hierarchies.

2. Identify responsibilities associated with each role, services required or


provided by each role, and goals related to each service.

3. For every goal work out the plans used to achieve it and the contexts
when that plans can be applied.

4. Formulate the belief structure for the system, which consists of


information required for each plan and goal. For example speed(x)
means current speed is x.

September 2009 School of Computing and


Informatics University of Nairobi
Agent Oriented analysis model (Burmeister-1996)

Agent model- actual agents


Organizational model- static relationships between agents
Cooperation model- interaction and cooperation between agents
September 2009 School of Computing and
Informatics University of Nairobi
Agent Genealogies - (James Odell (2005))

September 2009 School of Computing and


Informatics University of Nairobi
The Tropos methodology (Italy, Belgium,
Canada, Brazil)- requirement driven methodology

Has four major development phases:


¾Early requirements- understanding of a problem by studying an
organizational setting.

¾Late requirements - describe the system-to-be is by its operational


environment, along with relevant functions and qualities.

¾Architectural design- define the system’s global architecture in


terms of subsystems, interconnected through data, control, and
other dependencies.

¾Detailed design- refine each architectural component further

Importance: Places an emphasis on modeling goals and their


relationship with the system’s actors, tasks, and resources.
September 2009 School of Computing and
Informatics University of Nairobi
Sample Tropos architectural design for Media
shop(From: Paolo Giorgini, Manuel Kolp, John Mylopoulos, Jaelson Castro (2005). Tropos: A
Requirements-Driven Methodology for Agent-Oriented Software, in Brian Henderson-Sellers, Paolo
Girogini (2005). Agent oriented methodologies. Idea Group Publishing, p. 50)

September 2009 School of Computing and


Informatics University of Nairobi
MAS-CommonKADS methodology(Spain)

MAS-CommonKADS is based on both CommonKADS and object-oriented


(OO)-based methodologies.

MAS-CommonKADS is an agent-oriented software engineering methodology


that guides the process of analyzing and designing multi-agent systems.

MASCommonKADS distinguishes several development phases:


• conceptualisation, where the system is conceived as a multi-agent
system and where agent properties of the system are identified;
• analysis, where different models are developed in order to analyse the
system from different points of view;
• design, where the different models are operationally focussed;
• development and testing, which are not addressed explicitly in the
methodology.

Importance: This methodology enables the developer to build agent-based


systems while applying the experiences of pre-agent methodologies and
employing familiar techniques and diagrams.
September 2009 School of Computing and
Informatics University of Nairobi
Models of MAS CommonKADS (From: Carlos A. Iglesias, Mercedes Garijo (2005).
The Agent-Oriented Methodology MAS-CommonKADS, in Brian Henderson-Sellers et al. p.64)

September 2009 School of Computing and


Informatics University of Nairobi
Example: Message sequence chart (From: Carlos A. Iglesias, Mercedes Garijo
(2005). The Agent-Oriented Methodology MAS-CommonKADS, in Brian Henderson-Sellers &Paolo Girogini. p.
88)

September 2009 School of Computing and


Informatics University of Nairobi
The PASSI methodology (Italy)
Process for Agent Societies Specification and
Implementation (PASSI) is a step-by-step requirement-
to-code methodology for: designing and developing
multi-agent societies integrating design models and
concepts from both object-oriented (OO) software
engineering and MAS, using the Unified Modeling
Language (UML) notation.
PASSI evolved out of theoretical studies and
experiments in the development of embedded robotics
applications.
Importance: The PASSI methodology brings a
particularly rich development lifecycle that spans initial
requirements though deployment and, in addition,
emphasizes the social model of agent-based systems.

September 2009 School of Computing and


Informatics University of Nairobi
Phases of PASSI methodology (From: Massimo Cossentino (2005).
From Requirements to Code with the PASSI Methodology, in Brian Henderson-Sellers, Paolo Girogini
(2005). Agent oriented methodologies. Idea Group Publishing, p. 96)

September 2009 School of Computing and


Informatics University of Nairobi
The Prometheus methodology (Australia)
The Prometheus methodology consists of three phases :
1. System Specification: where the system is specified using goals and use
case scenarios; the system’s interface to its environment is described in
terms of actions, percepts, and external data; and functionalities are
defined.
2. Architectural design: where agent types are identified; the system’s overall
structure is captured in a system overview diagram; and use case
scenarios are developed into interaction protocols.
3. Detailed design: where the details of each agent’s internals are developed
and defined in terms of capabilities, data, events, and plans; process
diagrams are used as a stepping stone between interaction protocols and
plans.

Importance: From an AI planning-execution perspective, Prometheus provides


an especially rich goal-driven approach for its BDI-like agents. Its
methodology is used today to develop systems on commercial BDI-based
agent platforms, such as JACK or Agentis.

September 2009 School of Computing and


Informatics University of Nairobi
Phases of Prometheus Methodology (From: Lin Padgham, Michael Winikoff
(2005). Prometheus: A Practical Agent-Oriented Methodology, in Brian Henderson-Sellers, Paolo Girogini (2005). Agent
oriented methodologies. Idea Group Publishing, p. 126)

September 2009 School of Computing and


Informatics University of Nairobi
The Gaia Methodology (UK)
Gaia methodology uses the analogy of human-based
organizations.

Importance: Gaia is one of the earliest agent


methodologies and now is in Version Two of its approach.
Gaia provides an approach that both a developer and a
non-technical domain expert can understand—facilitating
their interaction.

September 2009 School of Computing and


Informatics University of Nairobi
The Gaia methodology (From: Franco Zambonelli, Nicholas R. Jennings, Michael
Wooldridge(2005). Multi-Agent Systems as Computational Organizations: The Gaia Methodology, in Brian
Henderson-Sellers, Paolo Girogini (2005). Agent oriented methodologies. Idea Group Publishing, p. 162)

September 2009 School of Computing and


Informatics University of Nairobi
The ADELFE methodology (France)

ADELFE is a specialized methodology that


emphasizes cooperative agents that self-
organize and possibly result in emergent
systems.

It addresses designing complex adaptive


systems and anticipating emergence within its
software agents.

September 2009 School of Computing and


Informatics University of Nairobi
ADELFE steps (From: Carole Bernon, Valérie Camps, Marie-Pierre Gleizes, Gauthier Picard (2005).
Engineering adaptive Multi-Agent Systems: The ADELFE Methodology , in Brian Henderson-Sellers, Paolo
Girogini (2005). Agent oriented methodologies. Idea Group Publishing, pp. 198, 202, 205)

WD1: Preliminary requirements A6: Characterize environment


A1: Define user requirements S1: Determine entities
A2: Validate user S2: Define context
requirements S3: Characterize environment
A3: Define consensual A7: Determine use cases
requirements S1: Draw an inventory of use
A4: Establish keywords set cases
A5: Extract limits and S2: Identify cooperation
constraints failures
WD2: Final requirements S3: Elaborate sequence
diagrams
A8: Elaborate UI prototypes
A9: Validate UI prototypes

September 2009 School of Computing and


Informatics University of Nairobi
ADELFE steps

A10: Analyze the domain A12: Identify agents


S1: Identify classes S1: Study entities in the domain
S2: Study interclass context
relationships S2: Identify potentially
S3: Construct preliminary class cooperative entities
diagrams S3: Determine agents
A11: Verify the AMAS A13: Study interactions
adequacy between entities
S1: Verify it at the global level S1: Study active/passive
S2: Verify it at the local level entities relationships
S2: Study active entities
relationships
S3: Study agent relationships

September 2009 School of Computing and


Informatics University of Nairobi
ADELFE steps

A14: Study detailed A16: Design agents


architecture and multi- S1: Define skills
agent model S2: Define aptitudes
S1: Determine packages S3: Define interaction
S2: Determine classes languages
S3: Use design-patterns S4: Define world
S4: Elaborate component and representations
class diagrams S5: Define Non Cooperative
A15: Study interaction Situations
languages A17: Fast prototyping
A18: Complete design diagrams
S1: Enhance design diagrams
S2: Design dynamic behaviours

September 2009 School of Computing and


Informatics University of Nairobi
Identifying cooperative failures (From: Carole Bernon, Valérie Camps, Marie-Pierre Gleizes,
Gauthier Picard (2005). Engineering adaptive Multi-Agent Systems: The ADELFE Methodology , in Brian
Henderson-Sellers, Paolo Girogini (2005). Agent oriented methodologies. Idea Group Publishing, p. 200)

September 2009 School of Computing and


Informatics University of Nairobi
THE MESSAGE METHODOLOGY( Spain,
Belgium)
MESSAGE analysis and design process is based on the Rational Unified
Process (RUP).

The methodology distinguishes high-level from detailed design.

An organization-driven approach influences a detailed design, where the


global architecture of the MAS is derived from the structure and behaviour
of the organizations that interact.

The methodology supports the analysis and design of multi-agent


systems that are flexible and can adapt to specific kind of changes in a
heterogeneous and dynamic environment.

Importance: MESSAGE extends existing object-oriented methodologies


for agent-oriented applications. Originally intended to address
telecommunications applications, its resulting RUP-based approach also
supports more general applications.
September 2009 School of Computing and
Informatics University of Nairobi
Message meta concepts (From: Francisco J. Garijo, Jorge J. Gómez-Sanz, Philippe Massonet
(2005).The MESSAGE Methodology for Agent-Oriented Analysis and Design, in Brian Henderson-Sellers, Paolo Girogini
(2005). Agent oriented methodologies. Idea Group Publishing, p. 222)

September 2009 School of Computing and


Informatics University of Nairobi
Message process modeling (From: Francisco J. Garijo, Jorge J. Gómez-Sanz,
Philippe Massonet (2005).The MESSAGE Methodology for Agent-Oriented Analysis and Design, in Brian
Henderson-Sellers, Paolo Girogini (2005). Agent oriented methodologies. Idea Group Publishing, p. 222)

September 2009 School of Computing and


Informatics University of Nairobi
Message: Notations (From: Francisco J. Garijo, Jorge J. Gómez-Sanz, Philippe Massonet
(2005).The MESSAGE Methodology for Agent-Oriented Analysis and Design, in Brian Henderson-Sellers, Paolo Girogini
(2005). Agent oriented methodologies. Idea Group Publishing, p. 224)

September 2009 School of Computing and


Informatics University of Nairobi
THE INGENIAS METHODOLOGY (Spain)
The INGENIAS methodology has a notation based on five metamodels that
define the different views and concepts of a multi-agent system.

Viewpoints: organization; agent; tasks/goals/; interaction; environment

Viewpoints are described using a meta-modeling language, called Graph,


Object, Property, Role, and Relationship (GOPRR). GOPRR are the
primitives for describing the meta-models.

For each generic entity in the meta-model (e.g., meta-classes), the engineer
looks for specific types of entities (e.g., classes) in the current problem
domain that share the features specified in the meta-model (relationships
with other entities and related attributes).

The final result is a view of the system under development that is compliant
with the meta-model.

September 2009 School of Computing and


Informatics University of Nairobi
Ingenias Organizational viewpoint (From: Juan Pavón, Jorge J. Gómez-Sanz, Rubén Fuentes
(2005).The INGENIAS Methodology and Tools, in Brian Henderson-Sellers, Paolo Girogini (2005). Agent oriented
methodologies. Idea Group Publishing, p.256)

September 2009 School of Computing and


Informatics University of Nairobi
Ingenias- Elements of organization viewpoint- workflow (From: Juan Pavón, Jorge
J. Gómez-Sanz, Rubén Fuentes (2005).The INGENIAS Methodology and Tools, in Brian Henderson-Sellers, Paolo
Girogini (2005). Agent oriented methodologies. Idea Group Publishing, p.256)

September 2009 School of Computing and


Informatics University of Nairobi
Ingenias GRACIA interaction specification (From: Juan Pavón, Jorge J. Gómez-Sanz, Rubén
Fuentes (2005).The INGENIAS Methodology and Tools, in Brian Henderson-Sellers, Paolo Girogini (2005). Agent oriented
methodologies. Idea Group Publishing, p.261)

September 2009 School of Computing and


Informatics University of Nairobi
THE Radical Agent Oriented Software Engineering
Processes (RAP) METHODOLOGY (Australia, Germany)
The RAP/AOR methodology is an agent-oriented refinement of the Unified Software
Development Process.

The Rational Unified Process (RUP) aims at achieving more agility using simulation
for early testing of analysis and design models.

Agile methodologies, emphasize the value of lightweight ad hoc processes based on


test-case-based development and rapid prototyping and de-emphasize the value of
detailed modelling on which they blame the heavy weight and inflexibility of
traditional methodologies and the RUP.

The RAP/AOR methodology emphasizes the importance of precise modelling of the


problem domain at hand for achieving an agent-based information system with the
required functionality.

The preciseness of domain modelling is ensured by the ontological foundation of the


RAP/AOR methodology.

September 2009 School of Computing and


Informatics University of Nairobi
RAP methodology

RAP defines concepts such as physical agent, non-agentive object, action event,
social moment, and institutional agent.

Based on the ontological foundation, AORML introduces a graphical notation for


modelling the structure of an agent’s mental state, comprising the modelling of
agent types, their internal and external object types, action and non-action event
types, and commitment/claim types. Additionally, AORML introduces reaction rules
as its most important behaviour modeling element.

Importance: RAP is concerned with distributed information systems (such as


enterprise resource planning and supply-chain management systems) and relies
less on AI-based systems. The philosophy of the Model Driven Architecture (MDA)
is adopted with the goal that executable software agents can be generated using
RAP artifacts.

September 2009 School of Computing and


Informatics University of Nairobi
RAP model categories (From: Kuldar Taveter, Gerd Wagner (2005). Towards Radical Agent-Oriented
Software Engineering Processes Based on AOR Modelling, Brian Henderson-Sellers, Paolo Girogini (2005). Agent
oriented methodologies. Idea Group Publishing, p.298)

September 2009 School of Computing and


Informatics University of Nairobi
RAP- Mental state agent diagram (From: Kuldar Taveter, Gerd Wagner (2005). Towards Radical
Agent-Oriented Software Engineering Processes Based on AOR Modelling, Brian Henderson-Sellers, Paolo Girogini
(2005). Agent oriented methodologies. Idea Group Publishing, p.299)

September 2009 School of Computing and


Informatics University of Nairobi
RAP: example of interaction pattern (From: Kuldar Taveter, Gerd Wagner (2005). Towards
Radical Agent-Oriented Software Engineering Processes Based on AOR Modelling, Brian Henderson-Sellers, Paolo
Girogini (2005). Agent oriented methodologies. Idea Group Publishing, p.303)

September 2009 School of Computing and


Informatics University of Nairobi
RAP/AOR modeling framework (From: Kuldar Taveter, Gerd Wagner (2005). Towards Radical Agent-
Oriented Software Engineering Processes Based on AOR Modelling, Brian Henderson-Sellers, Paolo Girogini (2005). Agent
oriented methodologies. Idea Group Publishing, p.304)

Viewpoint models Viewpoint aspect


Abstraction level Interaction Information Behaviour
Conceptual AOR Agent Diagrams, AOR Agent AOR Interaction Pattern
Domain Modelling UML Use Diagrams Diagrams, Goal-Based
Case Diagrams, AOR Use Case Models,
Interaction AOR Activity Diagrams
Frame Diagrams, AOR
Interaction
Sequence Diagrams
Platform- UML Use Case Diagrams, AOR Agent AOR Reaction Pattern
Independent AOR Diagrams Diagrams, AOR Internal
Computational Reaction Frame Activity Diagrams, UML
Design Diagrams, User State Machine Diagrams
Interface Design Models,
Security
Models, UML Class
Diagrams,
UML Interaction
Diagrams
Platform-Specific UML Deployment Diagrams Diagrams
Implementation Diagrams UML Class UML Class Diagrams UML Class Diagrams

September 2009 School of Computing and


Informatics University of Nairobi
The Multi-agent systems Engineering (MaSE) methodology(USA)

MaSE builds on object-oriented techniques and uses defined in the Unified


Modeling Language.

The semantics of the models are specialized for the multi-agent setting.

MaSE was designed to be used to analyze, design, and implement multi-agent


systems by proceeding in an orderly fashion through the development lifecycle.

MaSE is automated via an analysis and design environment called agentTool;


AgentTool guides the system designer through a series of models, from highlevel
goal definition to automatic verification, semi-automated design generation, and
finally to code generation.
The MaSE methodology consists of two main phases that result in the creation of a
set of complementary models. These are the analysis phase and the design phase.
Importance: MaSE is a comprehensive methodology that has been used to
develop systems ranging from heterogeneous database integration applications to
biologically based, computer-virus immune systems and cooperative robotics
systems. Its hybrid approach can be applied to multi-agent systems that involve
implementations, such as distributed human and machine planning.
September 2009 School of Computing and
Informatics University of Nairobi
MaSE phases (From: Scott A. DeLoach, Madhukar Kumar (2005). Multi-Agent Systems Engineering: An Overview and
Case, in Brian Henderson-Sellers, Paolo Girogini (2005). Agent oriented methodologies. Idea Group Publishing, p.334)

September 2009 School of Computing and


Informatics University of Nairobi
MaSE interaction diagram example (From: Scott A. DeLoach, Madhukar Kumar (2005). Multi-
Agent Systems Engineering: An Overview and Case, in Brian Henderson-Sellers, Paolo Girogini (2005). Agent oriented
methodologies. Idea Group Publishing, p.343)

September 2009 School of Computing and


Informatics University of Nairobi
Some comparisons of the methodologies (Australians)
It is impossible (and not recommended) to determine which
methodology is the best among the 10 given. (Quynh-Nhu Numi Tran & Graham
C. Low (2005)).

The decision should depend on the target application.

Each application entails a different set of requirements that indicate


which evaluation criteria are the most important and should be
supported by the chosen AOSE methodology.

When considering which methodology to adopt for a particular


application, ranking should be done on the required features that the
methodology should support.

(Quynh-Nhu Numi Tran, Graham C. Low (2005). Comparison of Ten Agent-Oriented


Methodologies, in Brian Henderson-Sellers, Paolo Girogini (2005). Agent oriented methodologies.
Idea Group Publishing, pp. 357-)

September 2009 School of Computing and


Informatics University of Nairobi
A comparison framework (from Quynh-Nhu Numi Tran, Graham C. Low (2005). Comparison of
Ten Agent-Oriented Methodologies, in Brian Henderson-Sellers, Paolo Girogini (2005). Agent oriented
methodologies. Idea Group Publishing, pp. 359)

September 2009 School of Computing and


Informatics University of Nairobi
A comparison framework from (Quynh-Nhu Numi Tran, Graham C. Low (2005). Comparison of
Ten Agent-Oriented Methodologies, in Brian Henderson-Sellers, Paolo Girogini (2005). Agent oriented
methodologies. Idea Group Publishing, pp. 359)

The criteria are grouped into four categories:

• Process-Related Criteria: evaluating an AOSE methodology’s evelopment


process.

• Technique-Related Criteria: assessing the methodology’s techniques to


perform development steps and/or to produce models and notational components.

• Model-Related Criteria: examining the capabilities and characteristics of


the methodology’s models and notational components.

• Supportive-Feature Criteria: evaluating a variety of high-level methodological


capabilities.

September 2009 School of Computing and


Informatics University of Nairobi
Week 3 exercises
1.Select at least four Methodologies and
describe how you may build an agent
based system using each one of them.
2.How would you select a methodology?

September 2009 School of Computing and


Informatics University of Nairobi