• Nenhum resultado encontrado

3.5 Trabalhos Relacionados

3.5.1 Especificac¸˜ao Multiagente

A aplicac¸˜ao mais natural para RP no desenvolvimento de sistemas inteligentes ´e a especificac¸˜ao de SMA, com o prop´osito de definir a coordenac¸ ˜ao entre os agentes. Nesse sentido, o objetivo ´e explorar as possibilidades de express˜ao de concorrˆencias e paralelismos entre atividades, bem como os pontos de sincronizac¸ ˜ao entre os agentes. Expandindo estas possibilidades, ´e poss´ıvel tamb´em expressar planos multiagentes, de forma a explorar a execuc¸˜ao de ac¸˜oes paralelas no sistema.

Em Holvoet e Verbaeten (1996) as RP s˜ao utilizadas para especificar as relac¸ ˜oes entre agen- tes de um ambiente. Isto acontece por meio de transic¸ ˜oes comuns entre agentes, que servem como pontos de sincronizac¸ ˜ao de ac¸˜oes. Cada agente corresponde a uma rede, enquanto uma especificac¸˜ao inter-redes descreve a estrutura de cooperac¸˜ao. Este modelo, segundo os autores, ´e aplic´avel a sis- temas abertos, flex´ıveis, altamente concorrentes e complexos, baseados em componentes. Segundo o modelo, as redes de cada agente mantˆem partes encapsuladas de sua descric¸˜ao, e operadores de

3.5. Trabalhos Relacionados 65

composic¸˜ao especificam suas relac¸ ˜oes. Estas composic¸ ˜oes s˜ao relac¸ ˜oes entre transic¸ ˜oes, e podem ser de dois tipos. Uma transic¸ ˜ao sincronizada ´e uma relac¸˜ao entre pares de transic¸˜ao, enquanto blocos de

sincronizac¸ ˜ao permitem a conjunc¸˜ao ou disjunc¸˜ao entre transic¸ ˜oes sincronizadas. Assim, semantica-

mente, um bloco de sincronizac¸ ˜ao imp˜oe uma restric¸˜ao ao disparo de uma transic¸˜ao. O modelo n˜ao faz qualquer restric¸˜ao quanto `a RP utilizada, ficando ao crit´erio do desenvolvedor escolher o modelo que melhor se adapta ao problema. Contudo, a dificuldade do modelo est´a na pouca flexibilidade quanto ao modo de se projetar o sistema, na medida em que ele deve ser todo baseado em pontos de sincronizac¸ ˜ao. Al´em disso, para grandes sistemas, o modelo final pode se tornar ingerenci´avel, dado o tamanho da rede, uma vez que n˜ao se prevˆe o uso de hierarquizac¸ ˜ao entre as redes.

Em Moldt e Wienberg (1997), RP Coloridas s˜ao utilizadas para especificar SMA, conside- rando uma sociedade de agentes autˆonomos, inteligentes e comunicantes. As RP, al´em de espe- cificar o sistema global, servem para simular e implementar os agentes e suas relac¸ ˜oes. O autor prop˜oe a construc¸˜ao de um sistema a partir de dois pontos de vista: o da sociedade de agentes e do agente. O princ´ıpio b´asico ´e a aplicac¸˜ao de Programac¸˜ao Orientada a Agentes (Shoham, 1993) por meio de RP. Cada agente usa um n´umero arbitr´ario de provadores de teorema, encontrando soluc¸ ˜oes para requisic¸ ˜oes feitas a base de conhecimento. Assim, um agente pode tratar qualquer n´umero de requisic¸ ˜oes ao mesmo tempo. Pela aplicac¸˜ao de Programac¸˜ao Orientada a Agentes, ac¸˜oes s˜ao re- presentadas por predicados que tornam-se verdade. Neste caso, a RP do agente espelha esta id´eia associando uma ac¸˜ao a uma transic¸˜ao, tornando-a habilitada no momento em que o predicado for verdade. A sociedade de agentes ´e vista como uma colec¸˜ao de objetos com identidades diferencia- das. A relac¸˜ao entre objetos ´e feita por manipuladores de mensagens, e a classe ´e representada por RP. Contudo, o modelo n˜ao visa especificar o conhecimento do sistema, seja social ou individual. O objetivo ´e estruturar os mecanismos necess´arios `a implementac¸˜ao dos agentes e da sociedade, de forma a garantir a correta coordenac¸ ˜ao entre seus membros, sem a necessidade de um rel´ogio de sincronizac¸ ˜ao.

Uma forma de definir uma estrat´egia coordenada de ac¸ ˜oes em um sistema multiagente pode ser por interm´edio de planejamento multiagente. Em de Almeida et al. (2005) ´e proposto um modelo para verificac¸˜ao e validac¸˜ao de planos multiagentes baseado em diretrizes de modelagem e verificac¸˜ao. Nesse sentido, integram-se t´ecnicas como Mapas de Seq¨uˆencias de Caracteres (do inglˆes “Message

Sequence Charts”) (MSC) e RP Coloridas Hier´arquicas. Fundamentalmente, o autor prop˜oe uma

s´erie de diretrizes de modelagem que, uma vez aplicadas, geram um modelo formal do sistema. Este, por sua vez, est´a sujeito a uma s´erie de diretrizes de verificac¸˜ao, que aplicadas, determinam problemas de projeto, ou ainda, podem ser utilizadas para melhor´a-lo. O processo de an´alise ´e implementado por modelos de RP Coloridas Hier´arquicas aplicadas a ferramenta Design/CPN (Jensen, 1996). Este

processo gera automaticamente um conjunto de MSC’s possibilitando a checagem do modelo. Os MSC’s gerados s˜ao ´uteis para a observac¸˜ao de diferentes trac¸os de execuc¸˜ao para os modelos, e permitem ainda uma abstrac¸˜ao para a simulac¸˜ao da rede. Um MSC gerado automaticamente durante uma simulac¸˜ao ´e utilizado para definir predicados relacionados ao modelo, necess´arios `a execuc¸˜ao da checagem. Sendo assim, esses predicados s˜ao ´uteis para provar certas propriedades desejadas a um dado plano. O inconveniente deste m´etodo ´e ausˆencia de um modelo global do sistema, na medida em que a sincronizac¸ ˜ao ´e obtida pela devida correlac¸˜ao de predicados. Toda a especificac¸˜ao ´e feita em torno das entidades fundamentais do sistema, ou seja, os agentes, fazendo com que a descric¸˜ao do sistema global surja da integrac¸˜ao destes modelos.

Uma alternativa `a abordagem anterior ´e proposta por Xu et al. (2003) e Xu et al. (2002). Neste caso, modela-se um problema multiagente pela representac¸ ˜ao das ac¸˜oes poss´ıveis dos agentes como transic¸ ˜oes em uma Rede Predicado/Transic¸ ˜ao (PrT). A especificac¸˜ao de planos provˆe os agentes com um modelo mental compartilhado de como eles devem interagir para alcanc¸ar uma meta comum. Para analisar um modelo de Rede PrT multiagente, adaptam-se grafos de planejamento, como GRAPH- PLAN (Blum e Furst, 1995), a um estrutura compacta para an´alise de alcanc¸abilidade, coerente com a semˆantica concorrente. Assim, ´e poss´ıvel determinar se ac¸ ˜oes paralelas especificadas em planos multiagentes podem ser executadas em paralelo, e se os planos podem alcanc¸ar suas metas anali- sando as relac¸ ˜oes de dependˆencia entre as transic¸ ˜oes da modelo. A escolha de Redes PrT deve-se `a relac¸˜ao direta entre a expressividade de suas proposic¸ ˜oes e a representac¸ ˜ao em l´ogica de primeira ordem, comum as an´alises de planejamento. O modelo ´e constru´ıdo a partir das ac¸˜oes execut´aveis pelos agentes bem como pela representac¸ ˜ao do ambiente. As ac¸˜oes s˜ao especificadas por transic¸ ˜oes com pr´e-condic¸ ˜oes, p´os-condic¸ ˜oes e inscric¸ ˜oes, enquanto o ambiente ´e representado por predica- dos. Desta forma, transforma-se um problema de planejamento em um problema de alcanc¸abilidade em Redes PrT. Este modelo, assim como os demais, permite a visualizac¸ ˜ao do sistema multiagente pela composic¸˜ao das partes individuais, ou seja, a relac¸˜ao entre os agentes. Entretanto, n˜ao h´a uma representac¸˜ao global abstrata do planejamento, focando-se nas ac¸ ˜oes necess´arias ao cumprimento das tarefas envolvidas no plano, sem distinc¸˜ao de quem dever´a cumpri-las. N˜ao obstante, ao utilizar Re- des PrT como modelo base, os agentes est˜ao restritos a um representac¸ ˜ao de conhecimento em l´ogica de primeira ordem.

Um exemplo de aplicac¸˜ao de RP na especificac¸˜ao social de um sistema multiagente pode ser ve- rificado em Miranda e Perkusich (1999). Neste caso, o autor prop˜oe a utilizac¸˜ao de RP Colorida para a especificac¸˜ao do n´ıvel social dentro da arquitetura MATHEMA (de Barros Costa e Perkusich, 1996). O MATHEMA ´e um ambiente de aprendizado interativo, baseado na abordagem multiagente. Entre seus componentes, o principal ´e uma sociedade de agentes tutores inteligentes que interagem por in-

3.5. Trabalhos Relacionados 67

term´edio de um interface com um dado aprendiz. Os agentes interagem em cooperac¸˜ao no sentido de promover atividades de ensino/aprendizagem em um ambiente computacional de aprendizado intera- tivo. Na arquitetura MATHEMA, cada agente ´e definido de acordo com um arquitetura hier´arquica, sob um Sistema Social respons´avel por promover as interac¸ ˜oes cooperativas entre agentes. A an´alise e verificac¸˜ao deste Sistema Social do ambiente MATHEMA ´e viabilizado por meio de RP Coloridas, modeladas e simuladas pela ferramenta Design/CPN. Para tanto, grafos de ocorrˆencia s˜ao gerados e analisados no maior n´umero de cen´arios poss´ıveis, para garantir a maior correc¸˜ao poss´ıvel.

De um modo geral, as abordagens citadas partem para uma especificac¸˜ao do sistema multia- gente a partir do somat´orio dos conhecimentos individuais dos agentes, sem qualquer distinc¸˜ao quanto ao conte´udo. Desta forma, o sistema global ´e descrito sem uma instˆancia social abstrata, que deter- mina o conjunto de metas a serem cumpridas independente dos agentes do processo. A coordenac¸˜ao entre os agentes ´e obtida por interm´edio de ac¸ ˜oes comuns, que podem ser ac¸˜oes que devem ser exe- cutadas por m ´ultiplos agentes, ou ac¸˜oes de outros agentes que permitem a continuac¸˜ao de um plano de um outro agente. Seja por exemplo, a execuc¸˜ao de uma jogada ensaiada em uma equipe de fu- tebol. Segundo os modelos descritos acima, a descric¸˜ao do sistema multiagente ´e feita a partir da especificac¸˜ao do que cada agente deve fazer para a realizac¸˜ao da jogada, sem que necessariamente, cada um tenha conhecimento do plano que a gerou. Esta abordagem, por conseq¨uˆencia, apresenta um grau de flexibilidade m´ınimo, diminuindo a robustez do sistema. Uma alternativa a esta abordagem seria a apresentac¸ ˜ao de um plano social, em que ficaria determinado o conjunto de sub-metas a se- rem realizadas para que a meta principal seja cumprida. Neste caso, cada agente, de acordo com seu papel dentro do sistema e o conjunto de ac¸˜oes de que disp˜oe, deliberaria autonomamente qual a sua contribuic¸ ˜ao. Desta forma tem-se um sistema mais flex´ıvel e robusto.