Uma Arquitetura Aberta Multi-Agente para o Pré
Transcrição
Uma Arquitetura Aberta Multi-Agente para o Pré
Uma Arquitetura Aberta Multi-Agente para o Pré-Atendimento Hospitalar Dennys Machado, Dirceu Grein, Edson Emílio Scalabrin, João da Silva Dias Programa de Pós-Graduação em Tecnologia em Saúde (PPGTS) Pontifícia Universidade Católica do Paraná (PUC-PR), Brasil Resumo – Este artigo apresenta a definição de uma arquitetura de agentes cognitivos independentes para o pré-atendimento hospitalar. Neste contexto, a escolha de uma arquitetura distribuída e aberta baseou-se nos seguintes critérios: a) Trata-se de um problema cuja decomposição em subproblemas é natural, à medida que cada subproblema (Central Regulação, Unidade Móvel, etc) pode ser representado e implementado como um agente autônomo e independente; b) a interação entre os agentes pode tornar o sistema de pré-atendimento mais confiável, à medida que as trocas de informações entre os agentes podem resolver situações difíceis pelo número de especialistas e recursos exigidos de forma dinâmica (ou sobre demanda); c) o paralelismo natural dos sistemas multi-agentes podem contribuir de forma considerável na implementação de um sistema de alta performance. Deve-se enfatizar que tais critérios, no contexto do pré-atendimento hospitalar, facilitam a decomposição do problema em entidades fracamente acopladas e fortemente coesas que são os princípios básicos para se construir sistemas eficientes e mais fáceis de mantê-los. Finalmente, será apresentado um exame sobre o conceito de agente, sistema aberto, arquitetura de agente e sistema multi-agente, assim como um estudo de caso. Palavras-chave: Informática em Saúde, Agentes Inteligentes, Sistema Aberto, Pré-atendimento Hospitalar. Abstract - This article presents the definition of an architecture of independent cognitive agents for the hospital pre-attendance. On this context, the choice of a distributed and opened architecture was based on the following condition: a) It’s about a problem which decomposition in subproblem is natural, as sar as each subproblem (Central Regulation, Mobile Unit, etc) can be represented and be implemented as a selfs-sustained and independent agent; b) the interaction between the agents can become the system of more trustworthy preattendance, as sar as the exchanges of information between the agents can solve difficult situations for it number of specialists and demanded resources of dynamic form (or on demand); c) the natural parallelism of the system multi-agent can contribute in a considerable form in the implementation of a system of high performance. It must be emphasized that such criterials, in the context of the hospital pre-attendance, facilitates the decomposition of the problem in entities weakly connected and strongly joined that are the basic principles to construct efficient and easier systems to keep them. Finally, it will be presented an examination on the agent concept, open system, agent’s architecture and multi-agent system, as well as a case study. Key-words: Computer Science in Health, Intelligent Agents, Open System, Pre-attendance Hospital. Introdução A informática aplicada na área de saúde busca através de técnicas computacionais contribuir para o desenvolvimento dos diversos segmentos da saúde. O pré-atendimento hospitalar é um segmento multidisciplinar que envolve entidades de natureza distinta como: Hospital, IML, Polícia, Central de Regulação, Unidade Móvel, entre outras; com o objetivo de prestar atendimento de urgência e emergência médica à vítimas de traumas [1]. A natureza operacional do pré-atendimento hospitalar é segmentada entre competências de entidades distintas e distribuída fisicamente, evidenciando a necessidade de comunicação e colaboração mutua entre as entidades, a fim de prover assistência à vítima. Desta forma, a organização do pré-atendimento hospitalar caracteriza-se como um sistema distribuído e aberto, por envolver competências multidisciplinares de organizações dinâmicas e distribuídas. [1]. A Inteligência Artificial Distribuída estuda sociedades de agentes de software para trabalhar juntas resolvendo problemas de natureza distribuída, ou seja, problemas complexos que não podem ser resolvidos por uma única aplicação [2]. Não há uma única definição para agente de software, na literatura encontram-se conceitos distintos dependendo do foco do autor [3, 4]. Contudo estes conceitos não se anulam, mas colaboram para um entendimento genérico da concepção de um agente de software. A aplicação de uma sociedade de agentes para o pré-atendimento hospitalar é fundamentada em entidades de agentes. Uma entidade de agente é um software persistente que permite a interoperabilidade entre sistemas computacionais de organizações distintas, tipicamente devem possuir capacidade adaptativa entre os ambientes heterogêneos das organizações, caracterizando a necessidade de sistemas abertos [3]. Agente de software é uma entidade de software persistente dedicada para um propósito específico. A capacidade de persistência do software distingue agentes de sub-rotinas; agente tem suas próprias concepções de como efetuar tarefas [4]. Percepção das condições dinâmicas do ambiente, ação para afetar condições no ambiente; e raciocínio para interpretar percepções, resolver problemas, projetar inferências e determinar ações [5]. Agentes podem agir autonomamente para cumprir um conjunto de objetivos [6]. Um agente possui um conjunto de propriedades que o ajudam a permitir sua atuação no ambiente que está inserido, desta forma um agente pode ser ainda um sistema computacional com habilidade de autonomia, capacidade social, reatividade e pró-atividade [7]. As propriedades ou habilidades dos agentes diferenciam a atuação de um agente com relação a outro. Abaixo são apresentadas algumas das propriedades que poderão ser encontradas em um agente: Reatividade: propriedade que permite aos agentes perceberem seus ambientes e responderem adequadamente às mudanças neles ocorridas [7]; Autonomia: capacidade de tomar iniciativa e ter um controle sobre as suas próprias ações; Orientação por Meta (Objetivo): capacidade de possuir objetivos e trabalhar em virtude destes; Continuidade temporal: capacidade de continuarem ativos após uma mudança de ambiente; Coerência: propriedade que agente possui de resolver conflitos entre objetivos concorrentes ou conflitantes [8]; Habilidade Social: habilidade que os agentes possuem de interagir com os outros agentes ou pessoas, no momento adequado, para concluir suas tarefas ou ajudar outros agentes [9]; Confiabilidade: agentes devem demonstrar veracidade e benevolência, ou seja, os usuários precisam ter certeza de que os agentes serão fidedignos nas ações e informações, e irão agir em seu benefício [7]; Inteligência: propriedade de um agente que o habilita a negociar efetivamente com ambigüidades [10]; Capacidade de Adaptação: a capacidade do agente de modificar seu comportamento em função de experiências anteriores [7]; Mobilidade: capacidade do agente de transportar-se de uma máquina à outra [11]; Capacidade de Aprendizagem: capacidade que um agente deve possuir para executar uma tarefa com maior eficiência do que em execuções anteriores [10]; Flexibilidade: habilidade dos agentes de escolher dinamicamente as ações e a seqüência de execução das mesmas, em resposta a um estado do ambiente [10]; Persistência: necessidade de manter um estado interno conciso através do tempo, sem alterá-lo ao acaso [12]; Personalização: capacidade do agente de personalizar tarefas e ajudar pessoas a desenvolvê-las da melhor maneira possível [13]. O agente de software não necessita possuir todas as habilidades descritas, as habilidades do agente dependeram do contexto que está inserido e do papel que está representando. Um agente sempre estará interagindo com o meio externo. Desta forma o agente deverá estar inserido em um contexto previamente definido, onde a troca de dados, informações ou conhecimento ocorre através de um protocolo conhecido [9]. As propriedades do agente de software são caracterizadas pela arquitetura do sistema. Através da arquitetura do sistema são fornecidos e gerenciados os recursos primitivos de um conjunto de agentes [6], [7]. Sistemas Abertos Esta tecnologia é usada em várias áreas da ciência da computação: a) interconexão entre arquiteturas de diferentes máquinas (modelo OSI) [14]; b) Ligação dinâmica entre cliente e servidor (modelo CORBA) [15]; c) Reconfiguração dinâmica e seleção mútua (modelo Contract-Net) [16] e d) integração dinâmica de um agente em um contexto de trabalho (modelo agente) [17]. A integração dinâmica de agentes implica na capacidade de aprendizagem do agente sobre tarefas que estão envolvidos. A complexidade e a dinâmica dos sistemas levam a uma nova situação onde saber como projetar sistemas computacionais eficientes, confiáveis e corretos não é mais suficiente. Jacques Ferber [18] argumenta que os novos softwares devem facilitar adaptação, em particular, as mudanças no contexto do trabalho, tais como: a) mudança do sistema operacional; b) mudança do sistema gerenciador de banco de dados; c) mudança da interface gráfica; e d) inserção de um novo software. O novo sistema computacional deve ter capacidade que envolve situações como: a) inclusão de novas funcionalidades; b) alteração do modo de funcionamento do software; c) integração do novo software. Neste sentido pode-se dizer que sistemas abertos são fortemente adaptativos. Sistemas Multi-agente são candidatos promissores para implementação de arquiteturas distribuídas, heterogêneas, flexíveis e abertas, capaz de oferecer uma grande quantidade de serviço em ambientes de trabalho coletivo sem uma estrutura prévia definida. Sistemas Multi-agente podem ser classificados de acordo com a arquitetura que possuem (organização global), o grau de autonomia de cada agente, o tipo de protocolo usado para comunicação, ou a sua complexidade. A principal distinção está relacionada aos agentes autônomos. Agentes reativos são muito simples sem qualquer representação do seu ambiente. Eles interagem com um tipo de comportamento estimuloresposta [14]. Assim, comportamentos inteligentes podem emergir de uma população de numerosos agentes [19]. Os agentes autônomos são mais complexos [20], [21], [22], [23], [24]. Metodologia Comunicação entre agentes O pré-atendimento hospitalar é um contexto multidisciplinar que envolve entidades de naturezas distintas, evidenciando a necessidade de comunicação e colaboração mutua entre as entidades. Neste caso a ação coletiva entre os agentes é suporta pela capacidade de comunicação dos agentes [25], [22], [24]. O processo de comunicação entre agentes complexos é normalmente assíncrono, e é executado por meio de vários protocolos. Por exemplo, a Knowledge Query and Manipulation Language (KQML) é uma linguagem que possibilita os agentes expressarem as suas convicções, após escolherem uma modalidade de comunicação [15]. KQML define o formato de tipos de mensagens que descrevem a atitude do remetente direcionando o conhecimento. A Linguagem de Cooperação (CooL), é uma outra linguagem onde a comunicação entre os agentes é executada por formatos de tipos de mensagens, chamadas de primitivas de cooperação [26]. O princípio de cooperação em CooL pode ser observado por exemplo, no protocolo de ContractNet [27]. Na arquitetura proposta foram utilizadas performativas KQML como forma de comunicação entre os agentes participantes. Desta forma, um agente que desejar participar de um préatendimento deverá implementar na camada de comunicação suportando a linguagem KQML. Arquitetura Independente da arquitetura, os agentes devem possuir informações de sua localização e de suas competências. A diferença é a forma de armazenamento e recuperação destas informações. Os modelos de arquitetura expostos a seguir preocupam-se em prover uma forma de comunicação entre dois ou mais agentes: Quadro Negro – BlackBoard -- Neste tipo de arquitetura todos os agentes de um determinado contexto estão publicados em um único lugar de acesso. Todos os agentes antes de solicitarem comunicação com os demais devem necessariamente buscar este local. No BlackBoard encontram-se registrado o nome do agente, localização e competência de cada agente integrante da arquitetura. A única forma de um determinado agente conseguir comunicar-se dentro da arquitetura é estando registrado no blackboard [9]. A desvantagem desta arquitetura ocorre quando o BlackBoard está indisponível (sem comunicação), neste caso nenhum agente da rede poderá se comunicar. Outro problema é com relação à concorrência de acesso ao BlackBoard, todos os agentes estarão concorrendo com solicitações a um mesmo local. Este problema pode ser agravado quando a rede possui um grande número de agentes com muitas transações, ocasionando problemas de performance [9]. Agentes Facilitadores - Na estrutura de sistemas multiagentes os agentes complexos chamados de facilitadores, organizam o trabalho entre os agentes mais simples [3]. O processo de coordenação é conduzido a um facilitador; agentes de serviços notificam o facilitador das tarefas que eles podem tratar; e quando um agente envia um pedido ao facilitador, posteriormente é localizado um agente competente para executar a tarefa; então, o facilitador retorna o resultado para ser transmitido ao agente que solicitou. A arquitetura facilitadora racionaliza recursos de comunicação. Porém, devido ao facilitador operar como uma ponte entre agentes, seu fracasso pode impedir a comunicação entre os agentes. Troca direta de mensagens – A troca direta de mensagem ocorre quando um agente possui o endereço e a competência de cada agente que integrante da arquitetura. Todos os agentes participantes dispõem de uma área reservada para o armazenamento das informações dos demais agentes. Para a entrada ou saída de um novo agente na rede é necessários que o agente comunique a todos os outros agentes a sua identificação e suas competências. Os agentes da rede deverão manter o endereço e as competências de cada agente. Neste caso a indisponibilidade do BlackBoard não causará problema de falta de comunicação. Cada agente poderá comunicar-se diretamente com outros agentes sem intervenção d BlackBoard. Caso um determinado agente esteja sem comunicação apenas este não trocará informações, os demais estarão realizando a comunicação normalmente [9]. Resultados O modelo interno de um agente também é uma característica importante [20]. O modelo de um agente estrutura mecanismos que podem permitir o agente: (a) planejar e coordenar suas ações; (b) argumentar sobre as convicções e intenções de outros agentes (desta forma, escolhendo o que comunicar com os agentes) [28]; (c) coordenar suas ações sem comunicação [29]; (d) tomar decisões locais (controle descentralizado); (e) reduzir comunicação (somente informação útil é comunicada, com assinatura KQML [15]); (f) saber quem faz o quê e para quem é útil pedir informação [30]. Desta forma todo agente constante de uma arquitetura possui um modelo de funcionamento. No modelo definido neste artigo, o agente é subdividido em algumas camadas: - Comunicação e Percepção: Camada onde é implementada a forma do agente comunicar-se com os demais agentes da rede. Toda comunicação do agente será realizada por recebimento e envio de mensagens, que neste caso serão prerrogativas KQML. Este modelo de agente tem a capacidade de perceber o ambiente e postar as respostas ao que foi questionado. - Núcleo de Processamento: O processamento é responsável pelas respostas que o agente poderá fornecer. - Representação de si: Guarda os dados e informações utilizadas pelo agente para processar as respostas necessárias. São armazenadas aqui também as capacidades e as tarefas do agente. - Representação Externa: Guarda as informações do ambiente externo, principalmente das capacidades e tarefas (Objetivos e conhecimento) dos demais agentes. O modelo de agente adotado para a construção da arquitetura foi baseado no modelo de agente do Centro de Inteligência Artificial da Espanha, conforme ilustra figura abaixo [31]: Após a definição do agente é importante colocar como estes agentes estarão interagindo com o ambiente. O ambiente definido para operação dos agentes que são necessários a um pré-atendimento hospitalar pode ser alterado, independente de quais instituições estejam envolvidas. Neste contexto, será necessária a colaboração de três agentes importantes no pré-atendimento hospitalar: a) central de regulação; b) unidade móvel; c) hospital ou clínica. Dependendo da alteração do ambiente, outros agentes podem fazer parte do atendimento, por exemplo, em uma catástrofe, podem ser alocadas quantas unidades móveis, centrais de regulação, hospitais e demais entidades forem necessárias. As entidades colaboram no atendimento por meio de uma solicitação ou por iniciativa própria. A rede de agentes do pré-atendimento ainda possui a característica de registrar e desresgistrar agentes participantes, o que traz a possibilidade de contribuições de outras instituições a qualquer ocorrência que esteja sendo atendido, esta característica de rede aberta é ilustrada na figura a seguir, junto com alguns agentes que podem fazer parte de um atendimento. Por se tratar de uma rede aberta a ilustração não representa todos os agentes que poderão participar de um atendimento, apresenta apenas os agentes importantes para o pré-atendimento hospitalar. Representação de si Núcleo de Processamento Representação Externa Núcleo de montagem (Codificação e Decodificação) de mensagens. Comunicação e Percepção Mensagens trocadas com outros agentes Agente A Agente B Figura 1 - Modelo de Agente Agente N Figura 2 - Estrutura básica da rede do Pré-atendimento Cada agente envolvido na rede do préatendimento pode ser integrante de outras redes, como é o caso da Central de Regulação. A construção de uma arquitetura de agentes sociais visa facilitar o acesso e a atualização das informações decorrentes do pré-atendimento hospitalar. A proposta para atender o préatendimento hospitalar é a utilização de uma rede interna para controlar as informações específicas. Esta rede seria abastecida por todos os agentes que estiverem participando do pré-atendimento. Cada agente da arquitetura possuíra uma configuração específica para sua rede interna. Para que um agente possa participar do préatendimento ele deverá utilizar o protocolo e a linguagem de comunicação definidos. A partir do momento da apresentação de um novo agente para a rede do pré-atendimento este passará a contribuir com suas informações e competências. Para atender a esta flexibilidade o préatendimento necessitará de uma estrutura, onde deverão ser definidos papeis distintos a cada membro participante, esta estrutura é exclusiva para atender ao pré-atendimento e não necessariamente deverá ser a mesma de outros agentes participantes. A intenção de criar estes conceitos e definições (papéis) é de organização. Cada agente interno da estrutura possuirá suas atribuições para que todas as informações de um pré-atendimento possam ser mantidas e gerenciadas. Agente Controlador de Repositório Este agente irá realizar a interação com a base de dados, todas as solicitações de informações serão dirigidas a este agente, assim como solicitações de inclusão e manutenção das informações. É necessária a existência deste agente sempre que se desejar controlar as informações de um determinado contexto. Neste caso o préatendimento que estará sendo controlado. A arquitetura possibilitará que as informações do préatendimento sejam utilizadas por qualquer agente integrante da rede. Agente User Este agente é responsável em realizar a integração com as demais estruturas que fazem parte do pré-atendimento hospitalar. Estas estruturas podem ser hardwares, softwares (processos, sistemas) ou outros agentes. Esta arquitetura existe para possibilitar a portabilidade de um pré-atendimento. A comunicação com demais objetos (agentes) passa a ser imprescindível quando o sistema é aberto para utilização por órgãos que trabalham de maneira distinta inclusive em locais físicos diferentes. Agente de processamento Este agente estará sempre prestando serviços a outros agentes, será responsável pelos processamentos necessários para o préatendimento hospitalar, operando em conjunto com o Agente Controlador de Repositório. Este agente estará trabalhando para o pré-atendimento, os mantenedores do negócio poderão solicitar para este agente, informações mantidas por todos os participantes da rede pré-atendimento. Este agente também possibilita que a mesma rede seja implementada em qualquer outro contexto. A contextualização do negócio passa a ficar ao encargo destas entidades, e se estas entidades estiverem trabalhando, por exemplo, para uma rede de supermercados, o negócio a que estará tratando será de um supermercado. Isto torna uma arquitetura portável. A ilustração a seguir mostra a estrutura de funcionamento da rede interna do agente Central de Regulação: Figura 3 - Estrutura do Agente Central de Regulação Conhecendo o modelo de agente e os dois modelos de arquitetura propostos procurou-se dispor os agentes para disponibilizar as informações do pré-atendimento. Desta forma foi criada uma estrutura para acesso a base de dados que estará sendo mantida e consultada pelos agentes participantes da rede. A idéia é que toda solicitação de informação e toda manipulação de dados sejam realizadas através desta estrutura. O fluxo das informações ocorrerá conforme indicado. As solicitações da rede serão captadas pela área de comunicação e percepção do agente User, cuja principal funcionalidade é justamente realizar esta interface. Após identificadas e devidamente filtradas, no sentido de responder a rede se a mesma poderá ser atendida, as solicitações são encaminhadas ao agente de Processamento, responsável por identificar qual conjunto de dados é necessário para responder a solicitação que lhe foi encaminhada pelo agente User. O agente de processamento deverá repassar ao agente Controlador de Repositório todos os dados necessários para resolver a solicitação. O agente Controlador de Repositório elaborará as consultas necessárias à base de Dados do préatendimento assim como as manipulações de dados exigidas pelo negócio. Prontamente o fluxo de informações retorna a sua origem passando novamente pelos agentes que fizeram o seu encaminhamento. Desta forma o Agente Controlador de Repositório devolve os dados solicitados pelo agente de processamento, este monta a solução com as informações solicitadas e devolve ao agente User que disponibiliza a informação montando a resposta ao agente da rede que a solicitou. Discussão e Conclusões O ideal para o pré-atendimento é prover uma estrutura para atender a um único chamado, onde estaria se ocupando apenas uma unidade móvel uma central de regulação e um hospital ou clínica. Mas também ter capacidade de atender, por exemplo, a uma catástrofe, onde estariam presentes várias unidades móveis, integradas a muitas centrais de regulação utilizando diversas clínicas e hospitais além dos demais órgãos que prestam apoio nas ocorrências. Logo abaixo é apresentado um diagrama de seqüência, representando o pré-atendimento hospitalar, ilustrando todos os passos necessários a um atendimento e a ação de cada agente que pode colaborar no pré-atendimento. Observando o diagrama, consegue-se verificar com mais clareza a viabilidade de utilização do modelo proposto. A validação do modelo, para este artigo, será realizada de acordo com um relato de um préatendimento hospitalar. Este relato estará sendo acompanhado pelo diagrama de seqüência onde será possível visualizar a ação dos agente da rede de pré-atendimento no momento em que se está atendendo uma ocorrência. Relato de Acidente de Trânsito “Um acidente de trânsito acontece, um automóvel em alta velocidade choca-se contra uma arvore. No carro um condutor e 3 passageiros, todos ficam presos nas ferragens. O acidente ocorre por volta das 4:00h da madrugada de sábado, imediatamente pessoas da localidade acordadas pelo barulho acionam o fone reservado ao serviço de pré-atendimento. As informações são captadas pelo atendente responsável pelo atendimento. Neste momento o que se sabe é que se tem 4 pessoas todas presas em ferragens, o endereço da ocorrência e características do mesmo (veículo de passeio conduzido em alta velocidade choca-se contra uma árvore). Após esta prévia coleta de informações realizadas pelo atendente o médico é acionado recebendo a ligação. As informações neste caso são outras, paralelo ao atendimento do médico a unidade móvel já está se conduzindo ao local da ocorrência. O médico capta novas informações com relação as vítimas. Estas informações são capazes de conduzir a próxima ação a ser tomada. Informações como escoriações externas, possibilidade de óbito no local, grandes números de vítimas presas em ferragens, são definitivas na decisão de encaminhamento do médico até o local da ocorrência. Tais informações são coletadas e o médico se dirige para o atendimento. No momento da liberação da unidade móvel, o que ocorreu antes da decisão da presença medica, sabendo que seria necessária a utilização de equipamentos especiais para recortar as ferragens do veículo. Os paramédicos que chegaram primeiro ao local do acidente realizaram o trabalho de remoção das vítimas de dentro do veículo, sempre apoiados pelo atendimento médico da Central de Regulação responsável pelo atendimento, quando a presença médica foi requerida o mesmo estava presente para estabilizar a situação dos feridos, durante o atendimento existe a necessidade de consultar especialistas médicos, a solicitação da Unidade foi prontamente atendida por uma Clínica Especializada. O atendimento recebeu o auxilio dos oficiais que respondem ao departamento de trânsito. Duas unidades móveis do tipo UTI foram utilizadas para a remoção dos feridos além da unidade móvel médica. Os 3 passageiros do veículo foram encaminhados ao hospital e receberam os primeiros atendimentos logo após a colisão, o que evitou o óbito dos 3, já o condutor do veículo entrou em óbito no local do acidente antes mesmo da equipe de socorro prestar atendimento, devido a tal fato este foi atendido pelos profissionais do Instituto Médico Legal.” Contextualização do Cenário A ação dos agentes dentro de um préatendimento é variável, ou seja, em cada chamado a atuação pode existir ou não, assim como a própria tarefa que o agente executa pode ser diferenciada. No caso descrito acima, por exemplo, o agente clínica especializada prestou auxilio ao médico que fora deslocado ao local da ocorrência com relação a traumas generalizados, o que não impede que em uma próxima ocorrência o mesmo agente clínica especializada venha a fornecer auxilio a um para médico sobre um caso clínico. O pré-atendimento exige em seus requisitos mais básicos um grande número de agentes distintos com atitudes diferentes e que possam agir correspondendo as necessidades de cada atendimento. Este modelo é fortemente inspirado nas relações humanas que atualmente atendem as necessidades das ocorrências. Com essa arquitetura almeja-se conseguir controlar os diversos órgãos quando estes se fizerem necessários dentro de uma ocorrência, unir uma grande massa de dados e informações capaz de auxiliar nos mais variados métodos de atendimento hospitalar de urgência/emergência, fornecer meios de criação de melhores técnicas de pré-atendimento hospitalar e principalmente fornecer um melhor auxilio aos usuários dos serviços de pré-atendimento hospitalar de uma determinada região. A seguir é apresentado um diagrama de seqüência para ilustrar como as mensagens são trocadas entre os agentes definidos para o pré-atendimento descrito neste artigo. Figura 4 - Diagrama de seqüência do cenário exposto Agradecimentos Agradecemos aos nossos orientadores Edson Emílio Scalabrin e João da Silva Dias, pelo apoio fornecido durante a pesquisa. Referências Machado, Dennys Grein, Dirceu Rutz, Linnyer Dias, João D., (2000), Gerenciamento de Emergências Médicas, Workshop de Informática em Saúde Hospital Universitário Cajurú - HUC, Curitiba. Scalabrin, E., Carvalho, D., Angelotti, E., Azevedo, H., Ramos, M. An Open Mutiagent Architecture to Improve Reliability and Adaptability of Systems Genesereth M.R., Ketchpel S. P., (1994), Software Agents. Communications of the ACM. Vol. 37 (7). July 48-53. Smith, D. C., Cigra e J. Spoher. (1994), "KidSim: Programming Agents Whithout a Programming Language", Communications of the ACM, vol. 37 Hayes-Roth, B. (1995), "An Arquitecture for Adaptive Intelligent Systems", Artificial Intelligence: Special Issue on Agent and Interactivity, vol. 72 Maes, Pattie, (1995), "Artificial Life Meets Entertainment: Life Like Autonomous Agents", Communications of the ACM, vol. 38. Wooldridge, Michael & Jennings, Intelligent Agents: Theory and pratice. [URL: http://www.inf.pucrs.br/~nani/agenteWeb.htm#ag enteinteligente], acessado em 26/02/2004. Lemon, Bill; Pynadath, David; Taylor, Glenn (1996), Cognitive achitectures. [URL: http://krusty.eecs.umich.edu/cogarch4/toc.html], acessado em 11/2003. Paraiso, Emerson C. MASC, (1996) Sistema MultiAgente para Monitoração e Controle de Processo. International ICSC Symposium on Engineering of Intelligent Systems - Tenerife, Espanha. Auer, Karl, Agentes [URL: http://www.pcug.org. au/~kauer/project/main] , 1995, acessado em 10/2003 Franklin, Stan; Graesser, Art Is it an Agent, or just a Program?: A Taxonomy for Autonomous Agents, proceedings of the Third International Workshop on Agent Theories, Architectures, and Languages, published as Intelligent Agents III, pp 21-35, Springer-Verlag Belgrave, Marc, (1995) The unified agent architecture. [URL: http://www.ee.mcgill.ca/ ~belmarc/uaa_paper.html] acessado em 02/2004. Foner, Lenny, "What's an Agent, Anyway? A Sociological Case Study", [URL: http://foner.www.media.mit.edu/people/foner/Julia /Julia.html], acessado em 26/02/2004. Ferber J., Drogoul A., (1992), Using Reactive MultiAgent Systems in Simulation and Problem Solving. In Avouris N.M., Gasser L., eds., Distributed Artificial Intelligence: Theory and Praxis, Kluwer Academic Publishers, 53-80. Finin T., Weber J., Wiederhold G., Genesereth M., Fritzson F., McKay D., McGuire J., Pelavin P., Shapiro S., (1993), Specification of the KQML Agent-Communication Language, Technical Report EIT TR 92-04, Enterprise Integration Technologies, Palo Alto, CA, Updated in July. Freitas, A.A. Lavington, S.H., (1998), Mining Very Large Databases with Parallel Processing, MA: Kluwer Academic Publishers. Freitas, A, (1999), On Rule Interestingness Measures. Knowledge – Based Systems Journal 12 (5-6): 309-315. Ferber J., (1995), Les Systemes Multi-Agents. Interéditions, Paris. Brooks R. A., (1991), Intelligence without representation. Vol.47. Artificial Intelligence, 139159. Scalabrin, E. E. (1996), Conception et Realisation d’environnement de développement de systemes d’agents cognitifs. PhD Thesis. Université de Technologie de Compiégne, France, 169. Beer R.D., (1992), A Dynamical Systems Perspective on Autonomous Agents. In: Special Issue of the AI Journal on Computational Theories of Interaction and Agency. Demazeau Y., Müller J-P., (1990), Decentralized Artificial Intelligence. In Demazeau Y., Mÿller JP., Decentralized AI, Elsevier Science Publishers. Castelfranchi C., (1990), A Pont Missed in MultiAgent, DAI and HCI. Decentralized AI, Y. Demazeau & J-P. Müller (Eds), Elsevier Science Publisher B.V. (North-Holland), 49-62. Wooldridge M. J., Jennings N. R., (1994), Agent Theories, Architectures, and Languages: A Survey, Workshop on Agent Theories, Architectures and Laguages, ECAI94, Amsterdam. Bond H., Gasser L., (1988), What is DAI?. In Reading in Distributed Artificial Intellingence. Morgan Kaufman Publishers. Kolb M., (1995), CooL Specification. Technical Report, SIEMENS AG. Smith R. G., (1980), The Contract Net Protocol: High-Level Communication and Control in a Distributed Problem Solver. C29 (12). IEEE Trans. On Computers 1104-1113. Gasser L., (1992), An Overview of DAI. In: Distributed Artificial Intelligence: Theory and Praxis, N.M. Avouris & L. Gasser, editors, Kluwer Academic Publishers 9-30. Genesereth M. R., Ginsberg M.L., Rosenschein J.S., (1988), Cooperation without Communication. In: Readings in Distributed Artificial Intellingence, A. H. & L. Gasser, editors, Morgan Kaufmann Publishers, San Mateo, California 220-226. Smith R.G., Davis R., (1981), Frameworks for Cooperation in Distributed Problem Solving. IEEE Transactions on Systems, Man and Cybernectics. Halfpap, Dulce M., Belli, Mauro J.(1997), O Papel de Sistemas Inteligentes para o desenvolvimento de Organizações Virtuais no ambiente Internet, Universidade Federal de Santa Catarina. [www.ufsc.br}. Acessado em 10/2003. Contato Dennys Andrei Machado - Analista de Sistema, mestrando em Programa de Pós-Graduação em Tecnologia em Saúde (PPGTS) da PUCPR – Pontifícia Universidade Católica do Paraná. Dirceu Grein – Analista de Sistema, mestrando em Programa de Pós-Graduação em Tecnologia em Saúde (PPGTS) da PUCPR – Pontifícia Universidade Católica do Paraná. Edson Emílio Scalabrin – Prof. Dr. do Programa de Pós-Graduação em Tecnologia em Saúde (PPGTS) da PUCPR – Pontifícia Universidade Católica do Paraná. João da Silva Dias – Prof. Dr. Eng. do Programa de Pós-Graduação em Tecnologia em Saúde (PPGTS) da PUCPR – Pontifícia Universidade Católica do Paraná. Endereço: Av. Imaculada Conceição, 1155 – Curitiba – Paraná – Brasil. Fone: 55 (41) 330-4553 Fax: 55 (41) 330-4571 Email: [email protected] [email protected] [email protected] [email protected]