SOFTWARE ENGINEERING METHODOLOGIES: THE AGENT APPROACH

21
SOFTWARE ENGINEERING METHODOLOGIES: THE AGENT APPROACH Andrea Omicini [email protected] Università di Bologna at Cesena Italy Ambra Molesini [email protected] Università di Bologna Italy Enrico Denti [email protected] Università di Bologna Italy

Transcript of SOFTWARE ENGINEERING METHODOLOGIES: THE AGENT APPROACH

Page 1: SOFTWARE ENGINEERING METHODOLOGIES: THE AGENT APPROACH

SOFTWARE ENGINEERING METHODOLOGIES: THE AGENT

APPROACH

Andrea [email protected]à di Bologna at CesenaItaly

Ambra [email protected]à di BolognaItaly

Enrico [email protected]à di BolognaItaly

Page 2: SOFTWARE ENGINEERING METHODOLOGIES: THE AGENT APPROACH

22/09/2006 AICA 2006 CESENA- Italy 2

Outline

• Agent Oriented Software Engineering

• AOSE Methodologies: State of the Art

• Conclusions

Page 3: SOFTWARE ENGINEERING METHODOLOGIES: THE AGENT APPROACH

22/09/2006 AICA 2006 CESENA- Italy 3

Why Agent-Oriented Software Engineering?

• Software engineering is necessary to discipline software systems and software processes

• Agent-based computing introduces novel abstractions and asks for– making the set of abstractions required clear

– adapting methodologies and producing new tools

• Novel, specific agent-oriented software engineering approaches are needed!

Page 4: SOFTWARE ENGINEERING METHODOLOGIES: THE AGENT APPROACH

22/09/2006 AICA 2006 CESENA- Italy 4

Agent-Oriented Abstractions• The development of a multi-agent system should

fruitfully exploit ad-hoc abstractions– agents, autonomous entities, independent loci of control,

situated in an environment, interacting with each other– environment, the world of resources agents perceive– interaction protocols, the acts of interactions between

agents, and between agents and the environment• In addition, there may be the need of abstracting the

local context where an agent lives to handle mobility & opennes

• Need of mechanisms to manage the complexity of system description

Page 5: SOFTWARE ENGINEERING METHODOLOGIES: THE AGENT APPROACH

22/09/2006 AICA 2006 CESENA- Italy 5

MAS Architecture vs. OO Architecture

Page 6: SOFTWARE ENGINEERING METHODOLOGIES: THE AGENT APPROACH

22/09/2006 AICA 2006 CESENA- Italy 6

AOSE

• AOSE is not only for “agent systems”– most of today's software systems features are very similar to

those of agents and multi-agent systems – AOSE abstractions, methodologies, and tools are well suited

for such software systems

• But of course…– AOSE may sometimes appear to be too “high-level”

– there is a gap between the AOSE approach and the available technologies

Page 7: SOFTWARE ENGINEERING METHODOLOGIES: THE AGENT APPROACH

22/09/2006 AICA 2006 CESENA- Italy 7

AOSE Methodologies:State of the Art

Page 8: SOFTWARE ENGINEERING METHODOLOGIES: THE AGENT APPROACH

22/09/2006 AICA 2006 CESENA- Italy 8

Gaia• The most known AOSE methodology

– First proposed by Jennings and Wooldridge in 1999– Final Stable Version in 2003 by Zambonelli, Jennings,

Wooldridge– Many other researchers are working towards further

extensions…• Key Goals

– Starting from the requirements (what one wants a software system to do)

– Guide developers to a well-defined design for the multi-agent system

– Model and dealing with the characteristics of complex and open multi-agent systems

– Easy to implement

Page 9: SOFTWARE ENGINEERING METHODOLOGIES: THE AGENT APPROACH

22/09/2006 AICA 2006 CESENA- Italy 9

Gaia Process

Analysis phase Architectural design

• Preliminary role

• Preliminary interaction

• Organisational rules

• Environment

• Role

• Interaction

• Organisational structure

• Organisational patterns

Detailed design

• Agent

• Service

Page 10: SOFTWARE ENGINEERING METHODOLOGIES: THE AGENT APPROACH

22/09/2006 AICA 2006 CESENA- Italy 10

Gaia Limitations

• Gaia does not deal directly with implementation issues

• Gaia does not deal with the activity of requirements capture and modelling and of early requirements engineering

• Gaia supports only the sequential approach to software development

• … environment?• … support to manage complexity?

Page 11: SOFTWARE ENGINEERING METHODOLOGIES: THE AGENT APPROACH

22/09/2006 AICA 2006 CESENA- Italy 11

PASSI

• PASSI (Process for Agent Societies Specification and Implementation) is a step-by-step requirement-to-code methodology.

• The methodology integrates design models and concepts from both Object Oriented Software Engineering and MAS using UML notation

• PASSI refers to the most diffuse standards: UML, FIPA, JAVA, Rational Rose

Page 12: SOFTWARE ENGINEERING METHODOLOGIES: THE AGENT APPROACH

22/09/2006 AICA 2006 CESENA- Italy 12

PASSI Process

System requirement model

Agent society model

• Domain

• Agent

• Role

• Task

• Role

• Ontology

• Protocol

Agent Implementation model

• Agent structure

• Agent behaviour

Code model

• Code reuse

• Code completion

Deployment model

• Deployment configuration

Page 13: SOFTWARE ENGINEERING METHODOLOGIES: THE AGENT APPROACH

22/09/2006 AICA 2006 CESENA- Italy 13

PASSI Limitations

• Multiplicity problem (from UML): the need to concurrently refer to different models in order to understand a system and the way it operates and changes over time is a critical issue

• (From UML) Each model introduces its own set of symbols and concepts, thus leading to an unnatural complexity in terms of vocabulary.

• The environment is not considered.• … the support to manage complexity?

Page 14: SOFTWARE ENGINEERING METHODOLOGIES: THE AGENT APPROACH

22/09/2006 AICA 2006 CESENA- Italy 14

Tropos• Tropos is founded on two key features

– (i) the notions of agent, goal, plan and various other knowledge level concepts

– (ii) a crucial role is assigned to requirements analysis and specification when the system-to-be analysed with respect to its intended environment.

• The developers can capture and analyse the goals of stakeholders

• These goals play a crucial role in defining the requirements for the new system: prescriptive requirements capture the what and the how for the system-to-be

Page 15: SOFTWARE ENGINEERING METHODOLOGIES: THE AGENT APPROACH

22/09/2006 AICA 2006 CESENA- Italy 15

TROPOS ProcessRequirements Analysis

• Social actor

• Dependency

Architectural Design

• Actor

• Organisational structure

Detailed Design

• Agent

• Agent’s behaviour

• Social pattern

Page 16: SOFTWARE ENGINEERING METHODOLOGIES: THE AGENT APPROACH

22/09/2006 AICA 2006 CESENA- Italy 16

TROPOS Limitations

• Tropos is not intended for any type of software: only for systems with identifiable stakeholders

• Tropos, in its current form, is not suitable for sophisticate software agents requiring advanced reasoning mechanism for planning

• … environment?

• … support to manage complexity?

Page 17: SOFTWARE ENGINEERING METHODOLOGIES: THE AGENT APPROACH

22/09/2006 AICA 2006 CESENA- Italy 17

SODA

• SODA (Societies in Open and Distributed Agent spaces) is an agent-oriented methodology for the analysis and design of agent-based systems

• SODA focuses on inter-agent issues, like the engineering of societies and environments for MASs

• SODA adopts agents and artifacts (A&A) as building block for MAS development

• SODA introduces a simple layering principle in order to manage the complexity of the system description

Page 18: SOFTWARE ENGINEERING METHODOLOGIES: THE AGENT APPROACH

22/09/2006 AICA 2006 CESENA- Italy 18

SODA ProcessRequirements Analysis Analysis phase

• Task

• Function

• Dependency

• Topology

• Role

• Action

• Resource

• Operation

• Interaction

• Workspace

• Environment

Design phase• Agent

• Society

• Artifact

• Composition of artifacts

• Interaction

Page 19: SOFTWARE ENGINEERING METHODOLOGIES: THE AGENT APPROACH

22/09/2006 AICA 2006 CESENA- Italy 19

SODA Limitations

• SODA does not deal with the activity of requirements capture

• Only Inter-agents aspects need of other methodology for design intra-agents

aspects

Page 20: SOFTWARE ENGINEERING METHODOLOGIES: THE AGENT APPROACH

22/09/2006 AICA 2006 CESENA- Italy 20

In Summary

GoodGoodGoodGoodSODA

AbsentAbsentGoodGoodPASSI

AbsentAbsentTo improveGoodTropos

AbsentAbsentGoodGoodGaia

Complexitymanagement

Environmentmanagement

Social structuremanagement

Requirementanalysis

Page 21: SOFTWARE ENGINEERING METHODOLOGIES: THE AGENT APPROACH

22/09/2006 AICA 2006 CESENA- Italy 21

Conclusions • The models of

– environment – social structure

should be key points in any agent-oriented methodologies

• Currently SODA appears the only methodology that supports both aspects

• Need of standards and languages that support the agent approach natively