• Nenhum resultado encontrado

2.3 Metodologias para desenvolvimento de Sistemas Multiagentes

2.3.4 AUML

AUML (Odell et al., 2000) n˜ao deve ser vista como uma metodologia completa para o desen- volvimento de SMA, como Gaia, ZEUS, ou Tropos. AUML limita-se a especificac¸˜ao das diferentes relac¸ ˜oes existentes dentro do sistema. Dentre estas relac¸ ˜oes citam-se os protocolos de comunicac¸˜ao, o fluxo de informac¸˜ao interna do agente, ou ainda diagramas de colaborac¸ ˜ao. Deste modo, AUML n˜ao deve ser utilizado isoladamente, mas sim, juntamente com outra metodologia.

AUML ´e uma extens˜ao de UML (Unifield Modeling Language) utilizado para a especificac¸˜ao de sistemas sob orientac¸˜ao a objeto. Desta forma, para AUML, o paradigma de orientac¸˜ao a agen- tes ´e uma extens˜ao da orientac¸˜ao a objetos, uma vez que este ´ultimo ´e incapaz de capturar toda a semˆantica de um agente. Esta hip´otese ´e sustentada na literatura, uma vez que existem um grande n´umero de metodologias que utilizam as t´ecnicas de orientac¸˜ao a objeto, estendendo ou adaptando `as caracter´ısticas espec´ıficas do paradigma de agentes. Gaia e ZEUS tamb´em utilizam esta abordagem.

Para AUML, um protocolo como um todo ´e uma entidade, formado por sub-entidades. Os diagramas de seq¨uˆencias descrevem as transac¸ ˜oes inter-agentes para implementar o protocolo. Final- mente, as atividades intra-agentes completam a especificac¸˜ao do protocolo. Assim como em Gaia, o

2.3. Metodologias para desenvolvimento de Sistemas Multiagentes 23

objetivo ´e especificar o sistema at´e o n´ıvel mais baixo poss´ıvel, onde ele possa estar suficientemente adequado para o desenvolvimento ou gerac¸˜ao de c´odigo.

A descric¸˜ao do par´agrafo acima define as etapas de especificac¸˜ao do sistema por AUML. No n´ıvel 1, define-se a representac¸ ˜ao do protocolo geral. No n´ıvel 2, definem-se as interac¸ ˜oes entre os agentes, enquanto no n´ıvel 3, especifica-se a representac¸ ˜ao interna do processamento dos agentes. Assim, vˆe-se que a representac¸ ˜ao em AUML ´e voltada para sistemas centrados na organizac¸ ˜ao, ou seja, o sistema ´e desenvolvido para um problema espec´ıfico a ser resolvido.

O fato de AUML partir de uma adequac¸˜ao do paradigma de agentes `a orientac¸˜ao a objetos torna-a uma t´ecnica n˜ao trivial quando deve tratar de conceitos b´asicos de SMA como pap´eis, respon- sabilidades e organizac¸ ˜ao. Eles s˜ao concebidos, por´em de forma n˜ao expl´ıcita.

Assim como Gaia, AUML ´e limitado quanto `a especificac¸˜ao interna dos agentes, restringindo- se `a especificac¸˜ao do conjunto de eventos que devem ser considerados. Conseq¨uentemente, o resul- tado final fica longe da implementac¸˜ao do sistema.

2.3.5 MaSE

MaSE (Multiagent Systems Engineering) (Wood e DeLoach, 2001) ´e uma metodologia criada para o desenvolvimento de sistemas que buscam a coordenac¸˜ao do comportamento local de agentes, para prover um comportamento apropriado para o SMA como um todo. O MaSE ´e independente de arquitetura SMA, linguagem de programac¸˜ao, e protocolos e linguagens de comunicac¸˜ao. Uma descric¸˜ao do progresso de desenvolvimento do MaSE ´e apresentada na figura 2.2.

Numa primeira observac¸˜ao pode-se concluir que o processo de an´alise d´a-se pela especificac¸˜ao das quest˜oes sociais do sistema, enquanto que o projeto trata da especificac¸˜ao das entidades que constituem o sistema.

A primeira fase ´e destinada a capturar as meta do sistema, tomando uma especificac¸˜ao inicial e a transformando em um conjunto estruturado de metas. Para MaSE, uma meta sempre ´e definida no contexto do sistema. Construc¸ ˜oes de baixo n´ıvel podem at´e ser respons´aveis por algumas metas, mas estas sempre estar˜ao no n´ıvel do sistema.

Na segunda fase, s˜ao aplicadas construc¸ ˜oes denominadas Casos de Uso, para a construc¸˜ao das conversac¸ ˜oes entre agentes, que permitem a distribuic¸ ˜ao do problema. Casos de Uso s˜ao descric¸ ˜oes narrativas de uma seq¨uˆencia de eventos que definem o comportamento desejado do sistema. Nesta fase, capturam-se Casos de Uso dos requisitos iniciais do sistema, reestruturando-os como Diagramas

Requisitos Hierarquia de Metas Casos de Uso Diagramas de Seqüências Tarefas Concorrentes Papéis Classes de Agentes Conversações Arquitetura de Agente Diagramas de Extensão Análise Projeto Metas Capturando Casos de Uso Aplicando Refinando Papéis de Agentes Criando Classes Construindo Conversações Integrando Classes Sistema Projeto do Figura 2.2: O MaSE

2.3. Metodologias para desenvolvimento de Sistemas Multiagentes 25

de Seq¨uˆencias. Um Diagrama de Seq¨uˆencia ´e usado para determinar o conjunto m´ınimo de mensagens que devem ser passadas entre os pap´eis.

Na ´ultima fase da an´alise, transformam-se as metas estruturadas da primeira fase em pap´eis. Para o MaSE, pap´eis s˜ao os blocos b´asicos para a definic¸˜ao das classes de agentes, englobando as metas do sistema durante a fase de projeto. Associado aos pap´eis, est˜ao as tarefas que devem ser executadas para realizac¸˜ao da meta.

A primeira fase da etapa de projeto ´e voltada para a identificac¸˜ao das classes de agentes que implementaram as metas do sistema. O resultado desta fase ´e um Diagrama de Classes de Agentes que descreve as classes especificadas e as interac¸ ˜oes entre elas.

As conversac¸ ˜oes entre as classes devem suportar e ser consistentes com todos os diagramas de seq¨uˆencia derivados das fases anteriores.

Na fase de integrac¸˜ao das classes, aspectos internos dos agentes s˜ao tratados. Para isso, deve- se escolher a arquitetura que melhor se adapta `as necessidades do problema, o que MaSE deixa em aberto.

Na fase final de projeto, MaSE instancia as classes de agentes em agentes reais. Para isso, ele utiliza um Diagrama de Extens˜ao que mostra o n´umero, os tipos, e as localizac¸ ˜oes dos agentes dentro do sistema.

Quanto ao resultado obtido com MaSE, ele ´e muito similar ao obtido com Gaia, na medida em que seu resultado final s˜ao os requisitos para a construc¸˜ao do c´odigo que gerar´a os agentes do sistema. Seu ponto forte est´a na utilizac¸˜ao de mecanismos gr´aficos para todas as etapas do processo. Entretanto, cada fase possui seu pr´oprio mecanismo. O MaSE ainda disp˜oe de ferramentas para a verificac¸˜ao dos protocolos empregados para as conversac¸ ˜oes.