V Workshop on Software Engineering for Agent-oriented Systems
Modelagem de Agentes Reativos utilizando MAS­ML Enyo J. T. Gonçalves1,2, Gustavo L. Campos1, Mariela I. Cortés1
Viviane Torres da Silva3
1 2
Universidade Estadual do Ceará, Fortaleza ­ CE – Brasil �Instituto Federal de Educação Tecnológica do Ceará, Maracanaú ­ CE – Brasil 3 Universidade Federal Fluminense, Niterói ­ RJ – Brasil [email protected], {gustavo, mariela}@larces.uece.br, [email protected] Resumo. A crescente complexidade dos sistemas representa um desafio para a Engenharia de Software. A existência de SMAs, onde agentes com diferentes
arquiteturas internas interagem para atingir seus objetivos, promove a necessidade de uma linguagem capaz de modelar estas aplicações. Neste contexto destacamos MAS­ML, uma linguagem de modelagem para SMAs, definida como uma extensão conservativa da UML. Porém MAS­ML foi desenvolvida com foco em agentes pró­ativos. Neste artigo é descrita uma extensão de MAS­ML para a modelagem de agentes reativos.
Abstract. The increasing complexity of systems represents a challenge to Software Engineering. The existence of MAS where agents with different internal architectures interact to achieve their goals promotes the need for a language capable of modeling these applications. In this context we highlight MAS­ML, a MASs modeling language that performs a conservative extension of UML. Nevertheless MAS­ML was developed to support pro­active agents. An extension of MAS­ML for modeling reactive agents is described in this paper. 1. Introdução Com a necessidade de desenvolvimento de sistemas complexos, a tecnologia de agentes vem, sendo mais utilizada na resolução de problemas. De acordo com Russell e Norvig (2004) um agente é uma entidade capaz de perceber seu ambiente por meio de sensores e de agir por intermédio de atuadores. Diferente dos objetos, agentes são entidades (i) autônomas e não passivas; e (ii) capazes de interagir através de troca de mensagens e não invocação explícita de uma tarefa, como no caso de objetos [Wagner 2003]. O termo Sistema Multi­Agentes (SMAs) refere­se à sub­área de Inteligência Artificial que investiga o comportamento de um conjunto de agentes autônomos objetivando a solução de um problema que está além da capacidade de um único agente [Jennings 1996]. O paradigma de desenvolvimento orientado a agentes requer técnicas adequadas que explorem seus benefícios e suas características próprias dando suporte na produção e manutenção deste tipo de software [Zambonelli et al. 2001]. Por sua vez, agentes de software são classificados de acordo com a arquitetura interna que determina suas propriedades, atributos, componentes mentais e comportamento, determinando conseqüentemente, uma implementação e modelagem diferenciada para cada caso. Nada impede que um único SMA possa conter agentes com diferentes arquiteturas internas [Weiss 1999], fato que torna necessária a existência de uma linguagem que possibilite a modelagem deste tipo de aplicações. 83
V Workshop on Software Engineering for Agent-oriented Systems
Dentre as linguagens propostas para modelagem SMAs destacamos MAS­ML (Multi­Agent System Modeling) [Silva, Choren e Lucena 2005] e [Silva, Choren e Lucena 2007]. MAS­ML é uma linguagem de modelagem que realiza uma extensão conservativa da UML para permitir a modelagem de SMAs [Silva, Choren e Lucena 2007]. Em particular, as seguintes características da linguagem podem ser ressaltadas: (i) suporta modelagem das principais entidades de um SMA: agentes, organizações e ambiente; (ii) suporta modelagem também de objetos convencionais; (ii) possibilita a modelagem da execução interna de cada uma destas entidades e enfatiza a interação entre elas; (iii) possibilita a definição de papéis, importante na modelagem de agentes em uma sociedade; e (v) introduz explicitamente novos conceitos ao metamodelo UML relacionados a entidades orientadas a agentes, abstração e decomposição do comportamento, aspectos sociais e mentais e interações comunicativas. MAS­ML foi originalmente projetada para dar suporte à modelagem de agentes pró­ativos orientados a objetivos com plano. Porém, nem todos os SMAs necessitam ou possibilitam que seus agentes sejam pró­ativos, como no caso da colônia de formigas [Dorigo e Stützle 2004]. Além do mais, conceber apenas agentes pró­ativos em ambientes dinâmicos, cujas pré­condições podem mudar enquanto o agente estiver deliberando, pode ser um problema, pois o comportamento puramente pró­ativo pode produzir efeitos indesejados [Weiss 1999]. Sendo assim, a primeira etapa da extensão de MAS­ML proposta neste artigo objetiva a modelagem de agentes reativos. Este artigo está estruturado da seguinte forma: as principais arquiteturas para o desenvolvimento de agentes reativos são descritas na Seção 2. A linguagem de modelagem MAS­ML é apresentada brevemente na Seção 3. A extensão de MAS­ML é proposta na Seção 4. Um estudo de caso da modelagem de um SMA para Trading Agent Competion é apresentado na Seção 5. Na Seção 6 são apresentados os trabalhos relacionados. Finalmente, as conclusões e trabalhos futuros são analisados na Seção 7. 2. Arquiteturas internas reativas 2.1. Agente reativo simples Segundo Russell e Norvig (2004), um agente reativo é o agente com arquitetura interna mais simples. Estes selecionam a ação atual com base na percepção atual, sem levar em conta percepções anteriores. Para tal, o mesmo utiliza­se de regras do tipo condição­ação. Um exemplo de regra condição­ação seria “Se estado=sujo então Aspire�, onde o agente testa uma possível percepção (estado=sujo) e determina a ação a ser executada caso esta percepção ocorra (Aspire). A Figura 1 ilustra os aspectos do agente reativo simples. Figura 1 � Ilustração de um agente reativo simples [Weiss 1999]. Esta arquitetura supõe que em qualquer instante: 1) O agente recebe por meio de sensores informações do ambiente. Estas informações são seqüências de estados definidos em um conjunto S, S = {s1, ..., sn}, de n estados possíveis para o ambiente (E); 2) Um subsistema de percepção, S → P, processa cada estado de uma seqüência S*
e mapeia em uma seqüência de m percepções, P = {p1, ..., pm}, que são representações de aspectos dos estados de S que estão acessíveis ao agente; 84
V Workshop on Software Engineering for Agent-oriented Systems
3) Um subsistema de tomada de decisão, P* → A, processa as seqüências perceptivas P*, resultantes de S*, e seleciona uma seqüência de l ações do conjunto de ações possíveis para o agente, A = {a1, ..., al}; 4) Por meio de atuadores o agente executa a ação selecionada para o ambiente; 2.2. Agente reativo baseado em conhecimento (ou modelo) Assim como o agente reativo simples, o agente reativo trata as informações através do artifício das regras condição­ação. No entanto, para ter um desempenho mais racional um estado interno consistente no histórico de percepções é mantido de forma a controlar aspectos do mundo que não estão evidentes na percepção atual [Russell e Norvig 2004]. A Figura 2 mostra a estrutura do agente reativo, mostrando como a atual percepção é combinada com o estado interno para gerar a descrição do estado atual. Figura 2 � Agente reativo baseado em conhecimento [Weiss 1999] Segundo Weiss (1999), a seleção da ação do agente reativo baseado em conhecimento é definida como um mapeamento de estados internos em ações. Assim sendo, a função­próximo é introduzida para mapear as percepções e o estado interno atual para um novo estado interno, que será utilizado para selecionar a próxima ação. �
3. MAS­ML MAS­ML (Multi­Agent System Modeling Language) [Silva, Choren e Lucena 2007] é uma linguagem de modelagem que estende a UML para permitir a modelagem de SMAs modela todos os aspectos dinâmicos e estruturais definidos no framework conceitual TAO (Taming Agents and Objects) [Silva et al. 2003]. Seu metamodelo é definido estendendo o metamodelo da UML de acordo com os conceitos definidos no TAO. MAS­ML define os digramas estruturais e dinâmicos para representar todos os aspectos do TAO. Os diagramas estruturais definidos pela MAS­ML são os diagramas de papel, organização e classes. Com o uso de três diagramas estruturais é possível modelar todas as entidades definidas no TAO. Os diagramas dinâmicos definidos por MAS­ML são o diagrama de seqüência e o diagrama de atividades [Silva, Choren e Lucena 2007] da UML estendidos. O agente é o elemento principal da modelagem orientada a agentes. Na Figura 3 é apresentada a notação dos diagramas estáticos de MAS­ML para representar agentes. Figura 3 � Representação da instância da metaclasse AgentClass [Silva 2004]. 85
V Workshop on Software Engineering for Agent-oriented Systems
4. Estendendo MAS­ML Nesta seção é apresentada uma extensão à linguagem MAS­ML de modo que agentes com arquiteturas internas reativa simples e reativa baseada em conhecimento possam ser modelados corretamente. 4.1. Novas características em MAS­ML Segundo UML (2009), o padrão UML incorpora os seguintes mecanismos de extensão: tagged values, estereótipos (stereotypes) e restrições (constraints). Adicionalmente, o meta­modelo pode ser estendido através da adaptação de metaclasses existentes ou da definição de novas. MAS­ML realiza uma extensão conservativa da UML, fazendo uso de seus mecanismos de extensão. Para adicionar novas características em MAS­ML referentes aos agentes reativos, foram utilizados estereótipos e criação de metaclasse.As novas características consideradas para um agente são percepção e função­próximo, ambas comportamentais. Segundo Russell e Norvig (2004), o comportamento dos agentes reativos inicia através de uma percepção. O intuito da percepção é apenas coletar informações do ambiente e / ou de outros agentes, sem realizar nenhuma modificação no ambiente, em outro agente ou em si próprio. Agentes reativos possuem uma definição do que do que pode ser percebido no ambiente. Estas propriedades fazem com que a percepção não possa ser representada com as metaclasses já existentes, tornando necessária a criação da metaclasse AgentPerceptionFunction como uma extensão de BehavioralFeature. Segundo Weiss (1999), a função­próximo mapeia o estado interno e a percepção atual para um novo estado interno. Para representá­la no metamodelo de MAS­ML, o estereótipo <<next­function>> foi criado e associado à metaclasse AgentAction. As regras condição ação, que guiam as ações dos agentes reativos, podem ser representadas através da própria representação da ação do agente proposta por Silva (2004), a qual pode ter uma pré­condição associada. Deste modo temos uma condição associada a uma ação, que é o princípio das regras condição ação. A extensão proposta ao metamodelo de MAS­ML é apresentada na Figura 4. Estes novos elementos são utilizados por AgentClass para representar agentes reativos. Figura 4 � Metamodelo MAS­ML estendido para modelagem de agentes reativos. 86
V Workshop on Software Engineering for Agent-oriented Systems
Com a mudança na notação da entidade AgentClass, os diagramas de classes e de organização foram automaticamente adaptados para dar suporte a esta nova representação. Além da mudança nos diagramas estáticos é necessário alterar os diagramas dinâmicos para representar a função­próximo e a percepção. 4.2. Representações de AgentClass A definição da metaclasse AgentClass envolve, alem do nome da classe do agente, as características estruturais da entidade e as características comportamentais, onde a modelagem destes compartimentos depende da arquitetura interna do agente. Em MAS­ML (Silva 2004) um objetivo deve estar associado a um plano. No entanto, no caso de agentes reativos a seqüência de ações é criada em tempo de execução de acordo com suas regras condição­ação [Russell e Norvig 2004]. Portanto, agentes reativos não possuem planos explícitos definidos na fase de projeto. 4.2.1. Estrutura do agente reativo simples O agente reativo simples não possui nenhum componente estrutural desde que não possui crenças (belief) nem objetivo(s) definido(s) explicitamente no código. Em relação a comportamento, a representação das ações foi mantida, porém neste caso são guiadas por regras condição­ação e não por um plano específico. Na Figura 5 é ilustrada a representação gráfica do AgentClass para um agente reativo simples. Figura 5 � AgentClass para um agente reativo simples. 4.2.2. Estrutura do agente reativo baseado em conhecimento O agente reativo baseado em conhecimento possui as crenças em seu compartimento intermediário. No compartimento inferior são representadas as percepções, as ações guiadas por regras­condição­ação e a função­próximo. Na Figura 6 temos a representação gráfica do AgentClass para um agente reativo baseado em conhecimento. Figura 6 � AgentClass para um agente reativo baseado em conhecimento. 4.2.3. Diagrama de Seq�encia O conceito de percepção é representado por uma seta de cabeça aberta partindo do agente para o ambiente (Figura 7), acompanhada do estereótipo <<perceives>> junto do nome da percepção e dos elementos que o agente consegue ver. Figura 7 � Percepção do agente no diagrama de seqüência de MAS­ML. Durante a fase de análise não é possível determinar a seqüência de ações do agente reativo, no entanto é possível representar o conjunto de ações e a condição ou 87
V Workshop on Software Engineering for Agent-oriented Systems
condições associada(s). A Figura 8 ilustra a ação tomada por um agente reativo, se a sala A ou a sala B tiverem sujeira o agente executará a ação op. Figura 8 � Ação do agente reativo no diagrama de seqüencia de MAS­ML. A função­próximo é representada no diagrama de seqüência de MAS­ML por uma seta de cabeça fechada, que começa no agente e termina no próprio agente, seguida do estereótipo <<next­function>> e do nome da função. A Figura 9 ilustra a função­
próximo no diagrama de seqüencia de MAS­ML. Figura 9 � Execução da função próximo no diagrama de seqüencia de MAS­ML. Portanto, se um agente reativo simples for modelado, inicialmente teremos sua percepção e em seguida suas ações guiadas pelas regras condição­ação. Caso um agente reativo baseado em conhecimento for modelado, inicialmente teremos a percepção, em seguida a função­próximo e, por último, suas ações baseadas em regras condição­ação. 4.3. Representações de AgentRoleClass Silva (2004) representa uma AgentRoleClass por um retângulo sólido com uma curva na parte inferior, com três compartimentos separados por linhas horizontais. O compartimento superior contém o nome de papel do agente que deve ser único em seu espaço de nome incluído. O compartimento intermediário contém a lista de objetivos e crenças associados ao papel, e o inferior, uma lista de deveres, direitos e protocolos. Segundo Russel e Norvig (2004) e Weiss (1999), os agentes reativos não possuem objetivos (goal) explícitos no código e, mais particularmente, os agentes reativos simples não possuem crenças (belief). Deste modo, torna­se necessário alterar a representação do papel para os agentes reativos, onde nenhum componente comportamental é especificado (Figura 10). Figura 10 � Instância de AgentRoleClass para agentes reativos simples. No caso de agentes reativos baseados em conhecimento, o papel de agente não conta com objetivos, mas inclui a representação das crenças no compartimento intermediário, de acordo com a Figura 11. Figura 11 � Instância de AgentRoleClass para agentes reativos com conhecimento.
88
V Workshop on Software Engineering for Agent-oriented Systems
As alterações referentes à entidade AgentRoleClass terão impacto nos diagramas de Organização e Papéis. Os diagramas dinâmicos não necessitam de alteração, tendo em vista que as características comportamentais da entidade AgentRoleClass não foram alteradas. 5. Estudo de caso Nesta seção é apresentado um estudo de caso da modelagem de um SMA para TAC­
SCM (Trading Agent Competition ­ Supply Chain Management) utilizando MAS­ML. Inicialmente o TAC­SCM será descrito e em seguida a modelagem será apresentada. 5.1. TAC­SCM TAC (Trading Agent Competion) [Wellman et al. 2002] é um ambiente que possibilita a realização de leilões simultâneos. Há dois tipos de jogos na competição, TAC­Classic e TAC­SCM (Supply Chain Management, ou Gerenciamento de Cadeia de Fornecimento), este estudo de caso concentra­se no TAC­SCM. Cadeias de Suprimento são ambientes altamente dinâmicos, estocásticos e estratégicos [Arunachalam 2004]. O TAC SCM foi projetado para capturar os desafios presentes em um ambiente integrado de aquisição de matéria­prima, produção de bens e oferta para clientes. O jogo descreve o cenário de uma cadeia de suprimentos para a montagem de computadores pessoais, consistindo de uma fábrica de computadores, fornecedores que provêem componentes para a montagem destes computadores e clientes que demandam computadores prontos [Sadeh et al. 2003]. O jogo consiste em uma seqüência de dias simulados ou rodadas em que os agentes precisam realizar tarefas para gerenciar a cadeia de suprimento. Os agentes têm uma conta no banco com saldo inicial igual a zero. A cada dia, clientes lançam pedidos de orçamentos e selecionam os orçamentos submetidos pelos agentes com base na data de entrega e no preço de oferta. Os agentes são limitados pela capacidade de produção de suas linhas de montagem e têm que obter componentes de um conjunto de fornecedores. A demanda de clientes vem na forma de pedidos de orçamento para diferentes tipos de computadores pessoais. O jogo começa quando um ou mais agentes se conectam ao jogo. O jogo simula fornecedores e clientes, provê banco, produção e serviço de estocagem de mercadoria para agentes individuais. Ao final, o agente com maior soma em dinheiro no banco é declarado vencedor [Collins et al. 2006].
5.2. Modelagem do SMA para TAC­SCM com MAS­ML Um único SMA pode conter agentes com diferentes arquiteturas internas. Nesse contexto Weiss (1999) descreve que é possível balancear o comportamento dos agentes de um SMA em relação a pró­atividade e reatividade. Levamos em consideração na escolha da arquitetura interna de cada agente que devemos escolher a arquitetura do agente em relação à função que ele irá desempenhar no SMA. Consequentemente o SMA envolve os seguintes agentes: AgenteVendedor é um agente reativo simples para ofertar computadores aos clientes e receber o pagamento. AgenteComprador é um agente reativo baseado em conhecimento para decidir quando realizar novos lances, o valor do lance e o realizar pagamento. 89
V Workshop on Software Engineering for Agent-oriented Systems
AgenteGerente é um agente baseado em utilidade [Russell e Norvig 2004], que deverá encontrar uma melhor maneira de alocação dos recursos, frente a demanda corrente, para maximizar o lucro e maximizar as vendas. AgenteProdução é um agente baseado em objetivo guiado por planejamento [Russell e Norvig 2004]. Este agente é responsável por gerenciar o estoque e montar os computadores frente à demanda. AgenteEntrega é um agente baseado em objetivo guiado por plano. Este agente é responsável por entregar os produtos do estoque aos clientes. Os agentes vendedor e comprador são agentes reativos devido à necessidade de resposta rápida aos leilões. De acordo com Weiss (1999), agentes reativos respondem mais rapidamente às percepções que agentes proativos. As figuras 12 e 13 descrevem os agentes vendedor e comprador, respectivamente. Figura 12 � Agente vendedor proposto para o SMA do TAC­SCM Figura 13 � Agente comprador proposto para o SMA do TAC­SCM O agente entregador necessita entregar produtos para os clientes. Visando atingir este objetivo, uma seqüência de ações pode ser executada. Assim, o agente entregador pode ser modelado com a arquitetura interna baseada em objetivo com plano. O agente de produção necessita satisfazer a demanda atual em relação à produção de computadores. Para atingir este objetivo, ele não pode utilizar um plano pré­estabelecido, porque este cenário requer um conjunto de ações diferentes dependendo da demanda atual. Assim, o agente de produção pode ser modelado de acordo com a arquitetura interna baseada em objetivo com planejamento. O agente gerente foi criado devido à necessidade de uma entidade que gerenciasse todos os agentes propostos para ganhar o jogo. Este agente tenta maximizar ganhos e vendas. Observe que seus objetivos estão conflitando, assim o agente gerente pode ser modelado de acordo com a arquitetura baseada em utilidade. A modelagem dos agentes produção, entregador e gerente não será abordada, pois este artigo se restringe a uma abordagem relacionada aos agentes reativos. A Figura 14 mostra o diagrama de classes proposto para o SMA TAC­SCM. Este diagrama mostra uma representação simplificada dos agentes apresentados nesta seção e o ambiente de TAC­SCM. 90
V Workshop on Software Engineering for Agent-oriented Systems
Figura 14 � Diagrama de classes proposto para o SMA do TAC­SCM O papel de agente foi estendido em relação aos agentes reativos. Esta evolução tem impacto no papel do agente vendedor e no papel do agente comprador, mostrado nas figuras 15 e 16, respectivamente. Figura 15 � Papel do agente vendedor proposto para SMA do TAC­SCM. Figura 16 � Papel do agente comprador proposto para SMA do TAC­SCM. A Figura 17 mostra o diagrama de organização proposto. Este diagrama mostra uma representação simplificada da organização TacOrganization, Ambiente, Agentes e papéis de agente propostos para SMA do TAC­SCM. Figura 17 � Diagrama de Classes proposto para o SMA do TAC­SCM. Na Figura 18 o Diagrama de Seqüência do agente vendedor é apresentado. Este diagrama demonstra a execução do agente vendedor através de suas percepções e de um conjunto de ações possíveis associadas a uma regra condição­ação. 91
V Workshop on Software Engineering for Agent-oriented Systems
Figura 18 � Diagrama de Seqüência do Agente Vendedor. Na Figura 19 o Diagrama de Seqüência do agente comprador é representado através de suas percepções, da execução da função­próximo e de um conjunto de ações possíveis associadas a uma regra condição­ação. Figura 19 � Diagrama de Seqüência do Agente Comprador. 6. Trabalhos Relacionados Várias linguagens têm sido propostas para a modelagem de SMAs, no entanto nenhuma delas oferece suporte adequado à modelagem de agentes reativos de forma consistente com o referencial teórico de agentes definido por Russell e Norvig (2004) e Weiss (1999). A linguagem de modelagem AUML [Odell, Parunak e Bauer 2000] objetiva fornecer uma semântica semi­formal e intuitiva através de uma notação gráfica amigável. AUML não apresenta elementos para representar corretamente percepções, nem a seleção da próxima ação através da função­próximo. Wagner (2003) propõe a linguagem de modelagem AORML, baseada no metamodelo AOR. Esta linguagem não oferece suporte aos elementos das arquiteturas internas de agente, citado como ponto fraco da linguagem por Wagner (2003). Portanto não é possível diferenciar agentes com arquiteturas reativas e proativas em AORML. Além disto, as duas linguagens citadas anteriormente não definem ambiente
como uma abstração, portanto não é possível modelar a migração de um agente de um ambiente para outro. Representar a capacidade de migração de agentes é interessante na modelagem de agentes móveis [Silva, P. S. e Mendes 2003], aplicados em redes de computadores, por exemplo. No trabalho de Choren e Lucena (2004) é apresentada a linguagem de modelagem Anote, através de um conjunto de modelos, conhecidos como visões. Não é possível diferenciar agentes com arquiteturas reativas e proativas em Anote, pois a linguagem não oferece suporte aos elementos das arquiteturas internas de agente. Além 92
V Workshop on Software Engineering for Agent-oriented Systems
disto, Anote não oferece suporte para Objetos convencionais, os quais podem ser necessários, pois, de forma geral, um SMA pode incluir entidades não autônomas. Além disso, o conceito de papel do agente não é especificado. Este conceito é vinculado com as propriedades de adaptação e mobilidade do agente, onde, dependendo do ambiente onde se encontra, o agente pode precisar modificar seu comportamento [Silva, Choren e Lucena 2007]. AML [Cervenka et al. 2004] é uma linguagem de modelagem baseada em um metamodelo que possibilita a modelagem de unidades organizacionais, relacionamento social, papéis e propriedades de papéis. AML define os seguintes elementos associados a um agente: objetivo, crenças e planos, portanto não oferece suporte adequado para a modelagem de agentes reativos. Vale salientar ainda que os aspectos semânticos de comunicação são modelados como especializações de elementos existentes na UML, tais como invocação de métodos, uma vez que não foram definidas abstrações especificas para agentes [Silva, Choren e Lucena 2007]. Esta restrição pode dificultar a modelagem das diferentes formas de interação previstas para agentes. 7. Conclusões e Trabalhos Futuros Tendo em vista que um único SMA pode conter agentes com diferentes arquiteturas internas [Weiss 1999], torna­se necessária a existência de uma linguagem que possibilite a modelagem das diferentes arquiteturas de agente numa única aplicação. Considerando sua estrutura e características propícias, a linguagem MAS­ML, originalmente projetada para dar suporte à modelagem de agentes pró­ativos orientados a objetivos, foi estendida para modelar agentes reativos. Neste artigo foi apresentada uma extensão da linguagem MAS­
ML para possibilitar a modelagem das arquiteturas internas de agentes reativos com base nas definições presentes na literatura (Russell e Norvig 2004). A evolução de MAS­ML envolveu a extensão das entidades AgentClass e AgentRoleClass através dos mecanismos de extensão da UML. Os diagramas de classes, organização e papéis foram alterados em consistência com esta evolução. Similarmente, o diagrama de seqüência sofreu alteração de forma a contemplar a representação dos novos elementos. Com objetivo de dar prosseguimento a este trabalho, o diagrama de atividades de MAS­ML será estendido para que o mesmo seja capaz de modelar SMAs com agentes reativos. Um estudo de caso da modelagem de colônia de formigas está sendo desenvolvido para apresentar uma segunda validação do trabalho. Com foco no objetivo inicialmente proposto, MAS­ML será estendida para permitir a modelagem de agentes baseados em objetivo com planejamento e baseados em utilidade.
8. Referências Arunachalam, R, (2004). The 2003 supply chain management trading agent competition. In: Third International Joint Conference on Autonomous Agents & Multi Agent Systems. p. 113–120. Cervenka, R., Trencansky, I., Calisti, M., and Greenwood, D (2004). AML: Agent Modeling Language Toward Industry­Grade Agent­Based Modeling. In: Agent­
Oriented Software Engineering V (AOSE 2004), pp. 31–46. Springer­Verlag, Berlin. Choren, R. e Lucena, C. (2004). Agent­Oriented Modeling Using ANote, 3rd International Workshop on Software Engineering for Large­Scale Multi­Agent Systems (SELMAS 2004), Stevenage, UK, pp. 74­80, ISBN: 0­86341­431­1. 93
V Workshop on Software Engineering for Agent-oriented Systems
Collins, J.; Arunachalam, R.; Sadeh, N.; Eriksson, J.; Finne, N.; Janson, S., (2006). The Supply Chain Management Game for the 2007 Trading Agent Competition. Available in http://www.sics.se/tac/tac07scmspec.pdf. Dorigo, M. e Stützle, T. (2004). Ant Colony Optimization. The MIT Press, Cambridge, Massachusetts. Jennings, N. R. (1996). Coordination Techniques for Distributed Artificial Intelligence. In: Foundations of Distributed Artificial Intelligence, pp. 187­210, Wiley. Odell, J., Parunak, H. V. D., Bauer, B. (2000). Extending UML for Agents. Proc. of the Agent­Oriented Information Systems Workshop (AOIS�00) at the 17th National conference on Artificial Intelligence (AIII�00), pp. 3­17, Austin, TX. Wagner, G. (2003). The Agent­Object­Relationship Meta­Model: Towards a Unified View of State and Behavior. Information Systems, v. 28, n.5, pp. 475–504. Weiss, G. (1999). Multiagent Systems: A Modern Approach to Distributed Artificial Intelligence. MIT Press, Massachusetts. Wellman, M. P.; Stone, P.; Greenwald, A.; Wurman, P. R., (2002). The 2001 Trading Agent Competition. IEEE Internet Computing, v. 13, p. 935–941. Russell, Stuart. Norvig, Peter (2004). Inteligência Artificial: uma abordagem moderna. 2 Ed. São Paulo: Prentice­Hall. Sadeh, N.; Arunachalam, R.; Erikson, J.; Finne, N.; Janson, S., (2003). A supply­chain trading competition. AI Magazine, v. 24, n. 1, p. 92–94. Silva, P. S. e Mendes, M. J. (2003). Uma Abordagem para Incorporar Mecanismos de Inteligência Artificial a Agentes Móveis. XXI Simpósio Brasileiro de Redes de Computadores. Natal, Rio Grande do Norte. pp. 837­852. Silva, V.; Garcia, A.; Brandão, A.; Chavez, C.; Lucena, C.; Alencar, P. (2003). Taming Agents and Objects in Software Engineering. In: Software Engineering for Large­
Scale Multi­Agent Systems, Springer­Verlag, pp. 1­26, ISBN 978­3­540­08772­4. Silva, Viviane Torres da (2004). Uma linguagem de modelagem para sistemas multi­
agentes baseada em um framework conceitual para agentes e objetos. Tese de doutorado. Rio de Janeiro: PUC, Departamento de Informática. Silva, V. T. da, Choren, R., Lucena, C. J. P. de (2005). Using UML 2.0 Activity Diagram to Model Agent Plans and Actions. In: 4th International Conference on Autonomous Agents and Multi­Agent Systems (AAMAS), Netherlands, pp. 594­600. Silva, V. T. da; Choren, R.; Lucena, C. J. P. de (2007). MAS­ML: A Multi­Agent System Modeling Language. Conference on Object Oriented Programming Systems Languages and Applications (OOPSLA), ACM Press, pp. 304­305. UML: Unified Modeling Language Specification, versão 2.2, OMG, (2009) Disponível em:<http://www.omg.org/technology/documents/modeling_spec_catalog.htm#UML
>. Acessado em: 26 de agosto 2009. Zambonelli, F.; Jennings, N.; Wooldridge, M. (2001). Organizational abstractions for the analysis and design of multi­agent systems. Em: Ciancarini, P.; Wooldridge, M. Agent­Oriented Software Engineering, LNCS 1957, Berlin: Springer, pp. 127­141. �
94
Download

Modelagem de Agentes Reativos utilizando MASML