aose - agent oriented software engineering alvaro magri [email protected]

38
AOSE - Agent Oriented Software Engineering Alvaro Magri [email protected]

Post on 22-Dec-2015

217 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: AOSE - Agent Oriented Software Engineering Alvaro Magri 1999s099@educ.disi.unige.it

AOSE - Agent Oriented

Software Engineering

Alvaro Magri [email protected]

Page 2: AOSE - Agent Oriented Software Engineering Alvaro Magri 1999s099@educ.disi.unige.it

AOSE: index

● AOSE: introduction

● Agent-based approach

● GAIA methodology

● Tropos methodology

● Prometheus methodology

● Comparison among the three methodologies

Page 3: AOSE - Agent Oriented Software Engineering Alvaro Magri 1999s099@educ.disi.unige.it

AOSE: Introduction (1)● Agent-based computing is a synthesis of both Artificial Intelligence (AI) and

Computer Science

● An agent is an encapsulated computer system that is situated in some

environment and that is capable of flexible, autonomous action in that

environment in order to meet its design objectives [1]

● Agents are being advocated as a next generation model for engineering open,

complex, distributed systems

– Open: components can join or leave the dynamic operating environment and the

operating conditions change in unpredictable ways

– Complex: the software has a large number of components that interact following

complex interaction protocols; every agent has a partial view of the environment

and there is no centralized control

Page 4: AOSE - Agent Oriented Software Engineering Alvaro Magri 1999s099@educ.disi.unige.it

AOSE: Introduction (2)

● In real-world applications the environment is open, complex and

dynamic. As a consequence,

– Interaction among components cannot be completely foreseen at

compile-time

– The system's inherent organizational structure must be explicitly

represented

● We need the right abstractions, methodologies and instruments to

correctly engineer applications of this kind

Page 5: AOSE - Agent Oriented Software Engineering Alvaro Magri 1999s099@educ.disi.unige.it

AOSE: Agent-Based

approach (1)

Page 6: AOSE - Agent Oriented Software Engineering Alvaro Magri 1999s099@educ.disi.unige.it

AOSE: Agent-Based

approach (2)● Why should we use an agent-based approach in software development?

● Traditional SE techniques for tackling system complexity involve:

– DECOMPOSITION: Agents like active objects

– ABSTRACTION: Booch [2] '' at any given level of abstraction, we find

meaningful collections of entities that collaborate to achieve some

higher level view ''

– ORGANISATION: Organizational constructs are first-class entities in

agent system

Page 7: AOSE - Agent Oriented Software Engineering Alvaro Magri 1999s099@educ.disi.unige.it

AOSE: Agent-Based

approach (3)● AB approach models real-world systems so:

– The patterns and the outcomes of interactions are inherently

unpredictable

– Predicting the behavior of the overall system based on its

constituent components is extremely difficult

Page 8: AOSE - Agent Oriented Software Engineering Alvaro Magri 1999s099@educ.disi.unige.it

AOSE: Agent-Based

approach (4)● To avoid building a methodology from scratch, the researchers have extended

existing methodologies in two areas:

1) OO methodologies

2) KE knowledge engineering

● In OO extensions agents are not simply objects: the interaction between roles

follows complex protocols and agents are characterized by their mental state

● Existing OO extensions are: AO Analysis and Design [3], Agent Modelling

Technique for Systems of BDI agents [4], MASB [5] [6], the AO Methodology for

Enterprise modeling [7], Gaia, Tropos, Prometheus, AUML

● In KE extensions, techniques for modeling the agent knowledge are provided.

These methodologies are not as extendibles as the OO ones

● Existing KE extensions are: CoMoMAS [8], MAS-CommonKADS [9] and

Cassiopeia [10]

Page 9: AOSE - Agent Oriented Software Engineering Alvaro Magri 1999s099@educ.disi.unige.it

AOSE: Gaia (1)● Gaia is a methodology initially

proposed by M. Wooldridge,

N.R. Jennings, and D. Kinny in

the article ''A methodology for

Agent-Oriented Analysis and

Design'' (1999) [11]

● Recently, a new version of Gaia

has been proposed by M.

Wooldridge, N.R. Jennings and

Franco Zambonelli (3-10-2003)

[12].The new version extends

the range of applications to

which Gaia can be applied

Page 10: AOSE - Agent Oriented Software Engineering Alvaro Magri 1999s099@educ.disi.unige.it

AOSE: Gaia (2)● REQUIREMENTS: Gaia does not explicitly deal with the activities of

requirements capturing

● ANALYSIS:

– The Organization: multiple organizations have to co-exist in the system

and become autonomous interacting MASs (Multi-Agent Systems)

– Environmental Model: The environment is modelled in terms of

abstract computational resources as variables or tuples, made available to

the agents for sensing, for effecting, or for consuming

Page 11: AOSE - Agent Oriented Software Engineering Alvaro Magri 1999s099@educ.disi.unige.it

AOSE: Gaia (3)

– Preliminary Role Model: definition of the organization's roles and protocols. There are two main attribute classes:

● Permissions: what can or cannot be done while carrying out the role

● Responsibilities: – Liveness properties:given centain conditions, ''something good happens''– Safety properties: are invariants, '' nothing bad happens ''

— Preliminary Interaction Model: protocol definition for each type of inter-role interaction with particular attributes: protocol name, initiator, partner, inputs, outputs, description

– Organizational Rules: it is possible to distinguish between liveness and safety organizational rules.

● Liveness rules define how the dynamics of the organization should evolve over time

● Safety rules define time-independent global invariants for the organization

Page 12: AOSE - Agent Oriented Software Engineering Alvaro Magri 1999s099@educ.disi.unige.it

AOSE: Gaia (4)● ARCHITECTURAL DESIGN:

– During this engineering stage, various notations and graphical

representations can be adopted to describe and present roles and their

interactions (e. g., AUML diagrams)

– Completion of Role and Interaction Models

● The identification of the MAS organizational structure allows the MAS

designer to know which roles will interact with other roles and which

protocols will be followed during interaction

Page 13: AOSE - Agent Oriented Software Engineering Alvaro Magri 1999s099@educ.disi.unige.it

AOSE: Gaia (5)● DETAILED DESIGN:

– Agent Model: identifies which agent classes are to be defined to play

specific roles and how many instances of each class have to be instantiated.

– Services Model: identifies the services associated with each agent class.

For each service the documentation related to its inputs, outputs, pre-

conditions and post-conditions must be provided

● IMPLEMENTATION: Gaia does not deal with implementation issues

Page 14: AOSE - Agent Oriented Software Engineering Alvaro Magri 1999s099@educ.disi.unige.it

AOSE: Prometheus (1)● Prometheus is a

methodology proposed by L. Padgham and M. Winikoff in the article '' Prometheus: A methodology for Developing Intelligent Agents '' (2002) [13]

● Prometheus was the wisest Titan in Greek mythology

Page 15: AOSE - Agent Oriented Software Engineering Alvaro Magri 1999s099@educ.disi.unige.it

AOSE: Prometheus (2)● SYSTEM SPECIFICATION:

– In this stage ''percepts'' and ''actions'' that characterize the agent's

interaction with the environment are defined

– Functional descriptors that contain a name, description, actions,

percepts, data used, and produced and a description of interactions are

defined

– Use cases: contain an identification number, a natural language

overview, an optional field context, the scenario , a summary of all the

information used, and a list of small variants

Page 16: AOSE - Agent Oriented Software Engineering Alvaro Magri 1999s099@educ.disi.unige.it

AOSE: Prometheus (3)● ARCHITECTURAL DESIGN:

– During this stage the following activities are performed:

● Identification of which agents should belong to the MAS

● identification of groups of agents which share the same functionalities

● identification of the agent acquaintance diagram which defines the links among interacting agents

Page 17: AOSE - Agent Oriented Software Engineering Alvaro Magri 1999s099@educ.disi.unige.it

AOSE: Prometheus (4)– definition of the agent descriptors, characterized by name, description, cardinality,

functionalities, reads data, writes data, interacts with

– definition of the events, messages and shared data objects

- identification of the system overview diagram whichties together agents, events and shared data objects- definition of the interaction diagrams and interaction protocolsusing AUML

Page 18: AOSE - Agent Oriented Software Engineering Alvaro Magri 1999s099@educ.disi.unige.it

AOSE: Prometheus (5)● DETAILED DESIGN:

– Focuses on developing the internal structure of each agent and how it will achieve its task within the system

– The developer must define capabilities, internal events, plans and detailed data structures

– Capability descriptor: contains inputs and produced events, a description of functionality, a name, interactions with other capabilities, inclusions and a reference to read and write data

– Agent overview diagram: shows capabilities within an agent

– Capability overview diagram: takes a single capability and describes its features

– The final design artifacts are the individual plan, even and data descriptors

– The Plan descriptor provides an identifier, the triggering event type, the plan steps, a context and a list of data read and written

Page 19: AOSE - Agent Oriented Software Engineering Alvaro Magri 1999s099@educ.disi.unige.it

AOSE: Tropos (1)● Tropos is a methodology proposed

by J. Mylopoulos, M. Kolp and P. Giorgini in the article '' Agent Oriented Software Development '' (2002, but since 2000 was matter of study) [14]

● This presentation is based on the latest article written by P. Bresciani, P. Giorgini, F. Giunchiglia, J. Mylopoulos and A. Perini ''TROPOS: An Agent-Oriented Software Development Methodology '' (May 2004) [15]

FIVE MAIN DEVELOPMENT PHASES:● Early Requirements● Late Requirements● Architectural Design● Detailed Design● Implementation

NOTE: Tropos from Greek ''tropé'' which means ''easily changeable'', also ''easily adaptable''

Page 20: AOSE - Agent Oriented Software Engineering Alvaro Magri 1999s099@educ.disi.unige.it

AOSE: Tropos (2)● MODELING ACTIVITIES:

– Actor modeling, which consists of identifying and analyzing both the actors

of the environment and system' s actors and agents

– Dependency modeling

– Goal modeling based on 3 basic techniques: means-end analysis,

contribution analysis, and AND/OR decomposition

– Plan modeling

– Capability modeling

Page 21: AOSE - Agent Oriented Software Engineering Alvaro Magri 1999s099@educ.disi.unige.it

AOSE: Tropos (3)● EARLY REQUIREMENTS ANALYSIS: consists of identifying and

analyzing the stakeholders and their intentions. We must create Actor Diagrams

and Goal Diagrams

Page 22: AOSE - Agent Oriented Software Engineering Alvaro Magri 1999s099@educ.disi.unige.it

AOSE: Tropos (4)

Page 23: AOSE - Agent Oriented Software Engineering Alvaro Magri 1999s099@educ.disi.unige.it

AOSE: Tropos (5)● LATE REQUIREMENTS ANALYSIS: focuses on the system-to-be

within its operating environment. System-to-be is represented with a goal

diagram as one actor which has a number of dependencies with the other actors

of the organization.

● ARCHITECTURAL DESIGN: defines the system' s global architecture

in terms of sub-systems (actors) interconnected through data and control flows

(dependencies). It is articulated in 3 steps:

– Step 1: the overall architecture is defined ( extended actor diagram)

– Step 2: the capabilities is defined from actor dependencies

– Step 3: a set of agent types with one or more different capabilities (agent

assignment) is defined

Page 24: AOSE - Agent Oriented Software Engineering Alvaro Magri 1999s099@educ.disi.unige.it

AOSE: Tropos (6)● DETAILED DESIGN: deals with the specification of the agents' micro level

– Capability diagrams: model a capability with UML activity diagrams. In particular action states model plans

– Plan diagrams: each plan node of a capability diagram can be further specified by UML activity diagrams

– Agent interaction diagrams: AUML sequence diagrams

● IMPLEMENTATION: in JACK Intelligent Agents [16], an agent-oriented development environment

Page 25: AOSE - Agent Oriented Software Engineering Alvaro Magri 1999s099@educ.disi.unige.it

Comparison (1)● In order to compare Agent-Oriented Methodologies we must

have a comparison framework

● In order to compare Gaia and Tropos we refer to the

framework presented by A. Sturm and O. Shehory in ''A

Framework for Evaluating Agent-Oriented Methodologies''

[17]

● In order to compare Prometheus and Tropos we refer to the

framework presented by K.H. Dam and M. Winikoff in

''Comparing Agent-Oriented Methodologies'' [18]

Page 26: AOSE - Agent Oriented Software Engineering Alvaro Magri 1999s099@educ.disi.unige.it

Comparison (2)● GAIA AND TROPOS:

● The Evaluation Framework:

– Properties: autonomy, reactiveness, pro activeness, sociality

– Concepts: agent, belief, desire, intention message, norm, organization, protocol, role, service, Society, task

– Notation and Modeling Techniques properties: accessibility, analyzability, complexity management, executability, expressiveness, modularity, preciseness

– Process: development context, life cycle coverage (requirements, analysis, design, implementation, testing)

– Pragmatics: resources, required expertise, language (paradigm and architecture) suitability, domain applicability, scalability

– Metric: scale from 1 to 7

Page 27: AOSE - Agent Oriented Software Engineering Alvaro Magri 1999s099@educ.disi.unige.it

Comparison (3)

Page 28: AOSE - Agent Oriented Software Engineering Alvaro Magri 1999s099@educ.disi.unige.it

Comparison (4)● PROMETHEUS AND TROPOS:

● The Evaluation Framework:

– Concepts: agents, autonomy, adaptability, mental notions (BDI), relationship,

communication, goals, agent role, capabilities, percepts, actions and events

– Modeling language: usability, technical criteria ( unambiguity, consistency,

traceability)

– Process: enterprise modeling, domain analysis, requirements analysis,

design, implementation and testing

– Pragmatic: management and technical issues

Page 29: AOSE - Agent Oriented Software Engineering Alvaro Magri 1999s099@educ.disi.unige.it

Comparison (5)

Page 30: AOSE - Agent Oriented Software Engineering Alvaro Magri 1999s099@educ.disi.unige.it

Comparison (6)

Page 31: AOSE - Agent Oriented Software Engineering Alvaro Magri 1999s099@educ.disi.unige.it

Comparison (7)

● PROMETHEUS AND GAIA:

● No existing framework

● Gaia stresses the role organization

● Prometheus is more detailed in the definition of single agents

● Prometheus adheres to the BDI model, while Gaia does not

Page 32: AOSE - Agent Oriented Software Engineering Alvaro Magri 1999s099@educ.disi.unige.it

Useful link (1)● http://www.science.unitn.it/~recla/aose/ (contains links to all

AOSE methodologies)

Page 33: AOSE - Agent Oriented Software Engineering Alvaro Magri 1999s099@educ.disi.unige.it

References (1)[1] M. Wooldridge, Agent-Based software engineering, IEE Proc. Software

Engineering 144 (1) (1997) 26-37.

[2] G. Booch, Object-Oriented analysis and Design with Applications, Addison-

Wesley, Reading, MA, 1994.

[3] Birgit Burmeister. Models and methodology for agent-oriented analysis and

design. In K fischer, editor, Working Notes of the KI'96 Workshop on Agent-

Oriented Programming and Distributed Systems, 1996. DFKI.

[4] David Kinny, Michael Georgeff, and Anand Rao. Amethodology and modelling

techniques for systems of BDI agents. In W. van der Velde and J. Perrram,

editors, Agents Breaking Away: Proceedings of the Seventh European

Workshop on Modelling Autonomous Agents in a Multi-agent World

MAAMAW'96, (LNAI Volume 1038). Springer-Verlag: Heidelberg, Germany,

1996.

Page 34: AOSE - Agent Oriented Software Engineering Alvaro Magri 1999s099@educ.disi.unige.it

References (2)

[5] B. Moulin and L. Cloutier. Collaborative work based on multiagent architectures:

A methodological perspective. In Fred Aminzadeh and Mohammad Jamshidi,

editors, Soft Computing: Fuzzy Logic, Neural Networks and Distributed Artificial

Intelligence, pages 261 296. Prentice-Hall, 1994.

[6] Bernard Moulin and Mario Brassard. A scenario-based design method and an

environment for the development of multiagent systems. In D. Lukose and C.

Zhang, editors, First Australian Workshop on Distributed Artificial Intelligentce,

(LNAI volumen 1087), pages 216 231. Springer-Verlag: Heidelberg, Germany,

1996.

[7] Elisabeth A. Kendall, Margaret T. Malkoun, and Chong Jiang. A methodology for

developing agent based systems for enterprise integration. In D. Luckose and

Zhang C., editors, Proceedings of the First Australian Workshop on DAI, Lecture

Notes on Artificial Intelligence. Springer-Verlag: Heidelberg, Germany, 1996.

Page 35: AOSE - Agent Oriented Software Engineering Alvaro Magri 1999s099@educ.disi.unige.it

References (3)[8] Norbert Glaser. Contribution to Knowledge Modelling in a Multi-Agent Framework

(the CoMoMAS Approach). PhD thesis, L'Universtit´e Henri Poincar´e, Nancy I, France, November 1996.

[9]Carlos A. Iglesias, Mercedes Garijo, Jos´e C. Gonz´alez, and Juan R. Velasco. Analysis and design of multiagent systems using MAS-CommonKADS. In AAAI'97 Workshop on Agent Theories, Architectures and Languages, Providence, RI, July 1997. ATAL. (An extended version of this paper has been published in INTELLIGENT AGENTS IV: Agent Theories, Architectures, and Languages, Springer Verlag, 1998.

[10] Anne Collinot, Alexis Drogoul, and Philippe Benhamou. Agent oriented design of a soccer robot team. In Proceedings of the Second International Conference on Multi-Agent Systems (ICMAS-96), pages 41 47, Kyoto, Japan, December 1996.

[11] M. Wooldridge, N. R. Jennings and D. Kinny. A Methodology for Agent-Oriented Analysis and Design. Proceedings of the 3rd International Conference on Autonomous Agents (Agents-99), Seattle, WA, 69-76. 1999. http://www.ecs.soton.ac.uk/~nrj/download-files/aa99.ps

Page 36: AOSE - Agent Oriented Software Engineering Alvaro Magri 1999s099@educ.disi.unige.it

References (4)[12] F.Zambonelli and N.R.Jennings and M.Wooldridge,Developing Multiagent

Systems: The Gaia Methodology,ACM Transactions on Software Engineering and

Methodology, Vol. 12, No. 3, 2003.

http://polaris.ing.unimo.it/Zambonelli/pubblica.html

[13] L. Padgham and M. Winikoff. Prometheus: A Methodology for Developing

Intelligent Agents. Proceedings of the First Intemational Joint Conference on

Autonomous Agents and Multi-Agent Systems (AAMAS 2002). July, 2002,

Bologna, Italy. http://goanna.cs.rmit.edu.au/~winikoff/Papers/aose02.pdf 

[14]J. Mylopoulos, M. Kolp and P. Giorgini. Agent Oriented Software Development.

Proceedings of the 2nd Hellenic Conference on Artificial Intelligence (SETN-02),

April 2002. http://dit.unitn.it/~tropos/papers_files/hai-jm.pdf

Page 37: AOSE - Agent Oriented Software Engineering Alvaro Magri 1999s099@educ.disi.unige.it

References (5)[15] P. Bresciani, P. Giorgini, F. Giunchiglia, J. Mylopoulos and A. Perini. TROPOS:

An Agent-Oriented Software Development Methodology. In Journal of Autonomous Agents and Multi-Agent Systems, Kluwer Academic Publishers Volume 8, Issue 3, Pages 203 - 236, May 2004. http://dit.unitn.it/~tropos/papers_files/jaamas04.pdf

[16] M. Coburn, ''JACK Intelligent Agents User Guide,'' AOS Technical Report, Agent Oriented Software Pty Ltd, July 2000. http://www.jackagents.com/docs/jack/html/index.html.

[17] Arnon Sturm and Onn Shehory, A Framework for Evaluating Agent-Oriented Methodologies, Workshop on Agent-Oriented Information System (AOIS), Melbourne, Australia, July 14, 2003. http://www.technion.ac.il/~sturm/

[18] Khanh Hoa Dam, Michael Winikoff, Comparing Agent-Oriented Methodologies, to appear in the proceedings of the Fifth International Bi-Conference Workshop on Agent-Oriented Information Systems to be held in Melbourne in July (at AAMAS03). http://www.cs.rmit.edu.au/agents/Papers/aois2003.pdf

Page 38: AOSE - Agent Oriented Software Engineering Alvaro Magri 1999s099@educ.disi.unige.it

AOSE: Gaia● Organizational Rules:

the notation

● The notation for each type is the temporal logic formalism.

● There is an alternative approach:

– For liveness properties based on regular expressions

– For safety requirements based on constrains over the variable listed in a role' s permissions attribute