Anda di halaman 1dari 10

Metodologias Orientada a Agentes

Vera Maria B. Werneck, Luiz Marcio Cysneiros, Abraho Yehoshua Kano, Andrey Matheus
Coppeters, Andr Luiz Fasando, Leandro Augusto Justian Marzulo, Leila de Oliveira Furtado, Ligia
Fortes Pereira, Marco Antonio C. Lopez, Rafael Barros Pereira, Ricardo Augusto Gralhoz, Rdnei
Fernando de Andrade Martins, Thiago Schmidt da Silva e Tiago Rocha M. dos Santos

UERJ - Universidade do Estado do Rio de Janeiro


Departamento de Informtica e Cincia da Computao
Rua So Francisco Xavier 524, 6o Andar, Bloco B
Maracan - 20 550-013 - Rio de Janeiro Brasil
vera@ime.uerj.br

Resumo suprir muitas destas necessidades, almejando somar-se s


demais abordagens existentes, como Orientada Objetos
A Modelagem Orientada a Agentes vem suprir a (OO), na construo de sistemas complexos que tenham
demanda pelo desenvolvimento de novas aplicaes, que na autonomia, na mobilidade e na capacidade de
atendam aos requisitos e caractersticas das coordenao e adaptao, os aspectos fundamentais de
organizaes sociais e de seus relacionamentos, de forma seu funcionamento.
autnoma e integrada. O estudo deste novo paradigma Este trabalho tem como meta fornecer uma viso geral
ainda recente, entretanto vrias metodologias foram das propostas de modelagem orientada a agentes,
propostas que adotam este conceito para o descrevendo de forma geral os mtodos na seo 2 e
desenvolvimento de sistemas. Neste trabalho apresentando nas sees de 3 a 8 as metodologias GAIA
apresentado um resumo de algumas dessas propostas de [1], [2], Message [3], [4], MAS-CommonKADS [5],
modelagem e metodologias orientadas a agentes. Adelfe [6], Tropos [7] e MaSE [8].
.
Abstract
2. Mtodos e Linguagens de modelagem
Agent-Oriented modeling enriches the growing Orientadas a Agentes
demand for new application developments, which should
sustain the social organizations requirements and A orientao a agentes um paradigma ainda em
characteristics, besides the relationships involved, in an desenvolvimento e vrios mtodos orientados a agentes
autonomous and integrated way. The study of this new tm sido propostos, como por exemplo, Gaia [1], [2],
Agent-Oriented design approach is still recent, even MESSAGE [3], [4], Tropos [7], Adelfe [6], MASE [8],
though many systems development methodologies that Prometheus [9]. Estes mtodos oferecem uma variedade
adopt this concept have been proposed so far. This paper de conceitos, notaes, tcnicas e diretrizes
presents some of modeling proposals and methodologies metodolgicas. Algumas extenses de mtodos ou
agent oriented. linguagens de modelagens consagradas como
CommonKADS [10] e UML [11] tambm tm sido
estendidas para atender aos sistemas multi-agentes como
o caso do MAS-CommonKADS [5] e AUML[12].
As metodologias orientadas a agentes possuem vrias
1. Introduo razes (Figura 1). Algumas so baseadas na idia da
inteligncia artificial oriunda da engenharia de
O crescimento da demanda pelo desenvolvimento de conhecimento (KE), outras so extenses da metodologia
novas aplicaes, que atendam aos requisitos e orientada a objetos (OO). H ainda as que utilizam uma
carcatersticas das organizaes sociais e de seus mescla de conceitos baseados nessas duas metodologias e
relacionamentos, de forma autnoma e integrada, tem algumas so derivadas de outras metodologias tambm
impulsionado a pesquisa por novos designs patterns de orientadas a agentes.
software que consigam suportar naturalmente estas
propriedades. A Modelagem Orientada Agentes vem
6:Cadernos do IME : Srie Informtica : Vol. 26 : Dezembro de 2008

noes de Tarefa, Interao e Protocolo de Interao. A


terceira tem um foco maior no conceito de Meta.
O modelo de anlise consiste em uma complexa rede
de classes e instncias inter-relacionadas, derivadas dos
conceitos definidos no meta-modelo da metodologia [2],
[3], [4].
A Viso Organizacional representa as entidades
concretas no sistema e no seu ambiente, alm de seus
relacionamentos como os de agregao e de
conhecimento, este ltimo indicando que h pelo menos
uma interao entre as entidades. Estas entidades so
agentes, organizaes, papis ou recursos.
A Viso de Meta/Tarefa representa metas, tarefas,
estados e as dependncias entre eles. possvel
representar uma meta como a composio de uma srie de
sub-metas, de um nvel menor, e como as tarefas que
Figura 1: Influncias diretas e indiretas de propiciam o alcance daquela meta so executadas, alm
linguagens OO sobre metodologias OA [13] da dependncia temporal. Para tal, emprega-se o
Diagrama de Atividades da UML.
3. MESSAGE A Viso de Agente/Papel descreve para cada par
agente/papel um diagrama que retrata as metas, os
MESSAGE surgiu no domnio das aplicaes de eventos percebidos, os recursos controlados, suas regras
Telecomunicaes. Com este propsito, um instituto de de comportamento e quais tarefas so realizadas.
pesquisas da rea de telecomunicaes direcionou um dos A Viso da Interao tem enfoque na interao entre
seus projetos, o P907 [3], [4], para a definio da agentes/papis. Para cada interao mostra-se o seu
metodologia para a anlise e design baseados na iniciador, os colaboradores, o motivador (meta do
orientao a agentes. iniciador), as informaes importantes fornecidas e
MESSAGE [3], [4], utiliza a UML (Unified Modeling obtidas por cada participante da interao, os eventos que
Language) [10] como ponto de partida, adicionando a disparam, dentre outros de seus efeitos relevantes.
conceitos de entidades e relacionamentos necessrios A Viso de Domnio retrata as relaes e os conceitos
modelagem orientada a agentes. Esta modelagem busca especficos do domnio do sistema que est em
descrever a forma como um sistema multi-agentes desenvolvimento.
funciona para a realizao de uma meta coletiva, Na metodologia MESSAGE [3], [4], assume-se que o
similarmente s organizaes humanas e sociedades, alm ponto de partida para a anlise uma definio informal
do comportamento cognitivo dos agentes, com o auxlio dos requisitos, feita pelo cliente. Emprega uma tcnica de
da Inteligncia Artificial. anlise que consiste em um refinamento, em nveis, na
Tais conceitos lidam com idias e estruturas em um qual estgios subseqentes do refinamento resultam na
nvel conceitual maior que o da orientao a objetos, criao de modelos nos diferentes nveis, que devem ser
referenciado na rea de Inteligncia Artificial como consistentes entre si.
Nvel de Conhecimento, estabelecendo um contraste O nvel mais alto para decomposio denominado
entre o conhecimento e dados. A MESSAGE [3], [4] usa Nvel 0, no qual procura-se definir o sistema a ser
a linguagem padro de Orientao a Objetos, UML desenvolvido em relao aos seus interessados e ao seu
(Unified Modeling Language) [10] como padro de ambiente, dando uma idia geral sobre suas
linguagem nvel de dados, acrescentando os conceitos funcionalidades gerais. No Nvel 1, so definidos o
ao nvel de conhecimento que esto descritos em seu comportamento e a estrutura interna das entidades
meta-modelo, que tambm prov uma interpretao de identificadas, tais como agentes, organizao, tarefas e
alguns conceitos da UML [10] usados para descrio do metas. possvel adicionar nveis posteriores para a
comportamento, dentre os quais a noo de estado. especificao de requisitos funcionais e no-funcionais
A maior parte dos conceitos de entidades, existentes como desempenho e segurana, porm, a MESSAGE s
no nvel de conhecimento do MESSAGE [3], [4] podem engloba os dois primeiros nveis.
ser agrupadas em trs categorias: Entidade Concreta, H vrias maneiras de se fazer o refinamento dos
Atividade e Entidade de Estado Mental. Na primeira modelos do Nvel 0. A gerao de vrias vises do
categoria, esto contidas as noes de Agente, sistema, aplicada pela MESSAGE, propicia uma
Organizao, Papel e Recurso. A segunda contm as liberdade de escolha ao analista sobre a melhor estratgia
Cadernos do IME : Srie Informtica : Vol. 26 : Dezembro de 2008 : 7

a ser adotada. Porm, usualmente, procura-se utilizar uma problemas empregado por um agente para realizar uma
combinao destas estratgias de refinamento. tarefa. Este modelo divide o conhecimento da aplicao
Uma das abordagens a Centralizada na Organizao, em trs subnveis: nvel do domnio (conhecimento
que focaliza na anlise das propriedades gerais como: a declarativo sobre o domnio), nvel de inferncia (uma
estrutura do sistema, os servios oferecidos, metas e biblioteca de estruturas genricas de inferncia) e nvel de
tarefas gerais, os papis principais e os recursos. A tarefa (ordem das inferncias).
abordagem Centralizada no Agente tem como foco a Algumas consideraes e problemas foram analisados
definio dos agentes necessrios para que as ao se aplicar diretamente CommonKADS ao
funcionalidades do sistema possam ser providas, sendo desenvolvimento de sistemas multi-agentes [16], [17]
que a organizao mais apropriada identificada de surgindo a proposta MAS-CommonKADS centrada no
acordo com os requisitos do sistema. A abordagem Modelo de Agentes. Esta metodologia define sete
Orientada Interao prega um refinamento progressivo modelos [16]: Modelo de Agentes, Modelo de
dos cenrios de interao, que caracterizam o Organizao, Modelo de Tarefas, Modelo de Experincia,
comportamento interno e externo da organizao e dos Modelo de Comunicao, Modelo de Coordenao e
agentes. A abordagem por Decomposio de Meta/Tarefa Modelo de Design (Figura 2).
baseia-se na decomposio funcional. Os papis, metas e O Modelo de Agentes especifica as caractersticas de
tarefas do sistema so sistematicamente analisados para um agente: sua capacidade de raciocnio, habilidades,
que sejam determinadas as condies de deciso, os servios, sensores, grupos de agentes a que pertence e
mtodos para resoluo de problemas e tratamento de classe de agente. Um agente pode ser um agente humano,
falhas. software, ou qualquer entidade capaz de empregar uma
O propsito da fase de projeto definir as entidades linguagem de comunicao de agentes. O Modelo de
computacionais que representam o sistema multi-agentes Organizao uma ferramenta para analisar a
(MAS) representado na fase de anlise. Estes artefatos organizao humana em que o sistema multi-agente vai
so transformados para possibilitar a implementao. A ser introduzido e para descrever a organizao dos
fase de projeto na metodologia MESSAGE [3], [4], agentes de software e sua relao com o meio. O Modelo
dividida em dois processos: projeto de alto nvel e projeto de Tarefas descreve as tarefas que os agentes podem
detalhado. realizar, as metas de cada tarefa, sua decomposio e os
No projeto de alto nvel o modelo de anlise refinado mtodos de resoluo de problemas para resolver cada
produzindo uma verso inicial da arquitetura MAS. O meta. O Modelo de Experincia descreve o conhecimento
projeto detalhado pressupe a definio das estruturas de necessrio aos agentes para atingir suas metas. Segue a
implementao possveis para o projeto dos agentes, decomposio de CommonKADS e reutiliza as
sendo que o MESSAGE define duas abordagens. A bibliotecas de tarefas genricas. O Modelo de
primeira direcionada por uma arquitetura agente e por Comunicao descreve as interaes entre um agente
uma organizao multi-agentes, considerando que o humano e um agente software. Centra-se na considerao
agente uma entidade mais abrangente que uma classe. de fatores humanos para dita interao. O Modelo de
A segunda abordagem mais orientada plataforma Coordenao descreve as interaes entre agentes de
agente, levando-se em conta que cada agente pode ser software. E finalmente o Modelo de Design descreve a
mapeado para uma classe. Este conceito extrado dos arquitetura e o design do sistema multi-agentes como
modelos suportados pela maioria das ferramentas para a passo prvio a sua implementao, sendo o nico modelo
implementao de agentes, como a JADE [14] e a FIPA- a no tratar da Anlise.
OS [15], nas quais h uma classe Agente a partir da qual O modelo de ciclo de vida para o desenvolvimento de
tipos especficos de agentes so derivados. sistemas multi-agentes [5], [16], [17] segue a gesto de
projetos de Common-KADS [10] sendo dirigido por
4. MAS-CommonKADS riscos e engloba as seguintes fases: Conceituao,
Anlise, Design, Codificao, Integrao e Operao e
A metodologia MAS-CommonKADS [5], [16], [17] Manuteno. A fase de Conceituao consiste na tarefa
uma extenso da metodologia CommonKADS de elicitao para obter uma primeira descrio do
englobando aspectos que so relevantes para sistemas problema e a determinao dos casos de uso que podem
multi-agentes. ajudar a entender os requisitos informais e a testar o
CommonKADS tornou-se, principalmente na Europa, sistema. A Anlise determina os requisitos do sistema
uma referncia no desenvolvimento de sistemas baseados partindo do enunciado do problema. Durante esta fase se
em conhecimento (SBC). No CommonKADS so desenvolvem os seguintes modelos: organizao, tarefas,
definidos vrios modelos [10], sendo o Modelo de agentes, comunicao, coordenao e experincia. No
Experincia o central da metodologia CommonKADS Design define-se como os requisitos da fase de anlise
com meta de modelar o conhecimento de resoluo de podem ser conseguidos mediante o desenvolvimento do
8:Cadernos do IME : Srie Informtica : Vol. 26 : Dezembro de 2008

modelo de design, determinando-se as arquiteturas tanto Codificao cada agente implementado e testado e na
da rede multi-agentes como de cada agente. Na fase de Integrao, o sistema completo testado.

Modelo de
Modelo da Tarefa Tarefas
Organizao Funo

Tarefa Tarefa
Agente

Capacidade de raciocnio
Modelo de Conhecimento estratgico Modelo de
Experincia e da aplicao Agentes

Iniciativa
Decomposio Transao Agente
Transferncia de Tarefa
Informao
Transao
Transao
Modelo de Modelo de
Design
Interao Comunicao

Aplicao
Tarefa

Figura 2. Conjunto dos modelos CommonKADS


Na fase de Arquitetura, definida uma estrutura
5. GAIA organizacional do sistema, e logo em seguida so
completados o modelo de papis e o modelo de interao.
A metodologia GAIA foi desenvolvida para anlise e Na fase de Projeto Detalhado, so gerados os modelos de
projeto de sistemas baseados em agentes, por estes serem agentes (agent model) e o de servios (services model).
flexveis, terem autonomia em resolver problemas, Na fase de anlise, o objetivo desenvolver um
possurem interao e pela estrutura organizacional do entendimento do sistema e sua estrutura, chamada de
sistema [1], [2]. organizao do sistema, que tida como uma coleo de
A metodologia GAIA permite que o analista passe da papis, que se relacionam com outros e que fazem parte
especificao de requisitos para o projeto, que de padres sistemticos e institucionalizados de interao
suficientemente detalhado, permitindo que seja com outros papis. Assim o sistema decomposto em
implementado diretamente, conforme o analista migra de papis que sero desempenhados na organizao (meta do
um conceito abstrato para um mais concreto. modelo de papis) e definida a maneira como eles
Os principais conceitos dessa metodologia podem ser interagem de acordo com protocolos especficos (meta do
divididos em duas categorias: abstratos e concretos. modelo de interao). Esta fase promove um melhor
Entidades abstratas so aquelas usadas durante a anlise entendimento do sistema e de suas estruturas sem
representando os conceitos do sistema, mas que no considerar detalhes de implementao [2].
necessariamente tem alguma ligao com o sistema. Na fase de projeto, o objetivo transformar o modelo
Entidades concretas, em contraste, so usadas dentro do de anlise em modelo de baixo nvel de abstrao com
processo de projeto, e sero direcionadas, em tcnicas de projetos tradicionais (incluindo tcnicas de
contrapartida, em tempo de execuo do sistema. Orientao a Objetos) que possam ser aplicadas de
Gaia possui duas fases distintas [2]: fase de anlise e maneira a implementar o agente. Em outras palavras,
fase de projeto (design). Na fase de anlise, so gerados o GAIA se preocupa em como a sociedade de agentes
modelo de ambiente, o modelo preliminar de papis, o coopera para atingir metas no nvel do sistema e o que
modelo preliminar de interao, e as regras solicitado para cada agente. Realmente como um agente
organizacionais do sistema. A fase de projeto subdivide- realiza estes servios alm do escopo de GAIA, e
se em duas: o Projeto de Arquitetura e o Projeto depender do domnio de uma aplicao particular [2].
Detalhado. A organizao dos modelos do Gaia nestas
fases apresentada na figura 3.
Cadernos do IME : Srie Informtica : Vol. 26 : Dezembro de 2008 : 9

Figura.3: Organizao dos Modelos do Gaia

algoritmo prvio para descrever o comportamento do


6. Adelfe sistema [18].
ADELFE alm do UML e do RUP [10] tambm utiliza
A metodologia ADELFE foi desenvolvida com propsito os princpios de AUML [12], [19] para expressar
de trabalhar alguns aspectos ainda no considerados pelas protocolos de interao entre agentes e utiliza duas
metodologias orientadas a agentes previamente utilizadas ferramentas integradas ao framework ADELFE:
e para consolidar a teoria de AMAS (Adaptative Multi- OpenTool e ferramenta interativa [2]. OpenTool uma
Agent Systems). A sigla ADELFE um acrnimo que, ferramenta grfica para modelagem que d suporte
traduzido do francs, significa framework para notao UML e protocolos de interao AUML. A
desenvolvimento de software com funcionalidades ferramenta interativa descreve o processo de modelagem
emergentes [6]. e ajuda o desenvolvedor a aplic-lo.
ADELFE trabalha baseado num processo especfico O objetivo principal da metodologia ADELFE cobrir
adaptado de uma interpretao do RUP, Rational Unified todas as fases do processo de desenvolvimento clssico
Process, de acordo com o Projeto Netuno de um software, desde os requisitos at a implantao
(http://www.neptune.irit.fr). Alguns acrscimos foram com base no processo RUP adaptado para AMAS.
feitos para levar em considerao especificidades da Apenas as work definitions de requisitos, anlise e design
teoria prpria dos AMAS, como, por exemplo, a que requerem modificaes a fim de serem adaptadas a
caracterizao do ambiente do sistema, a identificao de um AMAS, o restante do RUP aplica-se sem maiores
falhas de cooperao. Nesse tipo de sistema, cada usurio problemas [18].
e fornecedor de servios tm uma meta individual que a Na fase de anlise a atividade Caracterizar o
execuo da solicitao requerida e no conhece a funo Ambiente foi adicionada ao RUP para caracterizar o
global do sistema. Este sistema fortemente indefinido, ambiente do sistema, e constitui-se das seguintes tarefas:
devido a eventual entrada ou sada de usurios e ou determinar as entidades, definir o contexto e caracterizar
fornecedores de servios. Mais que isso, no existe um o ambiente. Essa caracterizao tem incio na
identificao das entidades que interagem com o sistema
10:Cadernos do IME : Srie Informtica : Vol. 26 : Dezembro de 2008

e nas restries sob essas interaes. Uma entidade um meta local e interao com outras entidades. Ao terminar
ator no mesmo sentido que em UML, podendo ser esse estudo de identificao dos agentes, as respectivas
classificada em ADELFE como ativa ou passiva. classes so marcadas com o esteretipo de agente
A definio do contexto analisa o ambiente por meio cooperativo.
das interaes entre as entidades e o sistema, definindo os A atividade de estudar as interaes entre entidades
diagramas de seqncia e colaborao da UML. Os tambm foi incorporada ao processo podendo estudar
fluxos de informaes entre entidades passivas e o interaes entre entidades ativas/passivas, entre entidades
sistema so expressos por meio de Diagramas de ativas e entre agentes. Assim possvel validar as
Colaborao, enquanto que interaes entre entidades interaes entre entidades ativas e passivas e as interaes
ativas e o sistema so descritas atravs de Diagramas de entre entidades ativas previamente definidas
Seqncia. De acordo com UML, o diagrama de representadas por diagramas de colaborao e seqncia,
Colaborao deriva-se do diagrama de Classes. respectivamente. O ltimo estgio desta atividade,
Entretanto, a metodologia ADELFE no exige tais pr- realizada atravs de um novo diagrama para descrever as
requisitos sendo desenvolvidos baseados na definio relaes entre agentes: diagrama de protocolo.
prvia das entidades considerando-se o conjunto de A fase de design tem um papel importante porque
palavras-chave definidas anteriormente. trata-se de uma fase de refinamento do projeto, onde pode
Por fim, o analista tem que descrever o ambiente sob ser possvel inclusive identificar candidatos a agentes que
termos desenvolvidos por Russel e Norvig (1995 em [2]). passaram desapercebidos nas fases anteriores. Esta fase
Assim, o ambiente pode ser descrito como: acessvel (em dividida de em 5 etapas a saber: estudo da arquitetura
contraste com inacessvel), contnuo (em contraste a detalhada e do modelo do Multi-Agente, estudo das
discreto), determinstico (em contraste a no linguagens de interao, refinamento dos agentes do
determinstico), ou dinmico (em contraste a esttico). projeto, teste e finalizao dos diagramas do Projeto [18].
ADELFE est interessada apenas em agentes
cooperativos que possibilitam a construo de um
AMAS. O desenvolvedor, aps definir os casos de uso, 7. TROPOS
deve pensar j em eventos potencialmente nocivos ou
inesperados no sistema, tendo em mente que estas podem Tropos uma metodologia orientada a agentes,
levar a Situaes No Cooperativas no nvel do agente. caracterizada por trs aspectos fundamentais: (i) noo de
Tais falhas de cooperao podem ser vistas como uma agente e as noes intelectuais relacionadas, da
espcie de exceo. Para levar isto em considerao, na arquitetura BDI (belief, desire, intention); (ii) ateno
confeco dos casos de uso incrementada as falhas de especial para as atividades que precedem a especificao
cooperao utilizando-se de notao especfica [2],[18\. dos requisitos prescritos, como o entendimento de como e
Na fase de Anlise so incorporadas as atividades de porqu o sistema atenderia aos propsitos da organizao;
verificar a adequao a AMAS, Identificar agentes e (iii) idia de construir-se um modelo do que dever ser o
estudar as Interaes entre as entidades. ADELFE sistema, que ser refinado e estendido, incrementalmente,
adiciona a atividade de Verificar a adequao do sistema desde um nvel conceitual at artefatos executveis, por
em questo tecnologia AMAS, sendo esta realizada uma seqncia de passos de transformao [7], [13], [20].
atravs da Ferramenta de Adequao. A atividade de A idia de se focar nas atividades que antecedem a
Identificar Agentes visa identificar o que considerado especificao dos requisitos de software, tal que se
como agente no sistema. Na ADELFE, agentes no so entenda como o sistema desejado auxiliar a organizao
conhecidos de antemo, e o analista deve identific-los, a atingir suas metas. Esta proposta baseada no
estudando as entidades definidas a priori. Entidades que framework de modelagem i* [21], que oferece os
demonstram propriedades como autonomia, meta local a conceitos primitivos de atores, que podem ser agentes
se atingir, existncia de interaes com outras entidades, (organizacional, humano ou software), posies ou
viso parcial do sistema e habilidade de negociao so papis, metas concretas (goals) e dependncias sociais
aquelas que devem ser consideradas como agentes em (tais como metas flexveis (softgoals), tarefas e recursos)
potencial. Isso no se aplica, obrigatoriamente, a todas as para definio das obrigaes de cada ator em relao aos
entidades ativas identificadas, pois algumas permanecem outros [7], [13], [20].
como objetos comuns. Vrias atividades contribuem para elaborao de uma
A construo de um sistema AMAS se interessa por primeira modelagem dos requisitos, e subseqentemente
agentes que se comportam cooperativamente devendo ser seu refinamento e evoluo: Modelagem dos Atores,
oriundos das entidades definidas anteriormente na Modelagem de Dependncias, Modelagem de Metas
atividade na fase de requisitos e das classes elaboradas na Modelagem de planos e Modelagem de Competncias.
atividade anlise. Os agentes cooperativos so entidades O Modelo dos Atores consiste na identificao e
que satisfazem a pelo menos os requisitos de autonomia, anlise dos atores de um ambiente, dos agentes e atores
Cadernos do IME : Srie Informtica : Vol. 26 : Dezembro de 2008 : 11

do sistema, e seu foco depender da fase de recursos. Os atores em uma organizao caracterizam-se
desenvolvimento. Esta modelagem representada no por possurem metas e intenes que seriam atingveis, ou
Diagrama de Atores. talvez no to facilmente alcanados, de forma isolada,
A Modelagem de Dependncias consiste na retratando uma dependncia que torna possvel verificar
identificao de atores que possuem um relacionamento como a implementao final satisfaz as necessidades
de dependncia, sendo tambm representada no Diagrama iniciais, ao descrever o porqu das funcionalidades do
de Atores. sistema. Uma vez que so identificados os atores sociais,
A Modelagem de Metas baseia-se no estudo das metas suas metas e dependncias, gera-se o Diagrama de Atores
de um ator, a partir do seu ponto de vista, utilizando desta fase. Em seguida, feito um enriquecimento do
tcnicas como: (i) a anlise do tipo means-end (meio-fim) modelo ao analisar-se a lgica de cada meta, atravs de
que visa identificar planos, recursos e metas fexveis que uma decomposio em sub-metas e planos, gerando o
provm meios para o alcance de uma meta concreta; (ii) a Diagrama de Metas. Neste, as metas mais abaixo na
anlise de contribuio, que aponta as metas que podem hierarquia so mais especficas e motivadas pelos que se
contribuir positiva ou negativamente para que uma meta encontram mais acima. Identifica-se tambm quais as
flexvel analisada seja atingida; (iii) a decomposio metas que contribuem positivamente ou negativamente
AND/OR, na qual uma meta maior decomposta em sub- para as metas flexveis.
metas. A representao grfica desta modelagem feita Na etapa de Late Requirements o modelo conceitual
pelo Diagrama de Metas. estendido. O enfoque passa a ser o que dever ser o
A Modelagem de Planos similar Modelagem de sistema, o qual representado como um ator, que tem
Metas, empregando as mesmas tcnicas, analogamente, e uma srie de dependncias com os demais atores da
tambm representada graficamente pelo Diagrama de organizao. Tais dependncias definem os requisitos
Metas. funcionais e no funcionais do sistema, representados no
A Modelagem de Competncias realizada na fase de Diagrama de Atores desta fase. No Diagrama de Metas,
projeto da arquitetura, sendo baseada na atribuio de cada meta analisada do ponto de vista do sistema,
competncias aos sub-atores especificados, representadas havendo um detalhamento sobre os planos necessrios a
graficamente pelos Diagramas de Plano e de sua execuo e os recursos envolvidos. O sistema
Competncias. Com este intuito, so usados tambm os descrito dentro de seu ambiente operacional, com suas
Diagramas de Atividades da UML [10] e os Diagramas qualidades e funes relevantes.
de Interao da AUML [12]. O Projeto Arquitetural composto de trs passos e
A metodologia Tropos tem como meta suportar todas define a arquitetura geral do sistema em termos de sub-
as atividades de anlise e projeto no processo de sistemas, representados como atores, interligados por
desenvolvimento de software, com a concepo de fluxos de dados e controles, representados como
construir-se um modelo do que dever ser o sistema e o dependncias. O primeiro passo abrange a incluso de
seu ambiente, que ser aperfeioado e estendido, novos atores, conforme o padro arquitetural escolhido, e
provendo uma interface comum para as vrias atividades a sua decomposio em sub-atores aos quais so
de desenvolvimento de software, assim como para sua delegadas sub-metas, baseando-se em uma anlise sobre
documentao e evoluo. as metas do sistema. O resultado deste passo um
As cinco principais fases de desenvolvimento de Diagrama de Atores Estendido. No segundo passo,
software que compem a metodologia so: Early identifica-se quais as competncias necessrias aos atores
Requirements e Late Requirements (anlise de para a realizao de suas metas e planos, que podem ser
requisitos), Projeto Arquitetural, Projeto Detalhado, e obtidos de uma anlise sobre o Diagrama de Atores
Implementao. Estendido. O terceiro e ltimo passo estabelece um
Geralmente, a anlise de requisitos a fase inicial nas conjunto de tipos de agentes, atribuindo a cada um destes
metodologias existentes na engenharia de software, tendo uma ou mais competncias, de acordo com a escolha do
como funo levantar um conjunto de requisitos designer aps uma anlise cuidadosa do Diagrama de
funcionais e no funcionais do que dever ser o sistema. Atores Estendido e a sua viso sobre o sistema em termos
Na Tropos, esta fase dividida em duas etapas, Early de agentes.
Requirements e Late Requirements, que compartilham a O enfoque na fase de Projeto Detalhado a
mesma abordagem conceitual. especificao de cada componente arquitetural, em
Na etapa de Early Requirements, a preocupao com maiores detalhes. feita uma anlise dos agentes a um
a compreenso de um problema atravs do estudo da nvel micro, na qual suas metas, crenas e competncias,
configurao organizacional existente. Identifica-se os alm da comunicao com os demais agentes, so
participantes do domnio, que so modelados como atores especificadas detalhadamente, estando fortemente
sociais, os quais dependem uns dos outros para o alcance relacionada com as escolhas de implementao. So
de metas, realizao de planos e fornecimento de empregados os Diagramas de Atividades da UML [10]
12:Cadernos do IME : Srie Informtica : Vol. 26 : Dezembro de 2008

para a representao dos planos e competncias, em A metodologia MaSE uma especializao das
Diagramas de Competncia e Diagramas de Plano, metodologias de engenharia de software mais tradicionais
permitindo a modelagem de uma competncia sob o e segue as fases e passos mostrados na figura 4 [7].
ponto de vista de um determinado agente e o O objetivo da fase de Anlise da MaSE definir um
detalhamento de cada plano contido no Diagrama de conjunto de papis que podem ser usados para alcanar as
Competncia. Nos Diagramas de Interao de Agentes, os metas dos nveis do sistema. Estes papis so definidos
Diagramas de Seqncia da AUML [12] so explorados, por uma srie de tarefas, que por sua vez so descritas por
onde agentes correspondem a objetos cuja linha do tempo modelos de estado finitos. Este processo alcanado em
de vida independente da interao a ser modelada e a trs passos: Capturando Metas, Aplicando Casos de Uso e
comunicao entre agentes corresponde arcos de Refinando Papis [7], [23].
mensagem assncronos. Na fase Capturando Metas as metas do sistema so
A programao orientada agentes motivada capturados a partir da anlise do conjunto de requisitos
principalmente pela necessidade de se ter arquiteturas do sistema. Metas so o que o sistema est tentando
abertas, que mudam continuamente e evoluem para alcanar e eles geralmente se mantm constantes por todo
suportar mais componentes e atender a novos requisitos. o resto do processo de projeto e anlise. Para estruturar as
Para algumas aplicaes a programao orientada metas, o analista estuda sua importncia e inter-relaes.
agentes parece ser muito adequada, como: o comrcio O primeiro passo identificar a principal meta do
eletrnico, o planejamento de recursos da empresa, sistema. Essa meta colocada no topo do Diagrama de
sistemas de controle de trfego areo, assistentes pessoais Hierarquia de Metas. As metas devero ser decompostas
(PDAs) e assim por diante. em sub-metas at que quaisquer mais decomposies
Como exemplo de plataforma de programao, pode- dessas metas resultem em funes e no sub-metas [7],
se citar a JACK Intelligent Agents [], um ambiente de [23].
desenvolvimento orientado a agentes construdo para Na fase Aplicando Casos de Uso, as metas e sub-metas
estender a linguagem Java pelo modelo de agente BDI so traduzidas em casos de uso que contm os cenrios
(Belief, Desire, Intention), muito usado na rea de obtidos no passo anterior. Os cenrios so descritos de
inteligncia artificial e de cincias cognitivas. Os agentes forma textual e so transformados em uma srie de
JACK [22] podem ser vistos como componentes de diagramas de seqncia similares aos diagramas de
software autnomos que possuem metas e desejos a seqncia da UML [6]. A principal diferena entre um
serem atingidos, sendo programados com um conjunto de diagrama e outro o fato de que no diagrama de
planos, no qual cada plano descreve como atingir uma seqncia da MaSE as seqncias de eventos ocorrem
meta sob determinadas circunstncias. Para suportar este entre papis enquanto que no diagrama da UML [6] as
modelo, JACK [22] oferece cinco construes de seqncias de eventos ocorrem entre objetos [7], [23].
linguagens principais: agentes, competncias, relaes de
bases de dados, eventos, e planos.

8. MaSE

A metodologia MaSE (Multiagent System Engineering)


independente de qualquer arquitetura de agentes,
linguagem de programao, ou framework de
comunicao. A MaSE v os agentes como uma
abstrao mais profunda do paradigma de orientao a
objeto, onde os agentes so especializaes de objetos.
Em vez de simplesmente objetos, com mtodos que
podem ser invocados por outros objetos, os agentes
conversam entre si e agem proativamente de modo a
alcanar uma meta individual ou do sistema [7].
MaSE tem como objetivo principal ajudar o
engenheiro de software a elicitar um conjunto inicial de
requerimentos e analisar, projetar e implementar um
sistema multiagente.

Figura 4. Fases da MaSE


Cadernos do IME : Srie Informtica : Vol. 26 : Dezembro de 2008 : 13

Quando os casos de uso so transformados em bsico do sistema. Esses modelos so usados para
diagramas de seqncia, os papis que foram desenvolver um conjunto de papis e tarefas que
identificados se tornando o conjunto inicial de papis que mostravam como as metas foram alcanadas. O propsito
sero usados no prximo passo, que o refinamento dos da fase de projeto usar esses papis e tarefas e convert-
papis. O analista dever representar os requerimentos los em uma forma mais adequada implementao.
crticos, sendo eles positivos ou negativos, pois os dois Existem quatro passos na fase de projeto da MaSE. O
so importantes para definir os papis do sistema. primeiro passo Criando Classes de Agentes, no qual o
O objetivo da fase Refinando Papis transformar as desenvolvedor designa papis para tipos de agentes
metas estruturados e os diagramas de seqncia em especficos. No segundo passo, Construindo
papis e suas tarefas associadas. Papis so a base para a Conversaes, as conversaes entre as classes de
definio de classes de agentes e representam as metas do agentes so definidas enquanto que no terceiro passo,
sistema durante a fase de desenho. Montando Classes de Agentes, a arquitetura interna e os
Na MaSE as metas do sistema so atingidos se cada processos de raciocnio das classes de agentes so
meta consegue ser mapeada em um papel, e cada papel desenhados. Finalmente, no ltimo passo, Projeto do
usado por no mnimo uma classe de agentes. Em geral, o Sistema, o desenvolvedor define o nmero e a localizao
mapeamento das metas em papis realizado de maneira dos agentes no sistema desenvolvido.
1 para 1. Entretanto, o desenvolvedor pode permitir que O Diagrama de Desenvolvimento usado para mostrar
um papel seja responsvel por mltiplos metas. O momentos de possveis configuraes do sistema em um
desenvolvedor poder tambm combinar papis, sistema multi-agentes, no qual os agentes se movem, ou
simplificando, assim, o desenho geral. so criados e destrudos [7], [23].
Na MaSE, o refinamento das metas capturado em um
Modelo de Papis. onde os papis so decompostos em 9. Concluso
um conjunto de tarefas, as tarefas individuais so
designadas a alcanar as metas pelo qual o papel A tecnologia de agentes no um padro isolado para o
responsvel [7], [23]. desenvolvimento de aplicaes, neste caso, baseando-se
O Modelo de Tarefas Concorrentes associa as tarefas em entidades de software autnomas, interativas e
com cada papel que descreve o comportamento que um adaptativas. A orientao a agentes deve ser integrada
papel precisa ter para alcanar a sua meta. Em geral, um com as demais metodologias j existentes, visando
nico papel pode possuir mltiplas tarefas concorrentes explorar aspectos que estas no retratavam, como as
que definem o comportamento esperado do papel. caractersticas presentes nas organizaes humanas.
Especificamos o comportamento dos papis como um Esta abordagem se adapta ao desenvolvimento de
conjunto de n tarefas concorrentes. Cada tarefa especifica aplicaes inteligentes e distribudas, na execuo de
uma nica linha de controle que define um tarefas ou disponibilizao de servios. Em relao
comportamento particular que o papel pode ter. Tarefas orientao a objetos, tecnologia mais usada atualmente,
concorrentes so representadas graficamente usando um difere pela autonomia. Os agentes dispensam uma
autmato de estados finitos. Esse autmato chamado interveno externa para agir, diferentemente dos objetos,
Diagrama de Tarefas concorrentes. que precisam ter seus mtodos invocados para efetuar
Atividades so utilizadas para especificar funes do qualquer processamento.
papel e so realizadas dentro dos estados das tarefas. Este novo paradigma ainda est restrito rea de
Enquanto essas tarefas executam concorrentemente elas pesquisa com alguns relatos sobre casos de uso
podem ser coordenadas usando eventos internos. Eventos comercial. Alm do fato de ser recente, outros fatores
internos so passados de uma tarefa para outra e so contribuem para que a tecnologia no desponte no
especificados nas transies entre estados. Para a mercado, tais como a falta de um consenso sobre o
comunicao com outros papis, as mensagens externas suporte agentes e a existncia de vrias metodologias
podem ser enviadas e recebidas. Essas mensagens com processos de anlise e design distintos.
externas so especificadas atravs do uso de eventos de Este trabalho revela a importncia do desenvolvimento
send e recieve. Esses eventos recuperam as mensagens do da tecnologia de agentes e os aspectos relevantes a serem
componente responsvel por tratar as mensagens do discutidos, a medida que surgem novas necessidades na
papel. As tarefas, alm de se comunicarem com outros rea de tecnologia de informao. A demanda por
papis, podem tambm interagir com o ambiente. Essa sistemas mais inteligentes e flexveis impulsionar o
interao tipicamente capturada em funes definidas amadurecimento das metodologias apresentadas,
nos estados. acelerando sua evoluo e propiciando a sua utilizao na
Na fase de anlise, um conjunto de metas foi detalhado criao de solues reais para o mercado.
e usado para criar um conjunto de casos de uso e Este trabalho est inserido num projeto de pesquisa de
diagramas de seqncia que descreviam o comportamento avaliao de metodologias Orientadas a Agentes [24],
14:Cadernos do IME : Srie Informtica : Vol. 26 : Dezembro de 2008

[25], [26], [27], [28], [29] com base no framework de Systems Analysis and Synthesis (ISAS99), Vol 5, 1999, p.
avaliao proposto por Yu e Cysneiros [30]. 535-540.
[18] Bernon, C., Camps, V., Gleizes, M. P. and Piscard, G.,
"Engineering Adaptive Multi-Agent Systems: The ADELFE
10. Referncias Bibliogrficas Methodology"; IN: Agent-Oriented Methodologies, Brian
Henderson-Sellers e Paolo Giorgini (ed.), IDEA Group Pu
[1] Wooldridge, M., Jennings, N.R. and Kinny, D., The Gaia blishing, 2005, pp. 172-202.
methodology for agent-oriented analysis and design. [19] Odell, J., Parunak, H. and Bauer, B., "Representing agent
Autonomous Agents and Multi-Agent Systems, 3(3), 2000, interaction protocols in UML," In Agent-Oriented Software
pp 285-312. Engineering, First International Workshop (AOSE 2000),
[2] Zambonelli, F., Jennings, N. R. and Wooldridge, M., Ciancarini, P., Wooldridge, M., Eds., LNCS 1957 Springer,
Developing Multiagent Systems: The Gaia Methodology, In Limerick, Ireland, 2001, pp. 121-140.
ACM Transaction on Software Engineering and [20] Tropos, at http://www.troposproject.org/
Methodology, Vol. 12, No. 3, July 2003, pp 317-370. [21] E. Yu, Modelling Strategic Relationships for Process
[3] Caire, G., Coulier, W., Garijo, F., Gmez-Sanz, J., Pavn, J., Reengineering, PhD Thesis, Graduate Department of
Kearney, P.and Massonet. P., Message: A Methodology for Computer Science, University of Toronto, Canada, 1995.
Development of Agent-Based Applications, In: [22] Coburn, M., Jack Intellignet Agents: User Guide version
Methodologies And Software Engineering For Agent 2.0, AOS Pty Ltd, 2000.
Systems, edited by Federico Bergenti, Marie-Pierre Gleizes [23] Scott A. DeLoach. Multiagent Systems Engineering of
and Franco Zambonelli, to be published by Kluwer Organization-based Multiagent Systems. 4th International
Academic Publishing (New York), 2004. Workshop on Software Engineering for Large-Scale Multi-
[4] Message, http://www.eurescom.de/~public-webspace/P900- Agent Systems (SELMAS'05). May 15-16, 2005, St. Louis,
series/P907/index.htm, May 23, 2000. MO. Springer LNCS Vol 3914, Apr 2006, pp 109 - 125.
[5] Iglesias, C.A. e Garijo, M. (2005) The Agent Oriented [24] Cysneiros, L. M., Werneck, V. M. B.; Yu, Eric,
Methodology MAS-CommonKADS; IN Agented-Oriented Evaluating Methodologies: A Requirements Engineering
Methodologies, Brian Henderson-Sellers e Paolo Giorgini Approach Through the Use of an Exemplar. Journal of
(ed.), IDEA Group Publishing, p. 46-78. Computer Science & Technology, USA, v. 5, n. 2, 205, pp.
[6] ADELFE (Atelier de Dveloppement de Logiciels 71-79.
Fonctionnalit Emergente) at http://www.irit.fr/ADELFE. [25] Cysneiros, L. M., Werneck, V. M. B., Amaral, J. and Yu,
[7] Tropos at BRESCIANI, Paolo et al. Tropos: An Agent- E., Agent/Goal Orientation versus Object Orientation for
Oriented Software Development Methodology, Kluwer Requirements Engineering: A Practical Evaluation Using an
Academic Publishers, 2004. Exemplar, In: Proc. of VIII Workshop in Requirements
[8] MaSE, at http://macr.cis.ksu.edu/projects/mase.htm Engineering, Porto, 2005, pp.123-134, ISBN 972-752-079-0.
[9] Prometheus at http://www.cs.rmit.edu.au/agents/ [27] Coppieters, A. M., Marzulo, L.A.J., Kinder, E. e Werneck,
SAC2/methodology.html V.M., Modelagem Orientada a Agentes utilizando
[10] Schreiber, G et al, Knowledge Engineering and MESSAGE, Cadernos do IME-Srie Informtica, Rio de
Management: The CommonKADS Methodology, Janeiro, v.18, 2005, pp. 38-46.
Cambridge, MA,1999. [28] Werneck, V. M.; Pereira, L. F.; Silva, T. S.; Almentero, E.
[11] Rumbaugh, J., Jacobson, I. E Booch,G., The Unified K.; Cysneiros, L. M.; . "Uma Avaliao da Metodologia
Modeling Language Reference Manual, Second edition, MAS-CommonKADS", In: Proceedings of the Second
Addison,-Wesley, 2004. Workshop on Software Engineering for Agent-oriented
[12] AUML at http://www.auml.org/auml/ Systems, (SEAS06), Florianpolis, 2006, pp. 13-24.
Castro, J., Kolp M. and Mylopoulos. J., Towards Requirements- [29] Werneck, Vera M. B. ; Cysneiros, Luiz Marcio ; KANO,
Driven Information Systems Engineering: The Tropos A. Y.. Evaluating ADELFE Methodology in the
Project. In Information Systems, Elsevier, Amsterdam, The Requirements Identification. In: Proceedings Of 10th
Netherlands, 2002. Workshop On Requirements Engineering. Toronto: York
[13] Brian Henderson-Sellers e Paolo Giorgini (ed.), Agent- University Printing Services, 2007. V. 1. P. 13-24.
Oriented Methodologies, IDEA Group Publishing, 2005. [30] Yu,E., Cysneiros.L.M., Agent-Oriented Methodologies-
[14] JADE: ,Java Agent DEvelopment Framework, available at Towards a Challenge Exemplar in Proc of the 4th Intl. Bi-
<http://jade.cselt.it/>, 2004. Conference Workshop on Agent-Oriented Information
[15] FIPA-OS Developers Guide, avaiable at <http://fipa- Systems (AOIS 2002) Toronto May 2002.
os.sourceforge.net/>, 2004.
[16] Iglesias, C. ., Definicin de una Metodologa para el
Desarrollo de Sistemas Multiagente, Tese de Doutorado,
Departamento de Engenharia de Sistemas de
Telecomunicao, Universidade Politcnica de Madri.
Madri, 1998, 322p.
[17] Iglesias, C.A. e Garijo, M., UER Technique:
Conceptualisation for Agent-Oriented Development, In
Proceeding of 5th International Conference on Information

Anda mungkin juga menyukai