24
Multi-agent Systems Product Lines Camila Nunes, Elder Cirilo, Ingrid Nunes {cnunes,ecirilo,ioliveira}@inf.puc -rio.br

Multi-agent Systems Product Lines Camila Nunes, Elder Cirilo, Ingrid Nunes {cnunes,ecirilo,ioliveira}@inf.puc-rio.br

Embed Size (px)

Citation preview

Page 1: Multi-agent Systems Product Lines Camila Nunes, Elder Cirilo, Ingrid Nunes {cnunes,ecirilo,ioliveira}@inf.puc-rio.br

Multi-agent SystemsProduct Lines

Camila Nunes, Elder Cirilo, Ingrid Nunes

{cnunes,ecirilo,ioliveira}@inf.puc-rio.br

Page 2: Multi-agent Systems Product Lines Camila Nunes, Elder Cirilo, Ingrid Nunes {cnunes,ecirilo,ioliveira}@inf.puc-rio.br

Camila Nunes, Elder Cirilo e Ingrid Nunes © LES/PUC-Rio

Outline

• Introduction

• Background

• Case Studies– ExpertCommittee

– OLIS

• References

Page 3: Multi-agent Systems Product Lines Camila Nunes, Elder Cirilo, Ingrid Nunes {cnunes,ecirilo,ioliveira}@inf.puc-rio.br

Camila Nunes, Elder Cirilo e Ingrid Nunes © LES/PUC-Rio

Introduction

• Agent-oriented Software Engineering (AOSE) – New software engineering paradigm

– Development of distributed complex applications

• Software Reuse– Benefits

• Lower costs

• Reduced time-to-market

• Quality improvement

– AOSE methodologies

• Failed to adequately capture the reuse potential since many of the developed methodologies center on the development of specific software applications

Page 4: Multi-agent Systems Product Lines Camila Nunes, Elder Cirilo, Ingrid Nunes {cnunes,ecirilo,ioliveira}@inf.puc-rio.br

Camila Nunes, Elder Cirilo e Ingrid Nunes © LES/PUC-Rio

Introduction

• Software product lines (MAS)– New trend of software reuse

– Build family of applications in a systematic method

• Only recent research has explored the integration between SPL and Multi-agent Systems (MAS)– Multi-agent Systems Product Lines (MAS-PL)

– SPL + MAS benefits

– Help on the industrial exploitation of agent technology

Page 5: Multi-agent Systems Product Lines Camila Nunes, Elder Cirilo, Ingrid Nunes {cnunes,ecirilo,ioliveira}@inf.puc-rio.br

Camila Nunes, Elder Cirilo e Ingrid Nunes © LES/PUC-Rio

Background

Reuse: From Ad-Hoc to Systematic

Focus was small-grained and opportunistic.Results always fell short of expectations.

Page 6: Multi-agent Systems Product Lines Camila Nunes, Elder Cirilo, Ingrid Nunes {cnunes,ecirilo,ioliveira}@inf.puc-rio.br

Camila Nunes, Elder Cirilo e Ingrid Nunes © LES/PUC-Rio

Background

A software product line is a set of software-intensive systems sharing a common, managed set of features that satisfy the specific

need of a particular market segment or mission and that are developed from a common set of core assets in a prescribed way.

Software product line engineering is a paradigm to develop softwareapplications (software-intensive systems and software products) using

platforms and mass customisation.

A software platform is a set of software subsystems and interfaces thatform a common structure from which a set of derivative products can

be efficiently developed and produced.

Page 7: Multi-agent Systems Product Lines Camila Nunes, Elder Cirilo, Ingrid Nunes {cnunes,ecirilo,ioliveira}@inf.puc-rio.br

Camila Nunes, Elder Cirilo e Ingrid Nunes © LES/PUC-Rio

Background

Market Strategy / Application Domain

pertain to

Architectureshare an

Componentsare built from

is satisfied by

used to structure

Products

Product Lines:Take economic advantage of commonalityBound variability

Page 8: Multi-agent Systems Product Lines Camila Nunes, Elder Cirilo, Ingrid Nunes {cnunes,ecirilo,ioliveira}@inf.puc-rio.br

Camila Nunes, Elder Cirilo e Ingrid Nunes © LES/PUC-Rio

SPL Development Approaches

• Proactive Approach– Development of product lines considering all the products in

the foreseeable horizon

– A complete set of artifacts to address the product line is developed from scratch

SPL

Product 1

Product 2

Product 3

Domain Analysis

Architecture

Project

Page 9: Multi-agent Systems Product Lines Camila Nunes, Elder Cirilo, Ingrid Nunes {cnunes,ecirilo,ioliveira}@inf.puc-rio.br

Camila Nunes, Elder Cirilo e Ingrid Nunes © LES/PUC-Rio

SPL Development Approaches

• Extractive

– SPL is developed starting from existing software systems

– Common and variable features are extracted from these systems to derive an initial version of the SPL

Product 1

Product 2

Product 3SPL

Product 1

Product 2

Product 3

Page 10: Multi-agent Systems Product Lines Camila Nunes, Elder Cirilo, Ingrid Nunes {cnunes,ecirilo,ioliveira}@inf.puc-rio.br

Camila Nunes, Elder Cirilo e Ingrid Nunes © LES/PUC-Rio

SPL Development Approaches

• Reactive– Incremental development of SPLs– SPL artifacts address only a few products. When there

is a demand to incorporate new requirements or products, the common and variable artifacts are incrementally extended in reaction to them

SPL

Product 1

Product 2

Product 3Requirements for a new product instance, Product 4

+

SPL

React

Iterate

Product 1

Product 2

Product 3

Product 4

Page 11: Multi-agent Systems Product Lines Camila Nunes, Elder Cirilo, Ingrid Nunes {cnunes,ecirilo,ioliveira}@inf.puc-rio.br

Camila Nunes, Elder Cirilo e Ingrid Nunes © LES/PUC-Rio

Case Studies

Page 12: Multi-agent Systems Product Lines Camila Nunes, Elder Cirilo, Ingrid Nunes {cnunes,ecirilo,ioliveira}@inf.puc-rio.br

Camila Nunes, Elder Cirilo e Ingrid Nunes © LES/PUC-Rio

ExpertCommittee (EC)

• Conference Management System

• Typical web-based application

• Functionalities to support the complete process of the management of conferences and workshops– Paper submission

– Reviewing processes

• Examples– EasyChair (http://www.easychair.org/)

– JEMS (https://submissoes.sbc.org.br/)

Page 13: Multi-agent Systems Product Lines Camila Nunes, Elder Cirilo, Ingrid Nunes {cnunes,ecirilo,ioliveira}@inf.puc-rio.br

Camila Nunes, Elder Cirilo e Ingrid Nunes © LES/PUC-Rio

EC Versions

Version Description

Version 1 Typical web-based application (MAS-PL core)

Mandatory features that support the conference management process

Version 2 Release 1: Addition of the Reviewer role and the functionalities related to it: accept/reject review and review paper.

Release 2: Addition of automatic suggestion of conferences to the authors.

Release 3: Addition of message notifications to the system users through email or SMS (alternative feature).

Release 4: Addition of deadline monitoring, to trigger specific actions when they expire.

Release 5: Addition of automatic assignment of papers to committee members review them.

Release 6: Addition of task management.

Version 3 Refactoring of Version 2

Improvement of the modularization of some agency features

Page 14: Multi-agent Systems Product Lines Camila Nunes, Elder Cirilo, Ingrid Nunes {cnunes,ecirilo,ioliveira}@inf.puc-rio.br

Camila Nunes, Elder Cirilo e Ingrid Nunes © LES/PUC-Rio

EC Feature Model

Page 15: Multi-agent Systems Product Lines Camila Nunes, Elder Cirilo, Ingrid Nunes {cnunes,ecirilo,ioliveira}@inf.puc-rio.br

Camila Nunes, Elder Cirilo e Ingrid Nunes © LES/PUC-Rio

EC Architecture

ChairActions

BaseAction

Database

AuthorServiceImpl

ConferenceDAOHibernate

PaperDAOHibernate

AuthorActions

DeadlineAgent

GUI Layer

ChairServiceImpl

Data Layer

Business Layer

Chair Role

Coordinator Role

Author Role

Committee Member Role

Observable

Observer

User DataAgent

<<creates>>

ObservableService

User Agents

EnvironmentAgent

TaskAgent

TaskAction

TaskServiceImp

l

TaskDAOHibernate Notifier

Agent

SMSMAIL

Reviewer Actions

Reviewer ServiceImpl

Reviewer Role

Page 16: Multi-agent Systems Product Lines Camila Nunes, Elder Cirilo, Ingrid Nunes {cnunes,ecirilo,ioliveira}@inf.puc-rio.br

Camila Nunes, Elder Cirilo e Ingrid Nunes © LES/PUC-Rio

EC Configuration File

Page 17: Multi-agent Systems Product Lines Camila Nunes, Elder Cirilo, Ingrid Nunes {cnunes,ecirilo,ioliveira}@inf.puc-rio.br

Camila Nunes, Elder Cirilo e Ingrid Nunes © LES/PUC-Rio

OLIS

• OLIS (OnLine Intelligent Services)– Software product line of web-based systems

– Services (mandatory or optional)

• User Management

• Calendar

• Events Announcement

• Weather

– Handles different event types

• Generic

• Academic

• Travel

– Addition of Autonomous behavior to

• Provide Intelligent Services

Page 18: Multi-agent Systems Product Lines Camila Nunes, Elder Cirilo, Ingrid Nunes {cnunes,ecirilo,ioliveira}@inf.puc-rio.br

Camila Nunes, Elder Cirilo e Ingrid Nunes © LES/PUC-Rio

OLIS Feature Model

FeatureDependencies

Page 19: Multi-agent Systems Product Lines Camila Nunes, Elder Cirilo, Ingrid Nunes {cnunes,ecirilo,ioliveira}@inf.puc-rio.br

Camila Nunes, Elder Cirilo e Ingrid Nunes © LES/PUC-Rio

OLIS Architecture

Page 20: Multi-agent Systems Product Lines Camila Nunes, Elder Cirilo, Ingrid Nunes {cnunes,ecirilo,ioliveira}@inf.puc-rio.br

Camila Nunes, Elder Cirilo e Ingrid Nunes © LES/PUC-Rio

OLIS Configuration

struts.xmlapplicationContext.xml

Page 21: Multi-agent Systems Product Lines Camila Nunes, Elder Cirilo, Ingrid Nunes {cnunes,ecirilo,ioliveira}@inf.puc-rio.br

Camila Nunes, Elder Cirilo e Ingrid Nunes © LES/PUC-Rio

References

• CIRILO, E.; KULESZA, U.; LUCENA, C. Genarch: A Model-Based Product Derivation Tool. In Proceedings of Brazilian Symposium on Software Components, Architectures and Reuse (SBCARS Tools 2007), Campinas – Brazil, 2007.

• CIRILO, E.; KULESZA, U.; COELHO, R.; LUCENA, C.; STAA, A. Integrating Component and Product Lines Technologies. In Proceedings of 10th International Conference on Software Reuse (ICSR 2008), Beijing – China, 2008.

• CIRILO, E.; KULESZA, U.; LUCENA, C. A Product Derivation Tool Base on Model-Driven Techniques and Annotations. Journal of Universal Computer Science, Graz – 2008.

Page 22: Multi-agent Systems Product Lines Camila Nunes, Elder Cirilo, Ingrid Nunes {cnunes,ecirilo,ioliveira}@inf.puc-rio.br

Camila Nunes, Elder Cirilo e Ingrid Nunes © LES/PUC-Rio

References

• NUNES, I. O.; NUNES, C.; KULESZA, U.; LUCENA, C. Developing and Evolving a Multi-Agent System Product Line: An Exploratory Study. In: 9th International Workshop on Agent-Oriented Software Engineering (AOSE’08), 2008, Estoril. p. 177-188.

• NUNES, I. O.; KULESZA, U.; NUNES, C.; LUCENA, C. Documenting and Modeling Multi-agent Systems Product Lines. In: International Conference on Software Engineering and Knowledge Engineering (SEKE’08), 2008, San Francisco. p. 745-751.

• NUNES, C.; KULESZA, U.; SANT'ANNA, C.; NUNES, I.; LUCENA, C. On the Modularity Assessment of Aspect-Oriented Multi-Agent Systems Product Lines: a Quantitative Study. In Simpósio Brasileiro de Componentes, Arquiteturas e Reutilização de Software (SBCARS), 2008, Porto Alegre. p. 122-135.

• NUNES, I. O.; KULESZA, U.; NUNES, C.; CIRILO E.; LUCENA, C. Extending Web-Based Applications to Incorporate Autonomous Behaviour. In: WebMedia, 2008, Vila Velha. (to appear)

Page 23: Multi-agent Systems Product Lines Camila Nunes, Elder Cirilo, Ingrid Nunes {cnunes,ecirilo,ioliveira}@inf.puc-rio.br

Camila Nunes, Elder Cirilo e Ingrid Nunes © LES/PUC-Rio

References

• NUNES, I. O.; KULESZA, U.; NUNES, C.; CIRILO E.; LUCENA, C. Extending PASSI to Model Multiagent Systems Product Lines. Submitted to Symposium on Applied Computing (SAC’09), 2008, Honolulu.

• CIRILO E.; KULESZA, U.; NUNES, I. O.; NUNES, C.; LUCENA, C. Automatic Product Derivation of Multi-agent Systems Product Lines. Submitted to Symposium on Applied Computing (SAC’09), 2008, Honolulu.

• NUNES, C.; KULESZA, U.; NUNES, I.; CIRILO E.; LUCENA, C. Assessment of the Design Stability of Multi-Agent Systems Product Lines. Submitted to Symposium on Applied Computing (SAC’09), 2008, Honolulu.

Page 24: Multi-agent Systems Product Lines Camila Nunes, Elder Cirilo, Ingrid Nunes {cnunes,ecirilo,ioliveira}@inf.puc-rio.br

Questions?

Camila [email protected]

Elder [email protected]

Ingrid [email protected]