agent-oriented software engineering porto …eol/sma/20162017/aose_lecture_2013...wooldridge eds.,...

25
21-11-2013 1 NIAD&R – Distributed Artificial Intelligence and Robotics Group 1 AIAD 2013/2014 António Castro and Eugénio Oliveira Agent-Oriented Software Engineering PORTO Methodology NIAD&R – Distributed Artificial Intelligence and Robotics Group 2 Contents What is AOSE? Main Existing Methodologies Tropos AUML Gaia Porto

Upload: others

Post on 12-Aug-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Agent-Oriented Software Engineering PORTO …eol/SMA/20162017/AOSE_Lecture_2013...Wooldridge eds., Springer-Verlag, Berlin, pp. 121–140, 2001. 21-11-2013 7 NIAD&R – Distributed

21-11-2013

1

NIAD&R – Distributed Artificial Intelligence and Robotics Group 1

AIAD 2013/2014

António Castro and Eugénio Oliveira

Agent-Oriented Software Engineering PORTO Methodology

NIAD&R – Distributed Artificial Intelligence and Robotics Group 2

Contents

• What is AOSE?

• Main Existing Methodologies

• Tropos

• AUML

• Gaia

• Porto

Page 2: Agent-Oriented Software Engineering PORTO …eol/SMA/20162017/AOSE_Lecture_2013...Wooldridge eds., Springer-Verlag, Berlin, pp. 121–140, 2001. 21-11-2013 7 NIAD&R – Distributed

21-11-2013

2

NIAD&R – Distributed Artificial Intelligence and Robotics Group 3

What is AOSE?

• “A methodological approach for the development of software oriented or based on agents” (Giorgini and Henderson-Sellers)

• A methodology has two main components: • A Description of approach processes. • Documentation and products/artifacts.

• All existing proposals are from the academic world, are not complete (either in processes or artifacts/products) nor applicable to a wider scope of application domains.

NIAD&R – Distributed Artificial Intelligence and Robotics Group 4

Main existing methodologies

Name Characteristics Authors

TROPOS Analysis/Design; Supports Verification/validation Paolo Giorgini et al.

MAS-CommonKADS

Analysis/Design; Guidelines for Verification/Validation Carlos Iglesias et al.

PASSI Analysis/Design/Implementation; Supports Verification/validation;

Massimo Cossentino

PROMETHEUS Analysis/Design; Supports Verification/validation; QQ # agts.

Lin Padgham et al.

GAIA Analysis/Design; Does not Support Verification/validation; <= 100 agts.

Franco Zambonelli et al.

ADELFE Analysis/Design/Implementation; Supports Verification/validation;

Carole Bernon et al.

MESSAGE Analysis/Design; Does not Support Verification/validation;

Francisco Garijo et al.

INGENIAS Analysis/Design/Implementation; Supports Verification/validation;

Juan Pavón et al.

PORTO Analysis/Design/Implementation/Testing/Validation Antonio Castro et al.

Page 3: Agent-Oriented Software Engineering PORTO …eol/SMA/20162017/AOSE_Lecture_2013...Wooldridge eds., Springer-Verlag, Berlin, pp. 121–140, 2001. 21-11-2013 7 NIAD&R – Distributed

21-11-2013

3

NIAD&R – Distributed Artificial Intelligence and Robotics Group 5

TROPOS

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

NIAD&R – Distributed Artificial Intelligence and Robotics Group 6

Main Characteristics

• BDI specific

• Develops the system using BDI constructs

• Emphasis on early requirement analysis

Page 4: Agent-Oriented Software Engineering PORTO …eol/SMA/20162017/AOSE_Lecture_2013...Wooldridge eds., Springer-Verlag, Berlin, pp. 121–140, 2001. 21-11-2013 7 NIAD&R – Distributed

21-11-2013

4

NIAD&R – Distributed Artificial Intelligence and Robotics Group 7

Early Requirements Analysis

• Model needs and objectives of various system stakeholders in the human organization

• Model the system environment

• Model interaction of system-to-be with human stakeholders and system environment

NIAD&R – Distributed Artificial Intelligence and Robotics Group 8

Example Actor Diagram

Page 5: Agent-Oriented Software Engineering PORTO …eol/SMA/20162017/AOSE_Lecture_2013...Wooldridge eds., Springer-Verlag, Berlin, pp. 121–140, 2001. 21-11-2013 7 NIAD&R – Distributed

21-11-2013

5

NIAD&R – Distributed Artificial Intelligence and Robotics Group 9

Example Goal Diagram

NIAD&R – Distributed Artificial Intelligence and Robotics Group 10

• Use actor to represent agents, roles and positions

• Use goals, plans, resources, dependencies, capabilities and beliefs throughout development

Main Concepts

Page 6: Agent-Oriented Software Engineering PORTO …eol/SMA/20162017/AOSE_Lecture_2013...Wooldridge eds., Springer-Verlag, Berlin, pp. 121–140, 2001. 21-11-2013 7 NIAD&R – Distributed

21-11-2013

6

NIAD&R – Distributed Artificial Intelligence and Robotics Group 11

Strengths and Weaknesses

• Strength

– Good support for early requirement analysis

• Weakness

– BDI specific, less general

– Diagrams may not scale

NIAD&R – Distributed Artificial Intelligence and Robotics Group 12

AUML

J. Odell, H. Van Dyke Parunak and B. Bauer

Representing Agent Interaction Protocols in UML in Agent-Oriented Software Engineering, Paolo Ciancarini and Michael

Wooldridge eds., Springer-Verlag, Berlin, pp. 121–140, 2001.

Page 7: Agent-Oriented Software Engineering PORTO …eol/SMA/20162017/AOSE_Lecture_2013...Wooldridge eds., Springer-Verlag, Berlin, pp. 121–140, 2001. 21-11-2013 7 NIAD&R – Distributed

21-11-2013

7

NIAD&R – Distributed Artificial Intelligence and Robotics Group 13

AUML

• Not a methodology

• Standards to represent design of agent systems

• Familiar to industry developers

• Widely adopted

NIAD&R – Distributed Artificial Intelligence and Robotics Group 14

GAIA

F. Zambonelli, N. Jennings, M. Wooldridge

Developing Multiagent Systems: the Gaia Methodology ACM Transactions on Software Engineering and Methodology, Vol. 12, No. 3, July 2003

Page 8: Agent-Oriented Software Engineering PORTO …eol/SMA/20162017/AOSE_Lecture_2013...Wooldridge eds., Springer-Verlag, Berlin, pp. 121–140, 2001. 21-11-2013 7 NIAD&R – Distributed

21-11-2013

8

NIAD&R – Distributed Artificial Intelligence and Robotics Group 15

Overview

The goals of the

organizations that

constitute the overall

system and their

expected global

behavior

The rules that the

organization should

respect and enforce in

its global behavior

OUTPUT

OUTPUT

OUTPUT

OUTPUT

In terms of its topology

and control regime. Can

also exploit catalogues

of organizational

patterns.

COMPLETION COMPLETION

Separating, when possible,

the organizational

independent aspects

(detected in analysis) from

the organizational

dependent ones (derived

from the adoption of a

specific organizational

structure).

Identifies the agent

classes that will make

up the system and the

agent instances that

will be instantiated

from these classes.

Identifies the main

services – coherent blocks

of activity in which agents

will engage – that are

required to realize the

agent’s roles and

properties.

DEFINITION DEFINITION

NIAD&R – Distributed Artificial Intelligence and Robotics Group 16

Analysis Phase

• Organizations: determine whether multiple organizations have to coexist in the system and become autonomous interacting MAS.

• Environmental Model: abstract computational resources, such as variables or tuples, made available to the agents for sensing (read), for effecting (change) or for consuming (extract)

Page 9: Agent-Oriented Software Engineering PORTO …eol/SMA/20162017/AOSE_Lecture_2013...Wooldridge eds., Springer-Verlag, Berlin, pp. 121–140, 2001. 21-11-2013 7 NIAD&R – Distributed

21-11-2013

9

NIAD&R – Distributed Artificial Intelligence and Robotics Group 17

Analysis Phase

• Preliminary Role Model: identify the “basic skills” that are required by the organization to achieve its goals, as well as the basic interactions that are required for the exploitation of these skills.

• Preliminary Interaction Model: captures the dependencies and relationships between the various roles in the MAS organization, in terms of one protocol definition for each type of inter role interaction.

NIAD&R – Distributed Artificial Intelligence and Robotics Group 18

Analysis Phase

Organizational Rules: responsibilities of the organization as a whole. These are safety (invariants that must be respected) and liveness (dynamics of the organization) organizational rules.

Environment Model

Preliminary Roles Preliminary Interactions

Example of

an Analysis

Diagram

Page 10: Agent-Oriented Software Engineering PORTO …eol/SMA/20162017/AOSE_Lecture_2013...Wooldridge eds., Springer-Verlag, Berlin, pp. 121–140, 2001. 21-11-2013 7 NIAD&R – Distributed

21-11-2013

10

NIAD&R – Distributed Artificial Intelligence and Robotics Group 19

Architectural Design

Organizational Structure: identify the appropriate organizational structure, including, topology and control regime.

Organizational Patterns: catalogue of possible modular and composable “organizational structures” that will help the designer.

Graphical Representation

Formal Representation

Including a detailed description of the

semantics of the relations

NIAD&R – Distributed Artificial Intelligence and Robotics Group 20

Architectural Design

Completion of Role and Interaction Models: (1) define all the activities in which a role will be involved, (2) define organizational roles, (3) complete the definition of the protocols required by the application and (4) define organizational protocols.

Role Model

Interaction Model

Page 11: Agent-Oriented Software Engineering PORTO …eol/SMA/20162017/AOSE_Lecture_2013...Wooldridge eds., Springer-Verlag, Berlin, pp. 121–140, 2001. 21-11-2013 7 NIAD&R – Distributed

21-11-2013

11

NIAD&R – Distributed Artificial Intelligence and Robotics Group 21

Detailed Design

Agent Model: to define the agent model it is necessary to identify which agent classes are to be defined to play specific roles and how many instances of each class have to be instantiated in the actual system. The model can be defined using a simple diagram (or table) specifying, for each class, which roles will map it. In addition, the model can document the instances of a class that will appear in the MAS.

Agent Class Role

NIAD&R – Distributed Artificial Intelligence and Robotics Group 22

Detailed Design

• Services Model: identify the services associated with each agent class, or equivalently, with each of the roles to be played by the agent classes. For each service it is necessary to document its properties: inputs, outputs, preconditions and postconditions. The services are derived from the list of protocols, activities, responsibilities and liveness properties of the roles it implements.

Page 12: Agent-Oriented Software Engineering PORTO …eol/SMA/20162017/AOSE_Lecture_2013...Wooldridge eds., Springer-Verlag, Berlin, pp. 121–140, 2001. 21-11-2013 7 NIAD&R – Distributed

21-11-2013

12

NIAD&R – Distributed Artificial Intelligence and Robotics Group 23

Scopes and Limitations

• Does not directly deal with particular modeling techniques. It proposes but does not commit to, specific techniques for modeling (e.g., roles, environment, interactions). In the future: “… AUML is a useful companion to GAIA.”

• Does not directly deal with implementation issues. The outcome is a detailed but technology-neutral specification. Should be easy to implement with, for example, a FIPA-compliant agent system.

• Does not explicitly deal with activities of requirements capturing and modeling. In the future: “… integrate methods and techniques from goal-oriented analysis.”

NIAD&R – Distributed Artificial Intelligence and Robotics Group 24

Summary of Strengths

• Expressive except does not model knowledge in system

• Architecturally independent, allow diverse technologies

• Simple and easy to learn

Page 13: Agent-Oriented Software Engineering PORTO …eol/SMA/20162017/AOSE_Lecture_2013...Wooldridge eds., Springer-Verlag, Berlin, pp. 121–140, 2001. 21-11-2013 7 NIAD&R – Distributed

21-11-2013

13

NIAD&R – Distributed Artificial Intelligence and Robotics Group 25

Summary of Weaknesses

• Does not cover full life-cycle

• Unfamiliar notation for developers

• Lack of CASE tool and other support

NIAD&R – Distributed Artificial Intelligence and Robotics Group 26

PORTO better than GAIA

Antonio Castro. "A Distributed Approach to Integrated and Dynamic Disruption Management". PhD Thesis, FEUP, University of Porto, Portugal. July 2013.

Antonio Castro & Eugenio Oliveira. "The Rationale behind the Development of an Airline Operations Control Centre using GAIA based Methodology". International Journal of Agent-Oriented Software Engineering, Vol. 2, No. 3, pp.350-377.

Page 14: Agent-Oriented Software Engineering PORTO …eol/SMA/20162017/AOSE_Lecture_2013...Wooldridge eds., Springer-Verlag, Berlin, pp. 121–140, 2001. 21-11-2013 7 NIAD&R – Distributed

21-11-2013

14

NIAD&R – Distributed Artificial Intelligence and Robotics Group 27

PORTO Overview/1

NIAD&R – Distributed Artificial Intelligence and Robotics Group 28

PORTO Overview/2

Page 15: Agent-Oriented Software Engineering PORTO …eol/SMA/20162017/AOSE_Lecture_2013...Wooldridge eds., Springer-Verlag, Berlin, pp. 121–140, 2001. 21-11-2013 7 NIAD&R – Distributed

21-11-2013

15

NIAD&R – Distributed Artificial Intelligence and Robotics Group 29

PORTO Overview/3

NIAD&R – Distributed Artificial Intelligence and Robotics Group 30

Requirements Analysis

Page 16: Agent-Oriented Software Engineering PORTO …eol/SMA/20162017/AOSE_Lecture_2013...Wooldridge eds., Springer-Verlag, Berlin, pp. 121–140, 2001. 21-11-2013 7 NIAD&R – Distributed

21-11-2013

16

NIAD&R – Distributed Artificial Intelligence and Robotics Group 31

Advantages

• Modelling specifications in terms of actors, their roles, their goals and dependencies, is more similar to the AOCC organisation.

• In subdividing the system: identifying the specific organisations and sub-organisations dedicated to the achievement of a specific goal.

• In preliminary role model: identifying the basic skills (functionalities and competences) required by the organisation to achieve its goals.

• In preliminary interaction model: identifying the basic interactions that are required for the exploitation of the basic skills.

NIAD&R – Distributed Artificial Intelligence and Robotics Group 32

Analysis – Preliminary Role & Interaction

Page 17: Agent-Oriented Software Engineering PORTO …eol/SMA/20162017/AOSE_Lecture_2013...Wooldridge eds., Springer-Verlag, Berlin, pp. 121–140, 2001. 21-11-2013 7 NIAD&R – Distributed

21-11-2013

17

NIAD&R – Distributed Artificial Intelligence and Robotics Group 33

Analysis - Combined Representation

NIAD&R – Distributed Artificial Intelligence and Robotics Group 34

Arch. Design – Org. Rules and Structure

Page 18: Agent-Oriented Software Engineering PORTO …eol/SMA/20162017/AOSE_Lecture_2013...Wooldridge eds., Springer-Verlag, Berlin, pp. 121–140, 2001. 21-11-2013 7 NIAD&R – Distributed

21-11-2013

18

NIAD&R – Distributed Artificial Intelligence and Robotics Group 35

Organisational Rules and Structure

NIAD&R – Distributed Artificial Intelligence and Robotics Group 36

Organisational Rules and Structure

Page 19: Agent-Oriented Software Engineering PORTO …eol/SMA/20162017/AOSE_Lecture_2013...Wooldridge eds., Springer-Verlag, Berlin, pp. 121–140, 2001. 21-11-2013 7 NIAD&R – Distributed

21-11-2013

19

NIAD&R – Distributed Artificial Intelligence and Robotics Group 37

Arch. Design - Combined Representation

NIAD&R – Distributed Artificial Intelligence and Robotics Group 38

Arch. Design - Completing role model

Page 20: Agent-Oriented Software Engineering PORTO …eol/SMA/20162017/AOSE_Lecture_2013...Wooldridge eds., Springer-Verlag, Berlin, pp. 121–140, 2001. 21-11-2013 7 NIAD&R – Distributed

21-11-2013

20

NIAD&R – Distributed Artificial Intelligence and Robotics Group 39

Completing interaction model

NIAD&R – Distributed Artificial Intelligence and Robotics Group 40

Final Role, Interaction and Environment

Page 21: Agent-Oriented Software Engineering PORTO …eol/SMA/20162017/AOSE_Lecture_2013...Wooldridge eds., Springer-Verlag, Berlin, pp. 121–140, 2001. 21-11-2013 7 NIAD&R – Distributed

21-11-2013

21

NIAD&R – Distributed Artificial Intelligence and Robotics Group 41

Detail Design - Agent Model

NIAD&R – Distributed Artificial Intelligence and Robotics Group 42

Detail Design – Agent Model

Page 22: Agent-Oriented Software Engineering PORTO …eol/SMA/20162017/AOSE_Lecture_2013...Wooldridge eds., Springer-Verlag, Berlin, pp. 121–140, 2001. 21-11-2013 7 NIAD&R – Distributed

21-11-2013

22

NIAD&R – Distributed Artificial Intelligence and Robotics Group 43

Detail Design - Service Model

NIAD&R – Distributed Artificial Intelligence and Robotics Group 44

Detail Design – Service Model

Page 23: Agent-Oriented Software Engineering PORTO …eol/SMA/20162017/AOSE_Lecture_2013...Wooldridge eds., Springer-Verlag, Berlin, pp. 121–140, 2001. 21-11-2013 7 NIAD&R – Distributed

21-11-2013

23

NIAD&R – Distributed Artificial Intelligence and Robotics Group 45

Implementation – Id. Concepts & Actions

NIAD&R – Distributed Artificial Intelligence and Robotics Group 46

Implementation - Mapping

Page 24: Agent-Oriented Software Engineering PORTO …eol/SMA/20162017/AOSE_Lecture_2013...Wooldridge eds., Springer-Verlag, Berlin, pp. 121–140, 2001. 21-11-2013 7 NIAD&R – Distributed

21-11-2013

24

NIAD&R – Distributed Artificial Intelligence and Robotics Group 47

Implementation - Development

NIAD&R – Distributed Artificial Intelligence and Robotics Group 48

Testing and Validation – Test Cases

Page 25: Agent-Oriented Software Engineering PORTO …eol/SMA/20162017/AOSE_Lecture_2013...Wooldridge eds., Springer-Verlag, Berlin, pp. 121–140, 2001. 21-11-2013 7 NIAD&R – Distributed

21-11-2013

25

NIAD&R – Distributed Artificial Intelligence and Robotics Group 49

Thanks for your attention!

Personal Web Pages https://sites.google.com/site/antoniojmcastro

MASDIMA Project http://www.disruptionmanagement.com

E-mail [email protected]