Você está na página 1de 99

Engenharia

de So-ware
Orientada a Agentes
WESAAC 2014

Anarosa Alves Franco Brando


anarosa.brandao@usp.br
Escola Politcnica Universidade de So Paulo
INTRODUO
Introduo
Engenharia de so-ware
Disciplina da engenharia que se ocupa dos
aspectos relacionados produo de so-ware
(Somerville, 2001)
Disciplina que estuda a criao e aplicao de
abordagens sistemRcas, disciplinadas e
quanRcveis para o desenvolvimento, operao e
manuteno de so-ware. (IEEE Computer Soc.)

Engenharia de so-ware em camadas (Pressman, 2005)


Introduo
So-ware
Programas de computadores, documentao
associada e dados de congurao necessrios
para fazer os programas funcionarem
corretamente (Sommerville, 2001)
Produto da engenharia de so-ware
Produto de engenharia sempre resultado da
conduo de um processo
Introduo
Produo de so-ware
Viso Viso
Conceitual Conceitual
Problema Soluo

Soluo de Software
Domnio Problema
Paradigma
Plataforma
Ling Programao
Introduo
Engenharia de so-ware orientada a agentes
(AOSE)
Disciplina de engenharia de so-ware que adota
agentes de so-ware como paradigma de
desenvolvimento de so-ware
Agente de So-ware
Sistema de computao que situado num ambiente,
onde atua de forma autnoma a m de aRngir seus
objeRvos. (Wooldridge, 2009)
Introduo
Sistemas mulRagentes (SMA)
Conjunto de agentes possivelmente organizados
que interagem num ambiente comum.
(Demazeau, 2000)
Produto da AOSE
Introduo
Mas por que adotar uma soluo de so-ware
que usa agentes?
Alguns domnios so adequados a ela!
Alguns domnios nos quais a abordagem de
agentes j foi aplicada
Sistemas de manufatura e controle ambiental
Computao mvel e pervasiva
Internet
E-commerce
AGENTES X OBJETOS
Agentes X Objetos
Considere o domnio da reengenharia de
processos de negcios:

Desenvolver um sistema (so-ware) para auxlio a


reengenharia de processos de negcios
Criar modelos da organizao e funcionamento de um
negcio
Realizar simulaes a parRr dos modelos
Agentes X Objetos
Soluo orientada a objetos
Tudo modelado como objeto
EnRdade com idenRdade
Objetos so abstraes e/ou encapsulamentos
Dados
Realizao de comportamentos
Objetos interagem
Interaes entre objetos reetem dependncias
funcionais
Agentes X Objetos
Soluo orientada a agentes
Alm de objetos existem agentes, que so
enRdades
Com idenRdade
Situadas
Esto inseridas num ambiente onde percebem e atuam
Autnomas
Possuem controle sobre suas aes
Pr-aRvas
Alm de responder a esjmulos tambm perseguem objeRvos
Agentes X Objetos
Soluo orientada a agentes
Alguns agentes so sociais
Agentes sociais so capazes de se comunicar
diretamente com outros agentes

Agentes, sociais ou no, formam sistemas


mulRagentes
Populao de agentes
Ambiente
Protocolos de Interao
Organizao Social
Agentes X Objetos
Orientao a Objetos Viso
Conceitual
Soluo
Viso
Conceitual
Problema
Requisitos de Software

Editar Modelo
Modelo Domnio

Consultor Consultor
Simular Empresa

Empresa Modelo Empresa

Modelo Empresa Cliente Funcion.


Agentes X Objetos
Orientao a Objetos

Viso
Conceitual
Soluo

Modelo Design

Funcionrio
Papel Org. Social
Cliente

Pessoa Grupo

Indivduo Empresa Organizao


Agentes X Objetos
Orientao a Objetos
Alguns Requisitos ProblemRcos
Durante modelagem e simulao do funcionamento de uma empresa,
o consultor deseja levar em considerao o fato de que as pessoas
que a formam so autnomas, pr-aRvas e sociais
Pessoas podem dizer no quando outra manda uma mensagem
solicitando algum servio
Elas agem aRvamente seguindo seus prprios objeRvos
Pessoas quando interagem seguem alguns protocolos
socialmente estabelecidos
Ainda, o consultor deseja disRnguir pessoas dos recursos e elementos
que formam um ambiente ksico no qual esto imersas
Por m, o consultor deseja estudar como a organizao de uma
empresa leva a empresa a ser eciente e como pessoas autnomas e
pro-aRvas se adaptam a organizao e adaptam a organizao a elas
Agentes X Objetos
Orientao a Objetos
Observamos que:
o domnio de problema altamente complexo
a orientao a objetos um paradigma onde os
conceitos bsicos (objetos+aRvao de mtodos) se
encontram em um nvel de abstrao muito baixo para
o domnio de problema
a aplicao pode ser desenvolvida uRlizando-se
somente objetos mas o trabalho ser enorme

Agentes surgem como alternaRva...


DESENVOLVIMENTO DE SOFTWARE
ORIENTADO A AGENTES
Desenvolvimento de So-ware
orientado a agentes Viso
Conceitual
Viso Soluo
Conceitual
Problema
Requisitos de Software

Editar Modelo

Modelo Domnio
Consultor
<<AGENTE>> populao Simular Empresa
<<SMA>> Consultor

ambiente
Empresa

<<SMA>> interao

Modelo Empresa organizao


Desenvolvimento de So-ware
orientado a agentes
Viso
Conceitual
Soluo

Modelo Design

??? Design de organizao?

Design dos agentes? Design Interaes?

Design do ambiente?
Desenvolvimento de so-ware
orientado a agentes
Viso
Conceitual
Soluo
Viso
Conceitual
Problema
Requisitos de Software

Editar Modelo

Modelo Domnio Consultor


<<AGENTE>> populao Simular Empresa
<<SMA>> Consultor
Viso
Conceitual
ambiente
Soluo
Empresa

<<SMA>> interao

Modelo Empresa organizao Modelo Design


??? Design de organizao?

Design dos agentes? Design Interaes?

Design do ambiente?
Desenvolvimento de so-ware
orientado a agentes
Orientao a agentes (focar em qu?)
A key quesRon
... what is the scale of observaRon which one
should situate the engineering work?
..., any eecRve approach to AOSE requires xing
the scale of observaRon, to give meaning to the
concept of so-ware systems and to enable the
idenRcaRon of the issues that have to be faced in
their engineering.

(Zambonelli & Omicini, 2004)


Desenvolvimento de so-ware
orientado a agentes
Sistemas mulRagentes

ambiente

agente interao organizao esfera de atuao


(Wooldridge, 2009)
Desenvolvimento de so-ware
orientado a agentes
Orientao a agentes (diferentes abordagens)
Micro (centrado no agente)
Detalhar caractersRcas de cada agente, mecanismos de
interao agente-agente e agente-ambiente
Comportamento global emergente

Macro (centrado na organizao)


O entendimento e controle do comportamento global do
sistema o interesse principal

Misto
Controle global X emergncia
Desenvolvimento de so-ware
orientado a agentes
Orientao a agentes (diferentes abordagens)
Como uRlizar a tecnologia de agentes e SMA de
forma
EfeRva
Controlvel
Previsvel
Econmica
...
para desenvolver aplicaes no mundo real?
METODOLOGIAS AOSE
Metodologias AOSE
Dados os conceitos importantes, vamos falar
de AOSE
Disciplina recente da Engenharia de So-ware
Histrico comea nos anos de 1990
Foco na denio de metodologias para apoiar o
desenvolvimento de SMA
Pouca ou nenhuma ateno aos aspectos
organizacionais de SMA
Metodologias AOSE
MAS-CommomKADS OMaSE
(+AI/KE)
Tropos

INGENIAS MaSE

MESSAGE Adelfe Gaia Agent OPEN


AAII
RAP

RUP OMT Fusion OPEN


AOR
OO

PASSI Prometheus

Adaptada de (Henderson-Sellers & Giorgini, 2005)


Metodologias AOSE
Caracterizam-se por:
conter abstraes necessrias para modelar
agentes e SMAs; (metamodelo)
foco em sociedades (organizadas) de agentes;
agentes situados em ambientes;
agentes desempenhando papis para aRngir
metas;
agentes interagindo seguindo protocolos de
comunicao.
Metodologias AOSE
Prescrevem aRvidades de (no necessariamente
todas):
Requisitos
Analise
Design
Implementao
Teste
Metodologias AOSE
ARvidades de (elicitao de) requisitos
idenRcar, organizar e documentar o conjunto de
capacidades que os usurios esperam que o
so-ware deve apresentar para resolver o
problema deles ou aRngir seus objeRvos.
Metodologias AOSE
ARvidades de anlise
Analisar os requisitos do sistema com a nalidade
de descrever o modelo conceitual da soluo do
problema que o so-ware deve resolver
Pode incluir (ou englobar) aRvidades de requisitos
Metodologias AOSE
ARvidades de design
Desenvolver a arquitetura do sistema em termos
de seus subsistemas, componentes etc e renar o
modelo conceitual da soluo para descrever uma
especicao da soluo a ser codicada.
Metodologias AOSE
ARvidades de implementao
Construir o so-ware especicado atravs de sua
codicao usando uma ou mais linguagens de
programao, produzindo cdigo fonte,
executveis, scripts, etc
Metodologias AOSE
ARvidades de teste
Relacionadas vericao e validao do
programa implementado
Winiko, 2013
Metodologias AOSE
Menor foco no desenvolvimento de novas
metodologias a parRr de meados da dcada
de 2000
Movimentao para padronizao (IEEE-FIPA)
Reuso (de fragmentos) de metodologias existentes
Ex: Medee Framework
Tropos
Tropos uma metodologia de desenvolvimento
dirigido a requisitos
fortemente baseada em conceitos usados na
fase inicial de requisitos - early requirements.

Para descrever Topos usamos material preparado


pelo prof. Paolo Giorgini
h|p://www.dit.unitn.it/~pgiorgio
METODOLOGIA GAIA
A metodologia GAIA
Considera SMAs como organizaes
computacionais

Agente Agente
Interaes
inter-agente
Agente Agente

Agente Agente

Organizao

Acesso ao ambiente

Ambiente

(Zambonelli, Jennings & Wooldridge, 2005)


A metodologia GAIA
Abstraes bsicas:
Ambiente
Papis
Interaes
Leis organizacionais e estruturas organizacionais
no se compromete com notaes nem com
tcnicas de modelagem
prov suporte s fases de anlise e desenho
A metodologia GAIA
Elicitao de requisitos
requisitos

Anlise
Subdividir sistema
em sub-organizaes

Modelo de ambiente
Modelo preliminar
Modelo preliminar de interao
de papel

Leis organizacionais
Escopo
Desenho arquitetural de Gaia
Estrutura organizacional

Modelo Padres Modelo


de papel de interao
organizacionais

Desenho
detalhado
Modelo Modelo
do agente de servios

Implementao
(Zambonelli, Jennings & Wooldridge, 2005)
A metodologia GAIA: fase de anlise
Denio das organizaes
Modelo de ambiente Anlise Subdividir sistema
em sub-organizaes

Modelo preliminar de papis Modelo preliminar


Modelo de ambiente
Modelo preliminar
de interao

Permisses
de papel

Leis organizacionais

Responsabilidades
Modelo preliminar de interaes
Protocolos de interao entre agentes
Leis organizacionais
Denem a dinmica da evoluo das organizaes (liveness)
Denem invariantes globais que devem ser respeitadas (safety)
Sada:
CaractersRcas funcionais (e algumas no-funcionais) do SMA
CaractersRcas operacionais do ambiente do SMA
A metodologia GAIA: fase de design
Desenho arquitetural
Modelo de papis
Denio das aRvidades nas quais os papis esto envolvidos
Denio de papis organizacionais
Modelo de interaes (ou protocolos)
Denio dos protocolos que o SMA necessita
Denio de protocolos organizacionais

Design arquitetural

Estrutura organizacional
Modelo Padres Modelo
de papel de interao
organizacionais
A metodologia GAIA: fase de design
Desenho detalhado
Denio do modelo do agente
Agente uma enRdade de so-ware aRva que desempenha um
conjunto de papis
Diagrama ou tabela associando cada agente aos papis que ele vai
desempenhar

Denio do modelo de servios


IdenRcao dos servios associados a cada papel

Design
detalhado
Modelo Modelo
do agente de servios
MODELOS ORGANIZACIONAIS
Modelos Organizacionais
Adotam viso sociolgica e organizacional
para modelar SMA

Oferecem framework conceitual, sintaxe e


semnRca para especicao da organizao
subjacente ao SMA
Tais especicaes podem ser implementadas
usando plataformas tradicionais de agentes ou um
middleware organizacional
Modelo MOISE+
MOISE+ (Model of OrganizaRon for MulRagent
Systems)

Considera trs dimenses para especicar uma


organizao subjacente a um SMA (aberto)
centrado na organizao
Especicao estrutural
Especicao funcional
Especicao denRca/normaRva
(Hubner et al, 2002)
Modelo MOISE+
Especicao estrutural
Papis
Relaes entre papis
Grupos

(Hubner et al, 2002)


Modelo MOISE+
Especicao funcional
Metas
Misses
Planos

Esquemas sociais

(Hubner et al, 2002)


Modelo MOISE+
Especicao denRca (ou normaRva)
Obrigaes
Permisses

Nivel individual
Para cada papel em determinada misso

Relaciona especicaes estrutural e funcional


Possibilita reorganizao dinmica da organizao

(Hubner et al, 2002)


Modelo MOISE+
Infraestrutura/Plataforma de execuo
S-MOISE+ (Hubner et al, 2007)
JaCaMo (Boissier et al, 2013)
Outros modelos organizacionais
OperA (Dignum, 2004)
AGR (Ferber et al, 2004)
TAEMS (Lesser et al, 2004)
ISLANDER (Esteva et al, 2002)
LINGUAGENS DE MODELAGEM
Linguagens de modelagem
AUML
Uma proposta de extenso da UML para AOSE
FIPA modeling TC
Primeiras resultados
Protocolos de interao
Modelagens de organizaes
Diagramas de classe
Diagramas de sequncia

(Bauer, 2002)
Linguagens de modelagem
AORML
Modelagem composta de dois Rpos de modelos
Externo: um modelo conceitual, voltado para a anlise
do domnio da aplicao.
diagramas de agentes, diagramas de estrutura de interao,
diagrama de sequncia de interao e diagrama de padro de
interao
Interno: corresponde a um modelo de design da
aplicao.
diagramas de estrutura de reao, diagramas de seqncia de
reao e diagramas de padro de reao

(Wagner, 2003)
Linguagens de modelagem
MAS-ML
Estende UML com a adio de metaclasses ao
metamodelo UML
Modelos estRcos
Diagrama de classe
Diagrama de organizao
Diagrama de papel
Modelos dinmicos
Diagrama de sequncia
Diagrama de aRvidades
(Silva and Lucena, 2004)
(Silva, Choren & Lucena, 2005)
LINGUAGENS DE PROGRAMAO
Linguagens de programao AO
Exemplos:
AgentSpeak(L)
[Rao, 1996], [Bordini et al, 2005]
3APL
[Hindriks et al, 1999], [Dastani, et al, 2005]
GOAL
[de Boer et al, 2002]
IMPACT
[Subrahmanian et al, 2000]
PLATAFORMAS DE
DESENVOLVIMENTO
Plataformas de apoio ao
desenvolvimento de SMA
JADE
h|p://jade.Rlab.com/

JASON
h|p://jason.sourceforge.net/Jason/Jason.html

JACK
h|p://www.aosgrp.com/

JADEX
h|p://jadex-agents.informaRk.uni-hamburg.de/xwiki/

JACAMO
h|p://jacamo.sourceforge.net/
AOSE: PERSPECTIVAS E FUTURO
PerspecRvas
Workshop dedicado EMAS
2 edio em 2014 na AAMAS
Esforo conjunto de 3 comunidades relacionadas a
Engenharia de SMA
AOSE; PROMAS; DALT