agent-oriented software engineering porto …eol/sma/20162017/aose_lecture_2013...wooldridge eds.,...
TRANSCRIPT
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
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.
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
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
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
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.
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
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)
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
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
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.
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
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.
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
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
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
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
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
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
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
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
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
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
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
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]