Agent-Oriented Software Engineering PORTO Methodology AIAD 2013/2014. António Castro and Eugénio Oliveira



Similar documents
Evaluating the Coverage of Development Lifecycle in Agent Oriented Software Engineering Methodologies

Towards an Agent Oriented approach to Software Engineering

The Agent Modeling Language (AMOLA)

An Investigation of Agent Oriented Software Engineering Methodologies to Provide an Extended Methodology

How To Develop A Multi Agent System (Mma)

A Methodology to Evaluate Agent Oriented Software Engineering Techniques

A Review of Agent-Oriented Development Methodologies and Programming Languages/Frameworks

4. Multiagent Sys stems Design. Part 2: The PROMETHEUS methodology.

How To Develop A Multiagent System

PROCESS MODELS FOR AGENT-BASED DEVELOPMENT

Agent-Based Software and Practical Case of Agent-Based Software Development

Agent-Oriented Software Development

Secure Information Systems Engineering: Experiences and Lessons Learned from two Health Care Projects

The Tropos Metamodel and its Use. 1 Introduction. 2 Models and Methodology

The Tropos and MaSE Agent-Oriented Software Engineering Methodologies. Msury Mahunnah, Tallinn University of Technology

Software Rapid Approach to Agency Design and Development

Mastem: A Mathematics Tutoring Multi-Agent System

Agent-Oriented Software Engineering

Socially Grounded Analysis of Knowledge Management Systems and Processes.

VALIDATION OF THE DEVELOPMENT METHODOLOGIES

Prometheus: A Methodology for Developing Intelligent Agents

Evaluating Agent-Oriented Software Engineering Methodologies

INFORMATION INTEGRATION ARCHITECTURE DEVELOPMENT: A MULTI-AGENT APPROACH

Tropos: An Agent-Oriented Software Development Methodology

Experiencing AUML for the WINK Multi-Agent System

Agent Services-Based Infrastructure for Online Assessment of Trading Strategies

Modeling Mental States in Requirements Engineering An Agent-Oriented Framework Based on i* and CASL

On the Adequacy of i* Models for Representing and Analyzing Software Architectures

Goal-Oriented Requirements Engineering: Part II

1.1 Survey s scope and motivation

The Tropos Software Development Methodology: Processes, Models and Diagrams

Goal-Based Self-Contextualization

Social Patterns for Designing Multiagent Systems

Comparing Agent-Oriented Methodologies

Software Technology Design anditecture

FIPA Brokering Interaction Protocol Specification

Perspective Methods and Tools for the Design of Distributed Software Systems Based on Services

Building Service-oriented User Agents using a Software Product Line Approach. Ingrid Oliveira de Nunes ionunes@inf.puc-rio.br

Enhancement of Development Technologies for Agent- Based Software Engineering

TOWARDS TO AN AGENT-ORIENTED MODELING AND EVALUATING APPROACH FOR VEHICULAR SYSTEMS

Tool-supported Development with Tropos: The Conference Management System Case Study.

Prometheus and INGENIAS Agent Methodologies: A Complementary Approach

Determining When to Use an Agent-Oriented Software Engineering Paradigm

Perspective Methods and Tools for the Design of Distributed Software Systems Based on Services

Integrating Security and Systems Engineering: Towards the Modelling of Secure Information Systems

Fine-grained Variability in the Development of Families of Software Agents

Lecture 3 Topics on Requirements Engineering

Goals and Scenarios to Software Product Lines: the GS2SPL Approach

TOWARDS A FRAMEWORK INCORPORATING FUNCTIONAL AND NON FUNCTIONAL REQUIREMENTS FOR DATAWAREHOUSE CONCEPTUAL DESIGN

Multiagent Systems Engineering: A Methodology And Language for Designing Agent Systems

Dept of Electronics and Computer Science University of Southampton, UK.

Location-based Software Modeling and Analysis: Tropos-based Approach

The multi agent paradigm and organizational abstractions in construction e-business

ENACTED SOFTWARE DEVELOPMENT PROCESS BASED ON AGILE AND AGENT METHODOLOGIES

Theoretical Support for Community Informatics Applications

A KNOWLEDGE BASE FOR KNOWLEDGE-BASED MULTIAGENT SYSTEM CONSTRUCTION

SERVICE-ORIENTED INTEGRATION OF COMPONENT AND AGENT MODELS

Engineering of a Clinical Decision Support Framework for the Point of Care Use

Managing Community Healthcare Information in a Multi-Agent System Environment

Identifying Candidate Aspects with I-star Approach

Requirements Engineering for Social Applications

Agent Design of SmArt License Management System Using Gaia Methodology

Using Model Driven Architecture to Develop Multi-Agent Systems

Proceedings of the 2012 Winter Simulation Conference C. Laroque, J. Himmelspach, R. Pasupathy, O. Rose, and A.M. Uhrmacher, eds

One for All and All in One

Characteristics of Computational Intelligence (Quantitative Approach)

To Comply Software and IT System Development with Related Laws Abstract. Keywords: 1. PROBLEM STATEMENT

Goal-Oriented Requirement Analysis for Data Warehouse Design

Business-Driven Software Engineering Lecture 3 Foundations of Processes

Software Agent Technology: an Οverview Application to Virtual Enterprises

Analyzing Requirements of Knowledge Management Systems with the Support of Agent Organizations

Organization of Multi-Agent Systems: An Overview

Goal-Oriented Design of Agent Systems: A Refinement of Prometheus and its Evaluation. Jason Khallouf and Michael Winikoff*

Multi-Agent System: A Guiding Metaphor for the Organization of Software Development Projects

Normative Ontologies to Define Regulations Over Roles in Open Multi- Agent Systems

The Design of an Agent-Based Production Scheduling Software Framework for Improving Planning-Scheduling Collaboration

Model-Driven Agile Development of Reactive Multi-Agent Systems

A Multi-agent System for Knowledge Management based on the Implicit Culture Framework

Extending PASSI to Model Multi-agent Systems Product Lines

Security Attack Testing (SAT) testing the security of information systems at design time $

When security meets software engineering: A case of modelling. secure information systems

A Goal-Driven Project Management Framework for Multi- Agent Software Development: The Case of I-Tropos

Verifying Semantic of System Composition for an Aspect-Oriented Approach

Jian Yang Department of Computing, Macquarie University NSW, 2109 Sydney, Australia b.orriens@uvt.nl. jian@comp.mq.edu.

An Agent-based Middleware for Adaptive Systems

Service Design: Using a GSRM Meta-Model. Ed Buchinski Treasury Board of Canada Secretariat UN/CEFACT TBG-19 Oct. 5 th, 2006

GRAnD: A Goal-Oriented Approach. to Requirement Analysis in Data Warehouses

Adaptive Agent-Based SCADA System

Alignment of Misuse Cases with Security Risk Management

Understanding the Role of Enterprise Architecture. towards Better Institutionalization

A Methodology for the Development of New Telecommunications Services

Evolving System Architecture to Meet Changing Business Goals. The Problem

A Multiagent Model for Intelligent Distributed Control Systems

ONTODESIGN; A DOMAIN ONTOLOGY FOR BUILDING AND EXPLOITING PROJECT MEMORIES IN PRODUCT DESIGN PROJECTS

An Intelligent Assistant for Computer-Aided Design Extended Abstract

A Survey of Good Practices and Misuses for Modelling with i* Framework

Simulating Multi-agent System Designs Using Business Process Modeling

Software Engineering. System Models. Based on Software Engineering, 7 th Edition by Ian Sommerville

PEDRO SEQUEIRA CURRICULUM VITAE

Design Patterns for Managing Product Lifecycle Information

Transcription:

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

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 3 Main existing methodologies Name Characteristics Authors TROPOS Analysis/Design; Supports Verification/validation Paolo Giorgini et al. MAS- CommonKADS PASSI PROMETHEUS GAIA ADELFE MESSAGE INGENIAS Analysis/Design; Guidelines for Verification/Validation Analysis/Design/Implementation; Supports Verification/validation; Analysis/Design; Supports Verification/validation; QQ # agts. Analysis/Design; Does not Support Verification/validation; <= 100 agts. Analysis/Design/Implementation; Supports Verification/validation; Analysis/Design; Does not Support Verification/validation; Analysis/Design/Implementation; Supports Verification/validation; Carlos Iglesias et al. Massimo Cossentino Lin Padgham et al. Franco Zambonelli et al. Carole Bernon et al. Francisco Garijo et al. Juan Pavón et al. PORTO Analysis/Design/Implementation/Testing/Validation Antonio Castro et al. NIAD&R Distributed Artificial Intelligence and Robotics Group 4 2

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 5 Main Characteristics BDI specific Develops the system using BDI constructs Emphasis on early requirement analysis NIAD&R Distributed Artificial Intelligence and Robotics Group 6 3

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 7 Example Actor Diagram NIAD&R Distributed Artificial Intelligence and Robotics Group 8 4

Example Goal Diagram NIAD&R Distributed Artificial Intelligence and Robotics Group 9 Main Concepts Use actor to represent agents, roles and positions Use goals, plans, resources, dependencies, capabilities and beliefs throughout development NIAD&R Distributed Artificial Intelligence and Robotics Group 10 5

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 11 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. NIAD&R Distributed Artificial Intelligence and Robotics Group 12 6

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 13 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 NIAD&R Distributed Artificial Intelligence and Robotics Group 14 7

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 Separating, when possible, the organizational independent aspects (detected in analysis) from the organizational dependent ones (derived from the adoption of a specific organizational structure). OUTPUT OUTPUT OUTPUT In terms of its topology and control regime. Can also exploit catalogues of organizational patterns. Identifies the agent classes that will make up the system and the agent instances that will be instantiated from these classes. COMPLETION DEFINITION COMPLETION DEFINITION Identifies the main services coherent blocks of activity in which agents will engage that are required to realize the agent s roles and properties. NIAD&R Distributed Artificial Intelligence and Robotics Group 15 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) NIAD&R Distributed Artificial Intelligence and Robotics Group 16 8

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 17 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. Preliminary Interactions Preliminary Roles Example of an Analysis Diagram Environment Model NIAD&R Distributed Artificial Intelligence and Robotics Group 18 9

Architectural Design Including a detailed description of the semantics of the relations 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 NIAD&R Distributed Artificial Intelligence and Robotics Group 19 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 NIAD&R Distributed Artificial Intelligence and Robotics Group 20 10

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 21 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. NIAD&R Distributed Artificial Intelligence and Robotics Group 22 11

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 goaloriented analysis. NIAD&R Distributed Artificial Intelligence and Robotics Group 23 Summary of Strengths Expressive except does not model knowledge in system Architecturally independent, allow diverse technologies Simple and easy to learn NIAD&R Distributed Artificial Intelligence and Robotics Group 24 12

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 25 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. NIAD&R Distributed Artificial Intelligence and Robotics Group 26 13

PORTO Overview/1 NIAD&R Distributed Artificial Intelligence and Robotics Group 27 PORTO Overview/2 NIAD&R Distributed Artificial Intelligence and Robotics Group 28 14

PORTO Overview/3 NIAD&R Distributed Artificial Intelligence and Robotics Group 29 Requirements Analysis NIAD&R Distributed Artificial Intelligence and Robotics Group 30 15

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 31 Analysis Preliminary Role & Interaction NIAD&R Distributed Artificial Intelligence and Robotics Group 32 16

Analysis - Combined Representation NIAD&R Distributed Artificial Intelligence and Robotics Group 33 Arch. Design Org. Rules and Structure NIAD&R Distributed Artificial Intelligence and Robotics Group 34 17

Organisational Rules and Structure NIAD&R Distributed Artificial Intelligence and Robotics Group 35 Organisational Rules and Structure NIAD&R Distributed Artificial Intelligence and Robotics Group 36 18

Arch. Design - Combined Representation NIAD&R Distributed Artificial Intelligence and Robotics Group 37 Arch. Design - Completing role model NIAD&R Distributed Artificial Intelligence and Robotics Group 38 19

Completing interaction model NIAD&R Distributed Artificial Intelligence and Robotics Group 39 Final Role, Interaction and Environment NIAD&R Distributed Artificial Intelligence and Robotics Group 40 20

Detail Design - Agent Model NIAD&R Distributed Artificial Intelligence and Robotics Group 41 Detail Design Agent Model NIAD&R Distributed Artificial Intelligence and Robotics Group 42 21

Detail Design - Service Model NIAD&R Distributed Artificial Intelligence and Robotics Group 43 Detail Design Service Model NIAD&R Distributed Artificial Intelligence and Robotics Group 44 22

Implementation Id. Concepts & Actions NIAD&R Distributed Artificial Intelligence and Robotics Group 45 Implementation - Mapping NIAD&R Distributed Artificial Intelligence and Robotics Group 46 23

Implementation - Development NIAD&R Distributed Artificial Intelligence and Robotics Group 47 Testing and Validation Test Cases NIAD&R Distributed Artificial Intelligence and Robotics Group 48 24

Thanks for your attention! Personal Web Pages https://sites.google.com/site/antoniojmcastro MASDIMA Project http://www.disruptionmanagement.com E-mail antonio.castro@fe.up.pt NIAD&R Distributed Artificial Intelligence and Robotics Group 49 25