2. Sistemas Multi-Agentes (Multi-Agent System - MAS)



Documentos relacionados
Utilizando os Diagramas da UML (Linguagem Unificada de Modelagem) para desenvolver aplicação em JSF

2 Diagrama de Caso de Uso

Análise e Projeto Orientados por Objetos

Uma visão mais clara da UML Sumário

Engenharia de Requisitos Estudo de Caso

Introdução a UML. Hélder Antero Amaral Nunes haanunes@gmail.com

UML 2. Guia Prático. Gilleanes T.A. Guedes. Novatec. Obra revisada e ampliada a partir do título Guia de Consulta Rápida UML 2

Wilson Moraes Góes. Novatec

Engenharia de Software III

UNIVERSIDADE DO ESTADO DE SANTA CATARINA - UDESC DCC Departamento de Ciência da Computação Joinville-SC

4 O Workflow e a Máquina de Regras

Análise e Desenvolvimento de Sistemas ADS Programação Orientada a Obejeto POO 3º Semestre AULA 03 - INTRODUÇÃO À PROGRAMAÇÃO ORIENTADA A OBJETO (POO)

UML - Unified Modeling Language

Unisant Anna Gestão Empresarial com ERP 2014 Modelagem de Sistemas - UML e MER

UNIVERSIDADE FEDERAL DO PARANÁ UFPR Bacharelado em Ciência da Computação

Levantamento, Análise e Gestão Requisitos. Aula 04

Projeto de Sistemas I

Histórico da Revisão. Versão Descrição Autor. 1.0 Versão Inicial

Agenda Semântica. Grupo: Francisco Rodrigues Júnior Guilherme Daher Ferreira Luana Vieira Morellato Renan Rigo

Modelos de Sistema by Pearson Education. Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 8 Slide 1.

Lógica e Programação Java

Casos de uso Objetivo:

IMPLEMENTAÇÃO DE SOCKETS E THREADS NO DESENVOLVIMENTO DE SISTEMAS CLIENTE / SERVIDOR: UM ESTUDO EM VB.NET

Modelagem OO com UML. Vítor E. Silva Souza ~ vitorsouza

Aula Anterior. Capítulo 2

Modelagem de Software Prof. Flávio de Oliveira Silva, Ph.D.

Autoria:Aristófanes Corrêa Silva Adaptação: Alexandre César M de Oliveira

Notas de Aula 04: Casos de uso de um sistema

Definição de Processos

Redes de Computadores

UML: Casos de Uso. Projeto de Sistemas de Software

Sumário. Uma visão mais clara da UML

ALESSANDRO RODRIGO FRANCO FERNANDO MARTINS RAFAEL ALMEIDA DE OLIVEIRA

Documento de Análise e Projeto VideoSystem

Faculdade Pitágoras. Engenharia de Software. Prof.: Julio Cesar da Silva.

DESENVOLVENDO APLICAÇÃO UTILIZANDO JAVA SERVER FACES

Arquitetura de Redes: Camadas de Protocolos (Parte I) Prof. Eduardo

Princípios de Análise e Projeto de Sistemas com UML

IMPLEMENTAÇÃO DAS CAMADAS Inference Machine e Message Service Element PARA UM SERVIDOR DE SISTEMA DE GERENCIAMENTO DE Workflow HOSPITALAR

Diagrama de Caso de Uso e Diagrama de Sequência

RUP. Evolução. Principais Características do RUP. Principais Características do RUP RUP

Análise e Projeto de Sistemas

2 Engenharia de Software

UNIVERSIDADE FEDERAL DO PARANÁ UFPR Bacharelado em Ciência da Computação

MODELAGEM DE CASOS DE USO PARA UM SISTEMA DE CLÍNICA VETERINÁRIA

Estudo de Caso. Caixa Eletrônico. Deitel & Deitel. Java como Programar 6a edição

Diagrama de Classes. Diagrama de Classes. Diagramas de Classe. POST Criando Diagramas de Classe. Como construir (2)

Felipe Denis M. de Oliveira. Fonte: Alice e Carlos Rodrigo (Internet)

Orientação à Objetos. Aécio Costa

Renata Alves Campos (CoInfo) Sandra Maria Peron de Lima (DP) Março/2012

Análise de Sistemas. Visão Geral: Orientação a Objetos. Prof. José Honorato Ferreira Nunes honorato.nunes@bonfim.ifbaiano.edu.br

Pontifícia Universidade Católica de São Paulo Departamento de Ciência da Computação

Diagrama de Classes. Um diagrama de classes descreve a visão estática do sistema em termos de classes e relacionamentos entre as classes.

DESENVOLVIMENTO DE SOFTWARE. Introdução ao Visual Studio VB.Net. Programação Estruturada. Prof. Celso Candido ADS / REDES / ENGENHARIA

Capítulo 9. Gerenciamento de rede

Modelagemde Software Orientadaa Objetos com UML

A Linguagem de Modelagem Unificada (UML)

ANÁLISE E PROJETO ORIENTADO A OBJETOS. Isac Aguiar isacaguiar.com.br isacaguiar@gmail.com

1 UML (UNIFIED MODELING LANGUAGE)

Pós-Graduação em Gerenciamento de Projetos práticas do PMI

Documento de Projeto de Sistema

Microsoft Office PowerPoint 2007

3 Um Framework Orientado a Aspectos para Monitoramento e Análise de Processos de Negócio

Gestão da Qualidade por Processos

MÓDULO 7 Modelo OSI. 7.1 Serviços Versus Protocolos

Apresentação 24/12/2014. Professor Wilker Bueno

3 SCS: Sistema de Componentes de Software

Feature-Driven Development

3.1 Definições Uma classe é a descrição de um tipo de objeto.

REPRESENTAÇÃO DE REQUISITOS VARIÁVEIS COM UML, SEGUINDO O MÉTODO ICONIX

Orientação a Objetos

GereComSaber. Disciplina de Desenvolvimento de Sistemas de Software. Sistema de Gestão de Serviços em Condomínios

UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 20 PROFª BRUNO CALEGARO

Prof. Raul Sidnei Wazlawick UFSC-CTC-INE. Fonte: Análise e Projeto de Sistemas de Informação Orientados a Objetos, 2ª Edição, Elsevier, 2010.

Aula 5 UML: Casos de Uso

Guia de utilização da notação BPMN

ANDRÉ APARECIDO DA SILVA APOSTILA BÁSICA SOBRE O POWERPOINT 2007

Nos artigos anteriores apresentamos. Desenvolvimento de Software Dirigido por Caso de Uso Parte III: Caso de Uso de Negócio

O que é a UML? Introdução a UML. Objetivos da Modelagem. Modelos. A UML não é. Princípios da Modelagem. O que é um modelo?

REVISÃO ENGENHARIA DO SOFTWARE. Isac Aguiar isacaguiar.com.br

Introdução ao Modelos de Duas Camadas Cliente Servidor

ESTENDENDO A UML PARA REPRESENTAR RESTRIÇÕES DE INTEGRIDADE

Engenharia de Software: Introdução. Mestrado em Ciência da Computação 2008 Profa. Itana Gimenes

UNIVERSIDADE FEDERAL DO PARANÁ. CURSO: Ciência da Computação DATA: / / 2013 PERÍODO: 4 o.

Guia de Modelagem de Casos de Uso

Conteúdo. Disciplina: INF Engenharia de Software. Monalessa Perini Barcellos. Centro Tecnológico. Universidade Federal do Espírito Santo

Desenvolvimento de Sistemas Orientados a Objetos com UML UP/RUP: Projeto

PROGRAMAÇÃO AVANÇADA -CONCEITOS DE ORIENTAÇÃO A OBJETOS. Prof. Angelo Augusto Frozza, M.Sc. frozza@ifc-camboriu.edu.br

Tópicos em Engenharia de Software (Optativa III) AULA 2. Prof. Andrêza Leite (81 )

DAS Inteligência Artificial Aplicada à Controle de Processos e Automação Industrial

Análise e Projeto Orientado a Objetos. Modelagem de Domínio

3 Multi-Agent System for Stock Exchange Simulation

5 Estudo de caso: utilizando o sistema para requisição de material

Prof. Me. Marcos Echevarria

ENGENHARIA DE SOFTWARE

Capítulo 6. Criando um Diagrama de Caso de Uso Inicial

BPMN (Business Process. George Valença

BPMN. Business Process Modeling Notation. Leandro C. López Agosto

Programação de Computadores - I. Profª Beatriz Profº Israel

Transcrição:

AORML uma linguagem para modelagem de uma aplicação Multiagentes: Uma Aplicação no Sistema Expertcop. Hebert de Aquino Nery, Daniel Gonçalves de Oliveira e Vasco Furtado. Universidade de Fortaleza UNIFOR vasco@unifor.br hebertaquino@bol.com.br goncalvesmail@yahoo.com.brt 1. Introdução A fase de modelagem conceitual é um passo cada vez mais importante no desenvolvimento de softwares. Um software bem modelado se torna fácil de implementar, de realizar manutenções e de ser compreendido. A UML é uma linguagem de modelagem amplamente utilizada no mundo todo para sistemas orientados a objetos. No entanto ela não suporta o conceito de agentes criando assim uma certa ambigüidade na modelagem. A UML não consegue retratar de forma coerente a troca de mensagens entre os agentes e nem os estados de um agente, sendo uma linguagem apropriada para modelagem de sistemas orientados a objetos, e um objeto não pode ser tratado de forma igual a um agente. Por isso foi criada uma extensão para a UML chamada AORML.[WAGNER, 2002]. A AORML utiliza uma representação mais detalhada de agentes.os agentes podem ser agentes humanos, agentes artificiais ou agentes institucional, onde cada agente possui uma representação diferenciada. Eles podem se comunicar, perceber, agir, fazer um compromisso e satisfazer uma reivindicação.podendo ser representado de duas formas uma representação interna na qual essa representação refere-se aos próprios agentes e uma representação externa na qual ela enfoca o sistema como um todo.[wagner, 2003]. Neste trabalho descreveremos brevemente a AORML e mostrar sua aplicação em um sistema multi-agentes chamado ExpertCop. 2. Sistemas Multi-Agentes (Multi-Agent System - MAS) Um agente é uma entidade que reside em um ambiente onde interpreta dados através de sensores que refletem eventos no ambiente e executam ações que produzem efeitos no ambiente. Um agente pode ser software ou hardware puro.[fipa,2003] Sistemas Multi-agentes são sistemas que possuem várias entidades denominadas de agentes. Estes sistemas possuem a características de que cada agentes tem o poder de realizar tarefas em conjuntos ou não dependendo da finalidade de cada aplicação que o sistema está inserido. Interagindo os agentes com um ambiente, tornando mais próximo de uma organização artificial.[silva,2003] JADE (Java Agent Development) é um ambiente de desenvolvimento baseado na linguagem Java. Trata-se de um framework de desenvolvimento que facilita a criação 1

dos agentes inclusos. O Jade possui um ciclo de vida para cada agente, realiza o monitoramento de qual é o comportamento de cada agente e qual tipo de mensagens que os agentes estão realizando e qual é o destino de cada mensagem no ambiente. [JADE,2003] 3. AORML (Agent Object Relatioship Model Language) AORML é uma extensão da linguagem de modelagem unificada (UML) que relaciona agentes e objetos. Ela representa os comportamentos dos agentes, as ações, troca de mensagens que cada agente realiza e determina diferenças entre os agentes do sistema e os objetos. As entidades estão divididas em agentes, eventos, ações, compromissos, reivindicações e objetos. A AORML consiste de um modelo de análise e um modelo de design. O modelo Externo, como é conhecido o modelo de análise, modela uma visão externa, de quem esta observando os agentes e suas interações considerando o domínio do problema de uma forma abrangente focando sempre no ambiente. No modelo externo as ações são também eventos, as reivindicações são também compromissos, ou seja, os modelos de ações e eventos são representados pelo mesmo diagrama de evento e a representação para reivindicação e compromisso são também representadas pelo mesmo diagrama de compromisso. O modelo Interno, como é conhecido o modelo de design, modela o problema na visão de cada agente, como ele se comunica com os outros agentes, como ele é notificado dos eventos ao ambiente, como ele enxerga o mundo. [WAGNER, 2002] No modelo externo temos os seguintes diagramas: Diagrama de agentes: destacando as classes agentes, os objetos de classes mais relevantes e as relações entre eles. Diagrama de interação de quadros: destacando as classe de eventos e as classes de commitment/claim que determinam possíveis interações entre dois tipos de agentes.este diagrama possui quatro tipos de relacionamento: o Relacionamento entre agentes com ações e eventos comunicativos: enviar e receber mensagens são eventos ou ações do tipo que relata ao agente um tipo de relacionamento que gera comunicação. o Relacionamento entre agentes com ações e eventos não comunicativos: fazer e perceber os agentes são eventos que não geram comunicação entre os agentes. o Relacionamento entre agentes e compromisso e reivindicação: Este relacionamento é visualizado com um conector particular que acompanha uma ação ou evento. 2

o Relacionamento entre evento sem ação: Este relacionamento é percebido pelo agente no qual ele não executa nenhuma ação, ou seja, apenas uma chamada a um método. Diagrama de seqüência: destacando a interação entre processos. Interação entre processos é uma seqüência de ações e eventos feitos e recebidos pelos agentes que seguem um conjunto de regras. Essa iteração pode ocorrer entre o agente e o ambiente ou entre os próprios agentes.[wagner, 2002] No modelo interno temos os seguintes diagramas: Diagrama de Quadros da Reação: destacando outros agentes e as classes de ações e eventos, e também as classes de commitment/claim que determinam uma possível interação com ele. Diagrama de Seqüência de Reação: destacando instâncias de interações de processos numa perspectiva interna ao agente. 4. UM ESTUDO DE CASO NO EXPERTCOP 4.1. O Sistema ExpertCop O sistema ExpertCop é um geosimulador que visa apoiar a educação através da simulação de uma região urbana, onde nesta região ocorrem crimes durante algum intervalo de tempo. O sistema permite que o usuário do sistema faça alocação dinâmica de recursos policiais que serão usados para evitar que os crimes ocorram. Estes exemplos são frutos da interação dos agentes que representam as entidades reais de uma região urbana em um ambiente de geoprocessamento. [FURTADO & FILHO, 2004]. 4.2. MODELAGEM DO SISTEMA EXPERTCOP EM AORML Na figura 1 apresentamos o sistema Expertcop numa visão de modelagem externa. Os agentes são representados por retângulos com bordas arredondadas, os objetos são retângulos que são acionados via método. O sistema é iniciado através de um agente humano (usuário do sistema). Ele cria através de uma interface gráfica uma instância do agente de interface no qual é o agente artificial.o agente de interface dispara um evento para o JADE que é um container de agentes para a criação dos agentes no sistema. O JADE ao receber essa requisição de criação de novos agentes dispara um evento, representado por uma seta sem ponta no qual o sistema cria várias instancias de agentes.esses agentes criados serão os principais agentes do sistema ExpertCop. Os agentes se comunicam via troca de mensagens ACL, essas mensagens são enviadas ao Interpretador ACL que são responsáveis por promover uma comunicação entres os agentes. O interpretador ACL se comunica com o geoprocessamento (GIS) enviando mensagens via socket, representadas através de seta tracejadas passando a localização do agente (Latitude e Longitude no mapa) e ao receber essas mensagens pelo GIS, essas mensagens são processadas e retorna ao agente Interpretador ACL. As mensagens processadas são enviadas para os agentes para realizar uma ação. 3

Figura 1: Representação do Sistema ExpertCop utilizando AORML numa visão de modelo Externo Na figura 2 mostramos o agente gerenciador de Policiais do sistema Expertcop que é responsável em criar os policiais de acordo com a solicitação do agente de Interface. Quando o sistema é inicializado é criado um evento setup, representado por uma seta sem ponta fechada, que representa um evento no qual chama uma regra de interação R1, representada por uma seta tracejada seguida de um círculo que cria outro evento, ou seja, um comportamento pelo agente responsável em escutar as mensagens que chegaram ao agente gerenciador de policiais. O agente de interface será o responsável em enviar mensagens internas ao agente gerenciador de policiais que é representa através de uma seta sem ponta tracejada dentro do gerenciador de policias para alocar um novo agente ou ativar um agente já criado. O losango representa a expressão booleana OU. O gerenciador de policiais chama a segunda regra de interação R2 e caso a mensagem seja incluir equipe é criado o evento incluir equipe que envia uma mensagem, representada por uma seta tracejada fora do gerenciador de policiais para o interpretador ACL requisitando ao JADE a criação de um novo agente ou caso a mensagem seja ativar agente é criado um outro evento iniciar inferência que envia uma mensagem, representada por uma seta tracejada fora do gerenciador de policiais para o JADE que ativa o agente já criado através do GIS. A mensagem incluir equipe, representada pela seta tracejada, é um exemplo de entidade que não possui uma representação clara na UML. Para representar tal entidade na UML seria preciso usar uma classe estereotipada, o que deixaria o modelo ambíguo e confuso. Já na AORML podemos usar a simbologia e o seu significado correto para este tipo de entidade e assim criamos um modelo legível. 4

Figura 2: Representação do agente Gerenciador de Policiais no Sistema ExpertCop baseado num modelo interno 5. Resultados No ExpertCop ganhamos mais na parte de documentação e manutenção, pois utilizando essa ferramenta houve uma maior compreensão e entendimento de quais são as funcionalidades de cada agente no sistema. Logo existe uma documentação gráfica da apresentação do sistema. Na AORML há uma visualização mais detalhada na troca de mensagens entre os agentes envolvidos no sistema e como os comportamentos dos agentes são visualizados através das ações e eventos do sistema. Podendo diferenciar um modelo externo do modelo interno, onde o modelo externo engloba o sistema como um todo enquanto o modelo interno abrange apenas uma visão de como agente está se comportando diante das ações criadas pelo sistema. Na modelagem externa o sistema possui 1 diagrama de interação com 8 agentes e 3 objetos. Na modelagem interna o sistema possui 9 diagramas com 6 agentes distintos e 4 objetos de classe diferentes. 6. Conclusão Neste trabalho conclui-se que para um sistema multi-agentes a melhor solução para modelarmos seria a AORML, pois nele podemos ver as trocas de mensagens com os agentes, as ações que cada agente pode promover, os eventos possíveis de serem realizados pelos agentes, os compromissos que cada agente possui e as reivindicações que neles são necessárias para ser realizado um evento. No Sistema ExpertCop, que é um sistema multi-agentes, podemos ver que utilizando uma linguagem de modelagem UML apresentavam-se falhas pois quando queríamos representa uma diagrama seqüência não haveria uma maneira concreta para representar as trocas de mensagens entre os agentes propostos e a única opção foi adotar a AORML para modelar o sistema, pois nos dois diagramas utilizados podemos observar a troca de mensagens entre eles. 5

7. Bibliografia Davidsson, P. Multi Agent Based Simulation: Beyond Social Simulation. Department of Software Engineering and Computer Science, University of Karlskrona/Ronneby, 2000. WAGNER,Gerd. The Agent-Object-Relationship Meta-Model: Towards a Unified View of State and Behavior. Information Systems 28:5 (2003), pp. 475-504 WAGNER,Gerd. A UML Profile for Agent-Oriented Modeling. Technical Report. Eindhoven Univ.of Technology, 2002. WEISS, Gerhard. Multiagent Systems. A Modern Approach to Distributed Artificial Intelligence, MIT Press, 1999. JADE, Cselt http://sharon.cselt.it/projects/jade Parma - Itália UML, http://www.uml.org/ FIPA, http://www.fipa.org/repository/index.html FERBER, Jacques. Multi-Agent Systems: An Introduction to Distributed Artificial Intelligence, Addison-Wesley Pub Co; 1st Edition, February 25 1999. SILVA, Leonardo Ayres Morais. Estudo e Desenvolvimento de Sistemas Multi-agentes usando JADE: Java Agent Development framework. Fortaleza, UNIFOR, 2003. Monografia de conclusão de curso. FURTADO, Vasco & FILHO, José Eurico de Vasconcelos.A Utilização de um Agente Pedagógico na Análise e Explicação de Dados Geosimulados: Uma Aplicação no Sistema ExpertCOP. Fortaleza, UNIFOR, 2004. 6