• No se han encontrado resultados

Integração de sistemas multiagente industriais: uma proposta baseada no intercâmbio de informações entre padrões

N/A
N/A
Protected

Academic year: 2021

Share "Integração de sistemas multiagente industriais: uma proposta baseada no intercâmbio de informações entre padrões"

Copied!
183
0
0

Texto completo

(1)LEANDRO LOSS. INTEGRAÇÃO DE SISTEMAS MULTIAGENTE INDUSTRIAIS: UMA PROPOSTA BASEADA NO INTERCÂMBIO DE INFORMAÇÕES ENTRE PADRÕES. FLORIANÓPOLIS 2003.

(2) UNIVERSIDADE FEDERAL DE SANTA CATARINA PROGRAMA DE PÓS-GRADUAÇÃO EM ENGENHARIA ELÉTRICA. INTEGRAÇÃO DE SISTEMAS MULTIAGENTE INDUSTRIAIS: UMA PROPOSTA BASEADA NO INTERCÂMBIO DE INFORMAÇÕES ENTRE PADRÕES. Dissertação submetida à Universidade Federal de Santa Catarina como parte dos requisitos para a obtenção do grau de Mestre em Engenharia Elétrica. LEANDRO LOSS. Florianópolis, Fevereiro 2003.

(3) Integração de Sistemas Multiagente Industriais: Uma Proposta Baseada no Intercâmbio de Informações Entre Padrões Leandro Loss ‘Esta Dissertação foi julgada adequada para obtenção do Título de Mestre em Engenharia Elétrica, Área de Concentração em Controle, Automação e Informática Industrial, e aprovada em sua forma final pelo Programa de Pós-Graduação em Engenharia Elétrica da Universidade Federal de Santa Catarina’. ________________________________ Prof. Ricardo José Rabelo, Dr. Orientador. ________________________________ Prof. Edson Roberto de Pieri, Dr. Coordenador do Programa de Pós-Graduação em Engenharia Elétrica. Banca Examinadora: ________________________________ Prof. Ricardo José Rabelo, Dr. Presidente. ________________________________ Prof. Joni da Silva Fraga, Dr.. ________________________________ Prof. Marcelo Ricardo Stemmer, Dr. Ing.. ________________________________ Prof. João Carlos Espíndola Ferreira, Ph.D.. ii.

(4) Aos meus pais, Daniel e Albina,. Por todo amor e apoio, muitas vezes psicológico e outras vezes financeiro. Sem vocês eu não teria chegado até aqui!. iii.

(5) Agradecimentos Talvez esta seja a parte mais difícil ao escrever uma dissertação… agradecer a todas as pessoas que estiveram presentes e colaboraram de uma maneira ou de outra para a conquista de mais um desafio nesta vida, espero não esquecer ninguém! Vamos lá… Agradeço primeiramente a Deus, por me dar força e coragem de “largar” uma vida “pacata” no interior do estado rumo à realização de um sonho, o Mestrado. Aos meus pais, por TUDO que fizeram, e não foi pouco, sempre preocupados que eu tivesse de bem com a vida. Tenho certeza, que se necessário, você meu pai, minha mãe, fariam muito mais. Muito Obrigado. Amo vocês. A todos os colegas do GSIGMA que me acolheram ao chegar em Florianópolis e foram como uma família, compartilhando muitas dúvidas, incertezas e, sem dúvida alguma, muitas alegrias. Não seria justo se faltasse um agradecimento específico aos colegas GSIGMAnianos Fabiano Baldo, Rui Jorge Tramontin Júnior e Carlos Eduardo Gesser pelo companheirismo, auxílio na implementação do protótipo e todos os CBs – Well Done!. Em especial, ao professor Ricardo José Rabelo, por acreditar no meu potencial, aceitar o “desafio” de ser meu orientador, e suas correções sempre visando um maior aprendizado. Muito Obrigado. Aos meus amigos Giovani e Sônia, por todo o seu apoio. Ao meu colega Fábio por todas as festas e pela paciência em dividir o apartamento comigo neste último ano! A todos os funcionários do Programa de Pós Graduação em Engenharia Elétrica, professores do Departamento de Automação e Sistemas que proporcionaram o meu crescimento como aluno e como pessoa e aos membros da banca pelas sugestões e críticas que engrandeceram muito este trabalho. Ao CNPq pelo suporte financeiro.. iv.

(6) Resumo da Dissertação apresentada à UFSC como parte dos requisitos necessários para a obtenção do grau de Mestre em Engenharia Elétrica. Integração de Sistemas Multiagente Industriais: Uma Proposta Baseada no Intercâmbio de Informações Entre Padrões Leandro Loss Fevereiro, 2003 Orientador: Prof. Ricardo José Rabelo, Dr. Área de Concentração: Controle, Automação e Informática Industrial. Palavras Chave: MMS, XML, KQML, CORBA, Sistemas Multiagente. Número de Páginas: 168 A complexidade dos sistemas industriais computadorizados tem aumentado muito devido a sua heterogeneidade, natureza distribuída e a necessidade de trabalhar com diferentes protocolos de comunicação. Esta tarefa faz a troca de informações – a chave para uma ampla integração – uma tarefa difícil. Esta tarefa se torna ainda mais complexa quando informações providas do chão de fábrica devem ser levadas em consideração, como também quando se pretende introduzir alguns níveis de inteligência e autonomia. Este trabalho propõe uma abordagem para facilitar a integração na comunicação entre os sistemas industriais – desenvolvidos usando a tecnologia Multiagente – e dispositivos do chão de fábrica por meio de um ambiente global integrado. Este ambiente é aberto, faz uso de um número de padrões, e provê uma maneira transparente de integrar os padrões CORBA, KQML, MMS e XML em todos os níveis requeridos. Um sistema multiagente industrial – sendo legado ou não – usualmente requer o envolvimento de um grande número de atores. Esta proposta foca em como a comunicação de sistemas multiagente industriais podem ser harmonizada e encapsulada, incluindo todos os atores necessários e, ao mesmo tempo, mantendo as propriedades essenciais de cada v.

(7) protocolo dentro dos limites para os quais fora desenvolvido. Portanto, isso significa permitir a uma aplicação externa, que necessita acessar dados do chão de fábrica, não conhecer toda sintaxe e detalhes de todos os protocolos (dos vários tipos e níveis envolvidos) e as particularidades de cada controlador de máquina que se queira comunicar. Com esta “camada de comunicação” a ser integrada numa aplicação industrial – e mais especificamente em sistemas multiagente industriais – pretende-se contribuir no suporte a interoperação entre sistemas – industriais e legados – e, assim, propiciar melhores condições de agilidade e competitividade às empresas.. vi.

(8) Abstract of Dissertation presented to UFSC as a partial fulfillment of the requirements of the degree of Master in Electrical Engineering. Industrial Multiagent Systems Integration: A Based Aproach in Information Exchange Among Standards. Leandro Loss February, 2003 Advisor: Prof. Ricardo José Rabelo, Dr. Area of Concentration: Control, Automation and Industrial Informatic. Keywords: MMS, XML, KQML, CORBA, Multiagent Systems. Number of Pages: 168 The complexity of computerized industrial systems has increased tremendously due to their heterogeneity, distributed nature and the need to work with different communications protocols. It makes the information exchange – the key for a wider integration – a very hard task to support. It becomes still more complex when information from the shop floor should be taken into account as well as some levels of intelligence and local autonomy is intended to be introduced. This work proposes an approach to facilitate the integration in the communications among industrial systems - developed using Multi-agent Systems technology - and shop floor devices, by means of a global and integrated environment. This environment is open, makes use of a number of standards, and provides a transparent way to integrate the standards CORBA, KQML, MMS and XML in all the required levels. An Industrial Multi-agent System – being legacy or not – usually requires the involvement of a large number of actors. This proposal focuses on how the communication vii.

(9) of Industrial Multi-agent Systems can be harmonized and encapsulated, comprising all the necessary actors and, at the same time, maintaining the essential properties of each protocol within the borders for which they have been developed/proposed. It means to allow any external application that needs to have access to shop floor data a leaner interface, without requiring to know all the syntax details of both the protocols used and the particularities of each machine controller's that it is necessary to communicate with. With this "communication layer", that can be integrated in an industrial application – and more specifically in industrial multi-agent system, it is intended to contribute in the area of integration of industrial multi-agent system to better support the enterprise agility and competitiveness.. viii.

(10) Sumário Agradecimentos ____________________________________________________ iv Sumário __________________________________________________________ ix Lista de Figuras ____________________________________________________ xii Lista de Tabelas ___________________________________________________ xiv 1.. Introdução __________________________________________________ 1. 2.. Revisão Bibliográfica__________________________________________ 6 2.1. Tecnologias Utilizadas _____________________________________________ 7. 2.1.1. Agentes e Sistemas Multiagente _______________________________________ 12. 2.1.1.1. Agentes_________________________________________________________ 12. 2.1.1.2. Sistemas Multiagente ______________________________________________ 18. 2.1.2. Ontologias ________________________________________________________ 21. 2.1.3. KQML como uma Linguagem de Comunicação___________________________ 23. 2.1.4. Agentes segundo a FIPA _____________________________________________ 29. 2.1.4.1. Diferenças e comparações entre FIPA-ACL e KQML_____________________ 32. 2.1.5. MMS ____________________________________________________________ 33. 2.1.6. CORBA __________________________________________________________ 41. 2.1.7. XML ____________________________________________________________ 45. 2.2. Aplicações Isoladas das Tecnologias Apresentadas: ____________________ 55. 2.2.1. Aplicações fazendo uso do MMS ______________________________________ 55. 2.2.2. Integração do MMS com CORBA _____________________________________ 58. 2.2.3. Integração do KQML com CORBA ____________________________________ 59. 2.2.4. Uso dos Agentes e Sistemas Multiagente ________________________________ 60. 2.2.5. Exemplos do uso do XML no “intercâmbio” de dados ______________________ 61. 2.2.6. Troca de dados no ambiente industrial __________________________________ 62. 2.3. Modelos Tradicionais de Comunicação com o Chão de Fábrica __________ 63. 2.3.1. Projeto FIELDBUS _________________________________________________ 64. 2.3.2. Projeto PROWAY __________________________________________________ 66. 2.3.3. Projeto IEEE 802___________________________________________________ 66. 2.3.4. Abordagens Centralizadas versus Distribuídas ____________________________ 67. 3.. Proposta e Modelo Conceitual__________________________________ 72 3.1. As Classes de Agentes da Proposta __________________________________ 74. ix.

(11) 3.2. 4.. Arquitetura dos Agentes __________________________________________ 80. IMPLEMENTAÇÃO E VALIDAÇÃO ___________________________ 83 4.1. O Dispositivo Industrial ___________________________________________ 83. 4.2. Os Agentes______________________________________________________ 85. 4.3. Os AgentMachine ________________________________________________ 88. 4.4. Definição dos VMDs ______________________________________________ 88. 4.5. Centros de Usinagem _____________________________________________ 89. 4.5.1. Definição dos Objetos MMS contidos no VMD dos Centros de Usinagem ______ 90. 4.5.2. Objetos de Domínio ________________________________________________ 90. 4.5.3. Objetos de Invocação de Programa _____________________________________ 91. 4.5.4. Objetos Machine Control ____________________________________________ 91. 4.5.5. Objeto VMD para os Centros de Usinagem ______________________________ 92. 4.5.6. Inicialização dos Centros de Usinagem__________________________________ 92. 4.5.6.1. Inicialização dos CNCs dos Centros de Unsinagem ______________________ 92. 4.5.6.2. Mensagens MMS Implementadas no VMD dos Centros de Usinagem ________ 93. 4.5.7. Mapeamento das Mensagens MMS para IDL utilizada na comunicação dos AgentMachine com os Centros de Usinagem: ____________________________ 95. 4.6. Mesa Posicionadora ______________________________________________ 96. 4.6.1. Definição dos Objetos MMS contidos no VMD da Mesa Posicionadora ________ 96. 4.6.2. Objetos Domínio e Invocação de Programa ______________________________ 97. 4.6.3. Objeto Gate _______________________________________________________ 97. 4.6.4. Objeto VMD para a Mesa Posicionadora ________________________________ 97. 4.6.5. Inicialização da Mesa Posicionadora____________________________________ 98. 4.6.5.1. Inicialização do CLP da Mesa Posicionadora ___________________________ 98. 4.6.5.2. Mensagens MMS Implementadas no VMD da Mesa Posicionadora __________ 98. 4.6.6. Mapeamento das Mensagens MMS para IDL utilizada na comunicação do Agent Machine com a Mesa Poscionadora____________________________________ 99. 4.7. Robô__________________________________________________________ 100. 4.7.1. Objetos de Domínio _______________________________________________ 101. 4.7.2. Objetos Invocação de Programa ______________________________________ 101. 4.7.3. Objeto VMD para o Robô ___________________________________________ 102. 4.7.4. Inicialização do Robô ______________________________________________ 102. 4.7.4.1. Inicialização do CNC do Robô______________________________________ 102. 4.7.4.2. Mensagens MMS Implementadas no VMD do Robô ____________________ 103. 4.7.5. Mapeamento das Mensagens MMS para IDL utilizada na comunicação do AgentMachine com o Robô _________________________________________ 103. x.

(12) 4.8. Mensagens KQML trocadas ______________________________________ 105. 4.8.1. 4.9. Mensagens KQML trocadas entre os AgentManager e os AgentMachine ______ 105. Mensagens KQML empacotadas em XML __________________________ 107. 4.9.1. Método wrapKQML _______________________________________________ 110. 4.9.2. Método unWrapKQML _____________________________________________ 110. 4.10. Demais Mensagens KQML entre os CommonAgent e os AgentManager___ 111. 4.11. As mensagens trocadas entre os AgentMachine e os Dispositivos do Chão de Fábrica________________________________________________________ 113. 4.12. Ambiente de Simulação __________________________________________ 121. 4.13. Testes e Análise dos Resultados____________________________________ 124. 5.. Conclusões ________________________________________________ 132 5.1. Perspectivas para Trabalhos Futuros_______________________________ 134. Anexo A – Principais Performativas KQML_____________________________ 136 Anexo B – Descrição dos Serviços MMS _______________________________ 146 Glossário _________________________________________________________ 155 Referências Bibliográficas___________________________________________ 158. xi.

(13) Lista de Figuras FIGURA 1 – TROCA DE MENSAGENS ENTRE AGENTES ATRAVÉS DO KQML ___________________________ 8 FIGURA 2 – TROCA DE MENSAGENS ATRAVÉS DO ORB__________________________________________ 9 FIGURA 3 – TROCA DE MENSAGENS ATRAVÉS DO MMS ________________________________________ 10 FIGURA 4 – DOCUMENTO XML ___________________________________________________________ 12 FIGURA 5 – CAMADAS DO KQML _________________________________________________________ 26 FIGURA 6 – PERFORMATIVAS _____________________________________________________________ 27 FIGURA 7 – IMPLEMENTAÇÃO MMS _______________________________________________________ 35 FIGURA 8 - VMD ______________________________________________________________________ 38 FIGURA 9 – EXEMPLO DE IDL ____________________________________________________________ 42 FIGURA 10 – ITERAÇÃO CLIENTE/SERVIDOR VIA CORBA/IDL ___________________________________ 43 FIGURA 11 – INTERFACE DE UMA IDL ______________________________________________________ 44 FIGURA 12 – TROCA DE MENSAGENS VIA CORBA ____________________________________________ 44 FIGURA 13 – EXEMPLO DE DOCUMENTO XML _______________________________________________ 48 FIGURA 14 – CONTROLADOR DE CÉLULA DE MANUFATURA USANDO UMA ABORDAGEM CENTRALIZADA __ 70 FIGURA 15 – ENTIDADES ENVOLVIDAS NA PROPOSTA __________________________________________ 73 FIGURA 16 – CLASSES DOS AGENTES _______________________________________________________ 75 FIGURA 17 – FLUXO DE INFORMAÇÕES ENTRE AS CLASSES DE AGENTES ___________________________ 76 FIGURA 18 – INTERAÇÃO DOS DEMAIS AGENTES COM O SISTEMA _________________________________ 80 FIGURA 19 – ARQUITETURA GENÉRICA DO AGENTE PROPOSTO ___________________________________ 81 FIGURA 20 – LAYOUT DA CÉLULA FLEXÍVEL DE MANUFATURA __________________________________ 84 FIGURA 21 – DIAGRAMA DE CLASSES DOS AGENTES ___________________________________________ 86 FIGURA 22 – VMDS ____________________________________________________________________ 89 FIGURA 23 – MENSAGEM KQML REPRESENTADA EM XML ____________________________________ 109 FIGURA 24 – DOCUMENT OBJECT MODEL __________________________________________________ 111 FIGURA 25 – TROCA DE MENSAGENS ENTRE OS AGENTES ______________________________________ 112 FIGURA 26 – INICIAR OS SERVIÇOS ________________________________________________________ 114 FIGURA 27 – TERMINAR SERVIÇOS________________________________________________________ 114 FIGURA 28 – WRITE ___________________________________________________________________ 115 FIGURA 29 – LOAD SEQUENCE ___________________________________________________________ 115 FIGURA 30 – START (CENTRO DE USINAGEM) _______________________________________________ 116 FIGURA 31 – STOP (CENTRO DE USINAGEM) ________________________________________________ 116 FIGURA 32 – STATUS (CENTRO DE USINAGEM) ______________________________________________ 116 FIGURA 33 – CRIAR INVOCAÇÃO DE PROGRAMA _____________________________________________ 117 FIGURA 34 – EXCLUIR INVOCAÇÃO DE PROGRAMA ___________________________________________ 117 FIGURA 35 – STATUS (MESA POSICIONADORA) ______________________________________________ 117 FIGURA 36 – DATAEXCHANGE ___________________________________________________________ 118 FIGURA 37 – LOAD SEQUENCE ___________________________________________________________ 118. xii.

(14) FIGURA 38 – START (ROBÔ) _____________________________________________________________ 119 FIGURA 39 – STATUS (ROBÔ) ____________________________________________________________ 119 FIGURA 40 – ASK-IF / REPLY ____________________________________________________________ 120 FIGURA 41 – TELL / SORRY _____________________________________________________________ 120 FIGURA 42 – INTERAÇÃO _______________________________________________________________ 121 FIGURA 43 – INTERFACE DO EDITOR GRÁFICO MASSYVE ______________________________________ 123 FIGURA 44 – PROTÓTIPO _______________________________________________________________ 124 FIGURA 45 – COMPUTADOR 1____________________________________________________________ 125 FIGURA 46 – COMPUTADOR 2____________________________________________________________ 126 FIGURA 47 – COMPUTADOR 3____________________________________________________________ 126. xiii.

(15) Lista de Tabelas TABELA 1 – EXEMPLO DE DTD ___________________________________________________________ 11 TABELA 2 – DEFINIÇÕES DE AGENTES ______________________________________________________ 14 TABELA 3 – CAMPOS DO KQML __________________________________________________________ 29 TABELA 4 – COMPARAÇÃO ENTRE KQML E FIPA-ACL ________________________________________ 33 TABELA 5 – EXEMPLO DE DTD INTERNO ____________________________________________________ 52 TABELA 6 – EXEMPLO DE DTD EXTERNO ___________________________________________________ 53 TABELA 7 – OBJETO VMD PARA O CENTRO DE USINAGEM ______________________________________ 92 TABELA 8 – MENSAGENS DO VMD DOS CENTROS DE USINAGEM – MAPEAMENTO NA IDL _____________ 94 TABELA 9 – MAPEAMENTO DAS MENSAGENS MMS NOS MÉTODOS DA IDL – CENTROS DE USINAGEM ____ 96 TABELA 10 – OBJETO VMD PARA A MESA POSICIONADORA _____________________________________ 98 TABELA 11 – MENSAGENS DO VMD DA MESA POSICIONADORA – MAPEAMENTO NA IDL ______________ 99 TABELA 12 – MAPEAMENTO DAS MENSAGENS MMS NOS MÉTODOS DA IDL – MESA POSICIONADORA ___ 100 TABELA 13 – OBJETO VMD PARA O ROBÔ__________________________________________________ 102 TABELA 14 – MENSAGENS DO VMD DO ROBÔ – MAPEAMENTO NA IDL___________________________ 104 TABELA 15 – MAPEAMENTO DAS MENSAGENS MMS NOS MÉTODOS DA IDL – ROBÔ _________________ 104 TABELA 16 – ASK-IF__________________________________________________________________ 106 TABELA 17 – TELL ___________________________________________________________________ 106 TABELA 18 – REPLY__________________________________________________________________ 106 TABELA 19 – SORRY _________________________________________________________________ 107 TABELA 20 – DTD PADRÃO PARA AS MENSAGENS KQML _____________________________________ 108. xiv.

(16) 1. Introdução O desenvolvimento de sistemas industriais tem surgido para suprir as necessidades de agilidade que as empresas tem passado nos últimos anos, devido ao surgimento de novas tecnologias informatizadas, e as metas que o mercado impõe. Inúmeros são os requisitos para tal: um deles é a integração da informação por computador, CIM1, que vem sendo aplicada por inúmeras empresas ao redor do mundo já há algum tempo (RABELO, 1997). A filosofia CIM busca garantir a integração das informações provenientes de vários setores de uma empresa (SILVEIRA, 1991). A integração tradicional dos equipamentos era feita for um único fabricante/vendedor e o sistema estava “preso” a um protocolo proprietário. Com o passar dos anos a integração dos equipamentos industriais heterogêneos (funcionalidades e diferentes protocolos) passou a visar o suporte ao compartilhamento de recursos, a evolutividade e escalabilidade do sistema. Um sistema industrial flexível é classicamente visto como um agrupamento de máquinas de comando numérico, robôs industriais, montagem automática, dispositivos de inspeção automática, interconectados por meios de sistemas de manuseio automático de materiais e de armazenamento, controlados por sistemas computadorizados integrados (SILVEIRA, 1991). Estas características têm possibilitado às empresas serem mais competitivas no mercado através da redução de custos, do aumento da qualidade dos seus produtos, proporcionando a entrega de uma diversidade de produtos em um tempo de resposta cada vez menor, exigido pelo mercado. A preocupação com os aspectos de integração não é nova; várias propostas específicas tentaram solucionar os problemas de integração, sendo que muitas destas eram voltadas para aplicações particulares sem se levar em consideração o “mundo externo”. Então, no começo dos anos 80 vários fornecedores iniciaram um processo de integração das funções de troca de informações no nível industrial com o objetivo de atender as necessidades do mercado. O resultado mais evidente é a arquitetura MAP2, baseada no. 1 2. CIM – Computer Integrated Manufacturing MAP – Manufacturing Automation Protocol.

(17) 2. Introdução. modelo OSI3, definida pela empresa General Motors (KUSIAK, 1989). Estes modelos MAP propunham uma integração entre os dispositivos de manufatura visando conectar as máquinas em uma rede de comunicação a fim de permitir a troca de informações entre estas e sistemas externos. Estes. primeiros. modelos. de. arquiteturas. trabalhavam. com. um. único. controlador/supervisor (ou sistema legado) para toda uma planta industrial; contudo, esta abordagem tornava difícil a escalabilidade dos sistemas, a possibilidade de implementar novas funcionalidades e uma melhor distribuição de tarefas. Como forma de solução destes problemas, e o progresso da relação desempenho/preço de poder de processamento computacional, as arquiteturas evoluíram de centralizadas, homogêneas e hierárquicas para arquiteturas distribuídas, heterogêneas e mais autônomas (QUINTAS, 1997). Por outro, lado surgiram uma série de dificuldades de gerenciar os sistemas com tais características (complexas) em seus diferentes níveis. A tecnologia dos sistemas multiagente vem surgindo como uma abordagem para auxiliar na solução de muitos desses problemas, dentre eles, problemas que envolvem a natureza distribuída, a manipulação inteligente de informação de diversas fontes e a comunicação entre processos. Apesar dos resultados conseguidos, a comunicação apenas no chão de fábrica não é suficiente. Os níveis mais altos – de tomada de decisão – devem ter acesso às informações dos dispositivos industriais para uma melhor gestão destes e suas funções. A integração dos diversos níveis de informação nas empresas, principalmente do chão de fábrica com os demais níveis existentes, exige muitos esforços, pois não existe uma rede ou um protocolo único capaz de proporcionar todas as soluções das classes ou níveis de atividades existentes. Por outro lado, a adoção de tecnologias para uma integração transparente entre os diversos níveis não é uma tarefa simples, pois existem muitos formatos para transmissão das mensagens por exemplo e, conseqüentemente, um grande número destes formatos não segue um padrão comum, o que causa problemas de interoperabilidade entre níveis de comunicação existentes.. 3. OSI – Open Systems Interconnection ou Open Systems Interconnect.

(18) Introdução. 3. Tem-se verificado um verdadeiro boom no desenvolvimento dessas tecnologias, mas faltam propostas e/ou soluções para o uso integrado de todas elas considerando as características reais dos cenários industriais modernos. Existem inúmeros trabalhos relacionados com a integração e a utilização da informação nos diversos níveis das empresas, como por exemplo em (BARBER et al., 1998), (USHER, 2000), (GUYONNET, et al. 2001) (RABELO, 1994) e (SILVEIRA, 1991). Porém, inúmeras das implementações relatadas nesses e em outros trabalhos têm coberto apenas aspectos individuais da comunicação e da integração da informação, cada um se restringindo às fronteiras naturais da aplicação e/ou da tecnologia empregada. Por exemplo, a comunidade multiagente tem colocado mais esforços na linguagem KQML4 e ontologias, sem se preocupar muito com a robustez da infraestrutura de comunicação e com a integração com outros sistemas industriais abertos. A comunidade de redes de computadores tem desenvolvido protocolos de comunicação e interoperação, mas sem se preocupar com os protocolos de alto nível. A comunidade de redes industriais tem concentrado seus esforços nos seus níveis de protocolos de baixo nível e na integração entre os equipamentos de manufatura e redes de instrumentação, mas sem se ater aos requisitos de aplicação, também de alto nível. Esta realidade tem construído um cenário no qual não se tem verificado esforços consistentes na direção de uma visão global da integração das informações, no sentido de se ter propostas que unam os vários esforços localizados, numa única plataforma. Esta visão global é tida como um grande requisito para sistemas industriais, e mais especificamente, em sistemas multiagente industriais. Isto favorece imensamente a integração da informação, base essencial para processos de decisão ágeis, consistentes e efetivamente coerentes com o real estado do chão de fábrica. O problema se torna ainda mais grave quando hoje se deseja que toda esta comunicação ocorra em plataformas e protocolos abertos, o mais padronizados possível, robustos, e suportando uma comunicação eficiente entre todos os atores envolvidos – incluindo pessoas – com o. 4. KQML – Knowledge Query Manipulation Language.

(19) Introdução. 4. objetivo de diminuir os problemas de interoperabilidade entre os protocolos de comunicação normalmente adotados. A interoperabilidade é definida por KERN (1997) como a “interconexão efetiva de dois ou mais sistemas de computação, banco de dados ou redes diferentes com o propósito de suportar computação distribuída e intercâmbio de dados”, ou como MISCHE, (2001) define, “a habilidade de fazer uma aplicação e uma tecnologia funcionar com outra de uma maneira que possa explorar as capacidades de ambas”. O objetivo geral desta dissertação é uma proposta que permite a o compartilhamento de conhecimento e comandos. Este compartilhamento ocorre entre os agentes que trabalham tanto com informações do chão de fábrica e dispositivos industriais (agentes industriais) quanto dos agentes de tomada de decisões (níveis mais altos), fazendo uso de tecnologias avançadas e protocolos abertos que seguem normas e padrões internacionais vindo a ser adotados. A questão principal é a capacidade de integrar diferentes ambientes, arquiteturas, tecnologias e, sobretudo, compreender cada área de atuação particular. Visando assim reduzir o problema da interoperabilidade entre os sistemas multiagente industriais, onde os dados precisam ser trocados entre aplicações que estão baseados em modelos distintos (níveis de tomada de decisões e níveis de atuação com os dispositivos industriais), criando a necessidade de tradução e localização destes dados entre as diversas aplicações existentes na comunidade. Este nível de integração é um dos mais complexos a serem alcançados devido à grande heterogeneidade nos equipamentos industriais existentes. Para o problema abordado nesta dissertação propõe-se uma arquitetura de comunicação para a troca de mensagens entre os sistemas multiagente e os dispositivos de chão de fábrica. Mais que isto, a comunicação usa padrões internacionais que trazem suporte à interoperação. Nesta proposta usam-se quatro protocolos considerados padrão: a protocolo de comunicação KQML, a arquitetura de comunicação CORBA5, o protocolo de. 5. CORBA – Common Object Request Broker Architecture.

(20) Introdução. 5. mensagens industriais MMS6 e a linguagem XML7, de forma integrada. Neste caso, a arquitetura de sistemas multiagente deve permitir a integração entre todos os protocolos em um mesmo ambiente. Fisicamente, esta proposta é composta por uma biblioteca de classes, que deve ser integrada aos sistemas que a desejem utilizá-la, especificamente sistemas multiagente legados, buscando a combinação entre os agentes já existentes em um sistema multiagente e novos agentes que venham a se comunicar com eles. Esta dissertação está organizada da seguinte forma. No capítulo 2 são apresentados os conceitos necessários para a compreensão das tecnologias e protocolos abordados nesta dissertação. Também são descritos trabalhos que fizeram uso destas tecnologias e protocolos na solução de problemas isolados ou parcialmente integrados. Um modelo conceitual sobre como pode ser a integração de um sistema multiagente industrial é proposto no capítulo 3. O capítulo 4 tem o intuito de descrever detalhes da implementação do protótipo para a validação do modelo conceitual, os requisitos de hardware e software para se utilizar a plataforma e integrá-la a sistemas multiagente “legados”, e a discussão dos resultados obtidos na implementação. O capítulo 5 traz as conclusões da dissertação e sugestões para trabalhos futuros. Ao final do documento são apresentados dois anexos (contendo a relação das principais mensagens KQML utilizadas por sistemas multiagente e a descrição dos principais serviços MMS), bem como um glossário de termos e siglas.. 6 7. MMS – Manufacturing Message Specification XML – Extensible Markup Language.

(21) 2. Revisão Bibliográfica Uma comunidade de agentes ou um sistema multiagente trabalha com a noção de troca de mensagens. A interação entre os agentes tem como objetivo compartilhar conhecimento e informações sobre um determinado escopo, visando a solução de um certo problema. Este tipo de integração é importante pois está relacionada ao fato de proporcionar às empresas, ou quem quer que esteja “utilizando” um sistema multiagente, informações atualizadas que auxiliam na tomada de decisões estratégicas e confiáveis. Como (MISCHE, 2001) cita em seu trabalho, “a maior razão para integração é a necessidade de se tornar mais competitivo em um ambiente que está constantemente em mudança e a alta competitividade entre as organizações”. Conseqüentemente, a integração proporciona a capacidade do acesso à informação correta, no tempo e local corretos, com um formato interoperável, “qualidades” cruciais para capacitar o suporte e a agilidade na tomada de decisões. A agilidade na tomada de decisões é um requisito importante para organizações de sucesso em períodos de turbulência de mercado e mudanças sócio-econômicas imprevisíveis (CAMARINHA-MATOS et al. 2000), (KUSIAK, 1996). A integração de tecnologias com os novos projetos e processos de negócios dentro das organizações permite a informação e o conhecimento serem compartilhados simultaneamente por trabalhadores, parceiros de negócios, e mesmo colaboradores e competidores, sem se preocupar onde as pessoas e/ou sistemas estão localizados (MISCHE, 2001). No caso da comunicação com sistemas multiagente industriais, a troca de informações e o compartilhamento do conhecimento ocorrem nos/entre os diversos níveis dentro da indústria, desde o chão de fábrica até o nível de negociação e troca de conhecimento. Com o aumento das soluções de softwares, particularidades de tecnologias e hardware, o ambiente industrial tem se tornado muito heterogêneo. Por outro lado, o suporte de integração de sistemas existentes, considerando a sua heterogeneidade, de uma forma eficiente é também muito complexo e envolve o aspecto de interoperação entre sistemas (RABELO, 2001)..

(22) Revisão Bibliográfica. 7. O intercâmbio de dados e informações, a necessidade de acesso aos dados entre as diversas aplicações existentes desenvolvidas – em linguagens de programação diferentes – o funcionamento em sistemas operacionais diferentes, localizações diferentes e o suporte a paradigmas diferentes formam as chamadas “ilhas de automação” ou “ilhas de produção” (WOBBE, 1996) (OSÓRIO et al. 2000), que dão origem aos problemas essenciais de interoperabilidade. Este capítulo está dividido em três partes principais. A seção 2.1 faz uma explanação das tecnologias utilizadas no trabalho e o seu enquadramento dentro da proposta de comunicação apresentada. A seção 2.2 traz alguns trabalhos já realizados nas “subáreas” abordadas nesta dissertação, como por exemplo o interfaceamento dos dispositivos industriais, a comunicação entre sistemas multiagente, a comunicação distribuída entre dispositivos industriais, e aplicações dos sistemas multiagente no ambiente industrial. A seção 2.3 traz como funciona a abordagem tradicional de comunicação dos sistemas de manufatura.. 2.1 Tecnologias Utilizadas A seguir é feita uma breve descrição das principais características dos protocolos e tecnologias abordadas nesta dissertação, com o objetivo de familiarizar o leitor com os nomes e conceitos abordados, para somente depois fazer a apresentação de um texto mais completo sobre o assunto. KQML – O KQML: Knowledge Query Manipulation Language (FININ et al. 1992, FININ 1994), (KQML, 2001), (LABROU, 1999, 1999b) é usado como uma linguagem de comunicação entre sistemas e hoje é considerado como a proposta padrão mais usada como linguagem de comunicação entre agentes. Em outras palavras, o KQML serve para permitir a troca de mensagens entre os agentes. O KQML é uma linguagem de comunicação orientada a mensagens e um protocolo para troca de informações de alto nível, independente da sintaxe de conteúdo e de uma ontologia8 (GRUBER, 1992). Deste. 8. Ontologia – especificação dos objetos, conceitos e relacionamentos de uma dada área de conhecimento.

(23) Revisão Bibliográfica. 8. modo, o KQML é independente do mecanismo de transporte (TCP/IP9, SMTP10, ou outro qualquer), independente de como o conteúdo da linguagem é representado (KIF11, SQL12, Prolog ou outros) e independente da ontologia assumida pelo conteúdo. A Figura 1 ilustra basicamente a troca de mensagens entre três agentes (A, B e C) utilizando uma das mensagens do protocolo KQML. Maiores detalhes sobre o KQML serão explanados mais adiante neste capítulo.. Figura 1 – Troca de mensagens entre agentes através do KQML CORBA – O CORBA (Common Object Request Broker Architecture) (CHAFFEE, 1999), (PIRES, 1997), (SIEGEL, 2000), (TAJKUMAR, 2001), é uma arquitetura padrão que suporta o conceito de objetos distribuídos entre sistemas que também podem ser distribuídos. A arquitetura CORBA permite uma coleção heterogênea e distribuída de objetos interoperarem, definindo uma arquitetura para objetos distribuídos. Um objeto CORBA é uma entidade abstrata que representa um conceito concreto do mundo real. É formado por dados e métodos que podem ser chamados por outros objetos CORBA, pois. 9. TCP/IP – Transmission Control Protocol / Internet Protocol SMTP – Simple Mail Transfer Protocol 11 KIF – Knowledge Interchange Format 12 SQL – Structured Query Language 10.

(24) Revisão Bibliográfica. 9. oferece um conjunto de atributos e operações que compõem a sua interface IDL13 (THURAISINGHAM, 2001), descrita em uma linguagem declarativa na qual interfaces de objetos são publicadas de acordo com a arquitetura CORBA. A função da IDL é esconder a implementação do objeto. Um cliente do objeto simplesmente usa essa interface para chamar os métodos, não importando a localização, plataforma ou detalhes de implementação. Um dos mais importantes componentes CORBA é o ORB14. O ORB é um middleware que estabelece a relação cliente/servidor entre objetos (FRAGA et al., 1997) (OBELHERO et al., 2001), (LUNG et al., 2000). O ORB implementa as requisições para os objetos remotos, provendo a interoperabilidade entre aplicações em diferentes máquinas em ambientes heterogêneos distribuídos. Isto quer dizer que o ORB provê mecanismos para fazer chamadas de procedimentos/funções/métodos de modo transparente, e receber respostas de objetos localizados local ou remotamente, sem que o cliente necessite ter conhecimento sobre os mecanismos usados para representar, comunicar com, ativar ou armazenar objetos. A Figura 2 ilustra a entrega de uma requisição de um serviço qualquer pelo ORB de um objeto cliente para a implementação do objeto.. Figura 2 – Troca de Mensagens Através do ORB. 13 14. IDL – Interface Definition Language ORB – Object Request Broker.

(25) 10. Revisão Bibliográfica. MMS – O MMS (Manufacturing Message Specification) (SISCO, 1995), (GUYONNET, 2001) (SISCO, 1998a) é um protocolo de mensagens padronizado internacionalmente para troca de dados e controle de informações entre dispositivos em rede e/ou aplicações de computadores. O MMS é independente da função da aplicação a ser executada (LEITÃO et al., 1996). O MMS tem por objetivo facilitar a integração em ambientes industriais heterogêneos e distribuídos e dispositivos programáveis, tais como, controladores lógicos programáveis, controladores de robôs, comando numéricos e outros equipamentos de controle de processos. Estes dispositivos podem ser de fabricantes diferentes e complexidade diversa. O MMS permite o acesso a dados e o controle de uma vasta gama de sistemas e equipamentos de chão de fábrica. A Figura 3 ilustra a troca de mensagens utilizando o MMS.. Figura 3 – Troca de Mensagens Através do MMS XML – O XML. (Extensible Markup Language). (MORRISON, 2000),. (PIMENTEL et al., 2000) é uma linguagem de “marcadores” (tags), tal como o HTML15, e está se tornando o padrão para o intercâmbio de dados entre aplicações complexas e distribuídas. A linguagem XML foi criada para descrever dados (metadados), mas não se preocupa em como estes dados serão visualizados. Um documento XML é um recipiente.

(26) 11. Revisão Bibliográfica. de informações para componentes reutilizáveis e customizáveis. Os tags XML são extensíveis, conseqüentemente podem ser definidos pelos desenvolvedores da aplicação com os nomes que melhor se adequam às aplicações. A estrutura das mensagens XML é previamente definida em um DTD16 para descrever formalmente a sua estrutura. Um DTD provê uma gramática que diz quais estruturas podem ocorrer, e em qual seqüência. As mensagens XML podem ser usadas como fontes de dados em documentos HTML, armazenar dados em arquivos XML e, principalmente, como formato para troca de informações entre aplicações. A Tabela 1 mostra um exemplo de DTD para um documento XML. Na seqüência, a Figura 4 mostra o documento XML referente a este DTD. Este documento XML representa as informações contidas em uma mensagem KQML “modelada” em XML. <!—DTD KQML DTD padrão para as mensagens KQML --> <!ELEMENT kqml (KQML)> <!ATTLIST kqml msg_id CDATA #REQUIRED> <!ELEMENT KQML (Performative)> <!ELEMENT Performative (sender, receiver, reply-with, reply-to, language, content, ontology, from?, to?)> <!ATTLIST Performative name CDATA #REQUIRED> <!ELEMENT sender (#PCDATA)> <!ELEMENT receiver (#PCDATA)> <!ELEMENT reply-with (#PCDATA)> <!ELEMENT in-reply-to (#PCDATA)> <!ELEMENT language (#PCDATA)> <!ELEMENT content (#PCDATA)> <!ELEMENT ontology (#PCDATA)> <!ELEMENT from (#PCDATA)> <!ELEMENT to (#PCDATA)>. Tabela 1 – Exemplo de DTD. 15 16. HTML – Hyper Text Markup Language DTD – Document Type Definition. in-.

(27) 12. Revisão Bibliográfica. Figura 4 – Documento XML 2.1.1 Agentes e Sistemas Multiagente Nesta seção será apresentada uma introdução sobre Agentes e Sistemas Multiagente, uma breve revisão sobre a linguagem de comunicação KQML, o protocolo MMS, a arquitetura CORBA e a linguagem de marcação XML, que servem como base deste trabalho. 2.1.1.1. Agentes. Agentes de softwares são uma “evolução” da Inteligência Artificial Distribuída 17. (DAI ) (BITTENCOURT, 1998), um ramo da Inteligência Artificial (AI18) (BITTENCOURT, 2001) e (RABUSKE, 1995), que está relacionada com a solução cooperativa de problemas dentro de um certo ambiente (LESSER, 1999). Os seus objetivos são resolver problemas de qualquer natureza, trabalhando com a solução de. 17 18. DAI - Distributed Artificial Intelligence AI – Artificial Intelligence – mariores detalhes sobre Inteligência Artificial ver em BITTENCOURT, 2001.

(28) Revisão Bibliográfica. 13. problemas distribuídos e a solução distribuída de problemas (FERBER, 1999), (ANDERL, 2000), (O’BRIEN, 2002). A solução de problemas distribuídos significa que os agentes podem estar distribuídos geograficamente e ter o mesmo nível de habilidade para auxiliar na solução, enquanto que na solução distribuída de problemas o conhecimento de como resolver o problema está distribuído entre os agentes, onde cada agente contribui com as suas habilidades individuais para a solução global (FERBER, 1999). Estas características ajudam os usuários em diversas tarefas distribuídas como monitoramento de sensores, manipulação de robôs ou mesmo na reconfiguração eficiente da planta de produção industrial. Um agente utiliza sua base de conhecimento embutida e aprendida sobre uma pessoa ou processo para tomar decisões e executar tarefas de um modo que realize as intenções do usuário. Existem diferentes definições para agentes, conforme Tabela 2: SINGH (1998). Um agente é um processo persistente que pode perceber o seu ambiente, argumentar e agir sozinho ou com outros agentes. Os conceitos chave para esta definição são interoperabilidade e autonomia.. WEINSTEIN (1999) Agentes são processos computacionais que operam sem a supervisão direta de humanos, e eles interagem com outros agentes para executar tarefas ou caso contrário perseguir os seus objetivos. ANDERL (2000),. Um agente é definido como um sistema ou um programa em um ambiente, que está atento ao seu ambiente e influencia no seu contexto sobre suas tarefas (uma possibilidade infinita) que são afetadas pelas influências no ambiente.. VIEIRA (2000). Um agente é uma entidade que reside em determinado ambiente onde interpreta dados percepcionais que refletem eventos e estados desse ambiente e que tem a capacidade de, de maneira autônoma, executar ações que produzem efeitos sobre o.

(29) 14. Revisão Bibliográfica. ambiente. O’BRIEN (2002). Os. agentes. são. sistemas. de. informação. baseados. em. conhecimento com finalidades especiais que executam tarefas específicas para os usuários. Tabela 2 – Definições de agentes Apesar da definição de Agente ser uma questão essencial, ela é uma das questões de menor consenso na comunidade científica de Inteligência Artificial Distribuída, pois a definição de agente é fortemente influenciada pelo domínio da aplicação e do problema, das formas de cooperação e dos seus níveis de autonomia (RABELO, 1997). Os aspectos essenciais que diferenciam um agente de outras entidades, tais como processos e objetos, são classificados por FERBER (1999) em: agentes de hardware e agentes de software, agentes estacionários e móveis, agentes persistentes e temporários (RABELO, 1998) e agentes reativos e cognitivos. Agentes de Hardware estão posicionados em um dado ambiente, normalmente “fechado”, são guiados por uma função de satisfação/sobrevivência e possuem recursos próprios (ferramentas, atuadores, etc.). Este tipo de agente capaz de perceber o seu ambiente, mas normalmente de uma forma muito limitada; raramente possui alguma representação do seu ambiente. O seu comportamento segue estritamente a sua função de satisfação, considerando os recursos que possui (FERBER, 1999). Os Agentes de Software estão posicionados em um dado ambiente, quase sempre “aberto”, são guiados por um conjunto (dinâmico) de objetivos e possuem recursos próprios. Estes agentes tem uma representação parcial dos outros agentes, isto é, conhecem o funcionamento parcial dos outros agentes; também possuem certas habilidades, tipicamente na forma de “serviços” que podem ser oferecidos aos demais agentes. O seu comportamento segue seus objetivos, considerando não apenas os recursos que possui, mas o que sabe dos outros agentes e o que recebe dos outros agentes. Eles podem se comunicar com os outros agentes (FERBER, 1999)..

(30) 15. Revisão Bibliográfica. Os Agentes Estacionários são agentes de software que, uma vez lançados em um dado ambiente computacional, não têm a habilidade de se moverem pela rede para outros ambientes e/ou computadores, já os Agentes Móveis são agentes de software que podem se mover para outros ambientes através da rede e, quando se movem, levam consigo seus “estados internos” (representação + memória) (FERBER, 1999). Os Agentes Persistentes são agentes de software que, uma vez lançados em um dado ambiente computacional, não são ou não podem ser excluídos do sistema. Os Agentes Temporários são agentes de software que tem uma vida finita, normalmente de duração igual ao tempo de uma dada tarefa, ou seja, tão logo eles finalizam sua “missão”, eles são excluídos do sistema (normalmente por eles próprios) (RABELO, 1998). A divisão entre agentes Reativos e agentes Cognitivos é considerada a mais importante divisão de classificação para agentes. O objetivo dos agentes reativos é “sobreviver”. O objetivo não é explicitamente representado.. Estes. agentes. possuem. ações. baseadas. em. estímulo-resposta,. conseqüentemente não raciocinam sobre o mundo, não têm “memória”, isto é, não armazenam informações sobre as ações já realizadas, e raramente interagem com outros agentes, e por isso agem reativamente. Esta classe de agentes tem como característica não se planejar para futuras ações. Agentes reativos trabalham com aplicações de baixa complexidade e normalmente estão em grande quantidade em um sistema. Quando trabalham em comunidade podem ter um comportamento global inteligente. Podem ser citados como exemplos para agentes reativos as aplicações na área de robótica móvel terrestre, aérea espacial, submarina, sistemas de transporte, sistemas de simulação (FERBER, 1999). O objetivo dos agentes cognitivos é “cooperar”. Estes agentes possuem objetivos explicitamente representados, ações baseadas em intenções (racionais), raciocinam sobre o mundo, têm memória e interagem com outros agentes e ambientes, e por isso, agem inteligentemente. Os agentes classificados como cognitivos possuem um plano de ações construído/adaptado dinamicamente com planejamento para futuras ações, também trabalham com atividades de complexidades média/alta e são encontrados, normalmente,.

(31) Revisão Bibliográfica. 16. em pequenas quantidades em um sistema. Os agentes cognitivos requerem sofisticados mecanismos de coordenação e protocolos de alto nível de suporte à interação. Podem ser citados como exemplos para agentes cognitivos as aplicações nas áreas de planejamento de sistemas; negociação em bolsa de valores; alocação de tarefas; tutores; controle de tráfego aéreo (FERBER, 1999). Levando-se em consideração as questões citadas anteriormente um agente pode ser definido como: “Um agente é um sistema computacional, posicionado em algum ambiente, que é capaz de agir com autonomia flexível visando atingir os objetivos para o qual foi projetado” (FERBER, 1999). O posicionamento refere-se aos termos em que o agente recebe sinais de entrada dos seus sensores vindos do ambiente do qual está localizado, e de que ele pode executar ações contextualizadas que modifiquem de alguma forma o ambiente. A autonomia quer dizer que o agente deve ter a possibilidade de agir sem a intervenção direta de usuários ou de outros agentes, e de que deve poder controlar totalmente suas ações e seu estado interno. A flexibilidade em termos de como o agente atua para atingir os seus objetivos. Envolve as capacidades de: •. Receptividade – Os agentes devem poder perceber o seu ambiente e. responder adequadamente às mudanças que ocorrem nele. •. Pró-Atividade – Os agentes não devem apenas agir em resposta ao seu. ambiente, mas devem agir oportunisticamente por iniciativa própria de acordo com seus objetivos. •. Sociabilidade – Os agentes devem poder interagir, quando apropriado,. com outras entidades do ambiente de forma a finalizar seus problemas e a ajudálas nas suas atividades. Esta definição permite caracterizar uma arquitetura para os agentes que compreende algumas funções:.

(32) Revisão Bibliográfica •. 17. Percepção – responsável por “sentir” o ambiente onde o agente está. imerso, filtrar a informação e produzir descrições do ambiente relevantes para o agente; •. Ação – responsável por provocar no ambiente os estímulos que o agente. pretende imprimir; •. Tomada de Decisões – concentra todos os aspectos cognitivos do agente. como o objetivo de cooperação, ações baseadas em intenções, planejamento para ações futuras e um comportamento individual. Algumas características adicionais habitualmente consideradas importantes para agentes segundo VIEIRA (2000): •. Mobilidade – característica interessante em muitos domínios, associada à. capacidade que o agente tem de se mover e de se inserir em ambientes diferentes. •. Continuidade – associada ao fato de o agente não ser, em princípio, uma. entidade computacional transitória, e sim, possuir uma característica de funcionamento contínuo. •. Adaptabilidade - corresponde à capacidade que o agente possui de se. adaptar aos seus ambientes. Embora estas características não tenham que aparecer em simultâneo em todos os agentes, elas abrangem um espectro vasto de requisitos considerados potencialmente úteis para os agentes. A arquitetura de agentes é concebida para permitir a um agente executar as tarefas para atingir os seus objetivos que contribuem para o sistema como um todo. Este agente deve ser capaz de participar em uma sociedade dirigida por alguns conjuntos de protocolos básicos. Esta participação requer que um agente se comunique com outros objetos (incluindo agentes) no seu ambiente e leve em consideração as responsabilidades que irão afetar diretamente ou indiretamente o ambiente. As linguagens para comunicação de agentes permitem agentes se comunicarem uns com os outros, os auxiliando em várias tarefas, dentre elas, sobre como particionar e executar trabalhos complexos. Conseqüentemente, a identificação e definição destes protocolos para a.

(33) Revisão Bibliográfica. 18. indústria são usadas como base para caracterizar um importante requisito de uma arquitetura de controle.. 2.1.1.2. Sistemas Multiagente. A tecnologia de sistemas multiagente tem surgido como uma alternativa para apoiar uma resolução cooperativa de sistemas distribuídos, apresentando vantagens se comparado com as arquiteturas monolíticas tradicionais. Sistemas Multiagente (Multiagent Systems) são sistemas baseados em agentes onde grupos de agentes trabalham juntos como um único sistema para integrar suas funcionalidades (NODINE, 1999). Eles consistem em grupos de agentes que operam entre si, cooperando na execução de várias tarefas de maneira distribuída visando suportar a capacidade de tomada de decisões de maneira descentralizada, a escalabilidade e a flexibilidade (RABELO et al. 2000b). Cada agente é normalmente um especialista em uma tarefa ou sub-tarefa particular. Em geral um sistema multiagente corresponde a “resolvedores de problemas em rede” que trabalham juntos para resolver problemas que estão além das suas capacidades individuais (RABELO et al., 2000a). Considera-se um Sistema Multiagente Industrial um sistema multiagente que está envolvido no ambiente industrial, tanto na troca de informações de alto nível, negociação entre fornecedores, clientes, etc., como no intercâmbio de informações dentro da indústria, dados que circulam desde o nível de chão de fábrica até os níveis de administração/gerência. Um sistema multiagente industrial usualmente requer o envolvimento de vários atores, por exemplo, os agentes propriamente ditos, os dispositivos industriais e seus serviços legados – quando existirem – e os esquemas utilizados para a troca/compartilhamento de informações, que variam desde protocolos de infraestrutura básica de comunicação até o suporte às aplicações, através do compartilhamento do conhecimento. Características dos Sistemas Multiagente.

(34) Revisão Bibliográfica. 19. Sistemas multiagente são caracterizados por suas habilidades para alcançar seus objetivos através de comunicação e colaboração entre si. Agentes em um sistema multiagente usualmente têm procedimentos simples que podem ser descritos por um conjunto de protocolos de comunicação. Sistemas multiagente são usualmente distribuídos – estar em várias máquinas e/ou plataformas e concorrentes – podem ser descritos como processos distribuídos que se comunicam entre si (WEN, 1999). São comumente associadas as seguintes características aos sistemas multiagente: •. Desenvolvimento Modular – os agentes permitem dividir os problemas. complexos, permitindo que na fase de desenvolvimento o foco seja na atividade mais simples de cada agente, possibilitando assim uma forma efetiva de controlar a complexidade. Esta característica permite também atingir níveis de escalabilidade elevados, dado que os agentes podem entrar e sair de uma comunidade à medida das necessidades sem ser necessário reiniciar todo o sistema. Um agente pode ser substituído por outro mais atual quando as necessidades de atualizações o exigem. •. Tolerância a Falhas – normalmente os agentes não interagem uns com os. outros de forma rígida, pré-definida, mas de forma oportuna, tirando proveito das circunstâncias e dos agentes presentes em cada momento. Em caso de falha de um ou vários agentes, é menos provável que o sistema entre em colapso se comparado com as normas tradicionais (menos flexíveis) de implementação de processos centralizados. •. Redução de Custos e Melhor Desempenho – os custos de software tendem. a diminuir dada a decomposição funcional inerente aos sistemas multiagente. Por outro lado, dado que se pode explorar o paralelismo, podem ser utilizados muitos processos simples e mais baratos em vez de alguns muito caros. A exploração do paralelismo também possibilita melhoria no desempenho. Vantagens de Sistemas Multiagente na Indústria A aplicação de sistemas multiagente baseado no conceito de inteligência artificial distribuída é uma abordagem de controle promissora para a próxima geração industrial..

(35) Revisão Bibliográfica. 20. Os sistemas são compostos de agentes heterogêneos distribuídos e fazem uso de mecanismos de controle flexíveis para criar e coordenar a sociedade de agentes resultantes (USHER, 2000). Esta sociedade de agentes provê uma arquitetura que possua a capacidade de beneficiar a indústria aumentando a confiabilidade – a habilidade do sistema operar continuamente em casos de falhas dos sistemas; fácil manutenção – possibilidade de mudanças e extensibilidade: a habilidade de mudar os elementos dentro do sistema facilmente ou adicionar um novo componente no sistema; flexibilidade – reconfiguração e adaptabilidade: habilidade de aumentar ou expandir as suas funcionalidades para se manter atualizado com as mudanças tecnológicas; recuperação de erros e estabilidade do sistema, como também provendo meios para planejamento em tempo real. Nos domínios de automação e manufatura (industriais), um agente é um módulo de software que representa objetos de manufatura e automação como CNCs19 de máquinas, CLPs20, robôs e sensores. Problemas Inerentes aos Sistemas Multiagente Ao se escolher a abordagem multiagente para a solução de um determinado problema/tarefa é importante levar em consideração alguns aspectos inerentes os sistemas multiagente, como por exemplo, a formulação, descrição, decomposição e alocação de problemas, e agrupamento de resultados entre um grupo de agentes que podem estar distribuídos ou não. Os agentes devem estar capacitados à comunicação, permitindo a troca de informações e o aumento da eficiência nos “serviços” prestados pelo grupo; deve-se levar em consideração as linguagens e protocolos de baixo e alto níveis que serão usadas. Outra preocupação importante para decidir é o que e quando comunicar e assegurar que os agentes vão agir de forma coerente nos vários tipos e níveis de ações/interações, acomodando os efeitos de decisões locais de outros agentes e evitando interações indesejadas. Deve-se capacitar cada agente a representar e raciocinar acerca das ações, planos/intenções e conhecimento dos outros agentes, de forma a agir. 19 20. CNC – Comando Numérico Computadorizado CLP – Controlador Lógico Programável.

(36) Revisão Bibliográfica. 21. coordenadamente com eles, buscando soluções sobre os estados determinantes de início e finalização de tarefas. Os agentes devem ter a capacidade de reconhecer e lidar com pontos de vista antagônicos e conflitos de planos entre os vários agentes que tentam coordenar suas ações, visando controlar e agir diante de um comportamento global caótico do sistema (WOOLDRIDGE, 1998a), (WOOLDRIDGE, 1998b). 2.1.2 Ontologias Segundo LABROU et. Al (1999b), NOY (2002), CHANDRA et al. (2000) e SOUZA et al. (2000), todo agente incorpora alguma visão do domínio que ele está aplicado. O termo técnico para este corpo de conhecimento de fundo é ontologia. Mais formalmente, uma ontologia é uma conceitualização particular de um conjunto de objetos, conceitos e outras entidades sobre qual o conhecimento é expressado, assim como os relacionamentos existentes entre eles (BOKMA, 2000). Uma ontologia define um vocabulário comum para aqueles que necessitam compartilhar informações de um determinado domínio (neste caso, dispositivos de chão de fábrica), e assim, reduzir ou eliminar a confusões conceituais e terminológicas. As ontologias têm se estabelecido como um método poderoso para o compartilhamento de conhecimento, e um grande número de aplicações tem se beneficiado do uso delas como meio de alcançar combinação semântica entre sistemas agentificados heterogêneos e distribuídos (LUIGI, 2002). Uma representação adequada do conhecimento não deve perder qualquer conhecimento útil, nem criar redundâncias, possibilitando a transformação do conhecimento, abstrações e compartilhamentos (HEREDIA et al., 1996). Existem vários motivos para o uso de ontologias, dentre estes, os que merecem maior destaque são (NOY, 2002), (CHANDRA et al., 2000), (SOUZA et al. 2000): •. Compartilhar o entendimento comum da estrutura de informação entre os. agentes ou mesmo entre pessoas. Pode-se considerar que este é o maior objetivo no desenvolvimento de ontologias. Quando os agentes compartilham e publicam suas informações, outros agentes podem extrair e agregar informações relevantes à.

(37) Revisão Bibliográfica. 22. sua área de atuação. Assim é possível agregar informações dos agentes para responder as dúvidas dos “usuários” – agentes ou não – ou na entrada de dados para outras aplicações. •. Possibilitar o reuso do conhecimento, um outro grande esforço por trás das. pesquisas mais recentes sobre ontologias. Se um grupo de pesquisadores desenvolve uma ontologia em detalhes, outros pesquisadores podem simplesmente reusar este “conhecimento” nos seus domínios. •. Separar o domínio do conhecimento do domínio operacional é outro uso. comum das ontologias. É possível a configuração de uma tarefa ou um produto independente dos produtos ou dos componentes usados. É possível, por exemplo, desenvolver uma ontologia para descrever o domínio de como proceder no armazenamento de vinhos e desenvolver um algoritmo para executar uma tarefa de armazenar estes vinhos. Sendo uma ontologia, o algoritmo de como armazenar os vinhos pode ser utilizado também com o domínio de outras bebidas, como por exemplo, sucos e refrigerantes, ou outro qualquer, pois ele é independente do conhecimento relativo ao produto. É necessário lembrar que uma ontologia é um modelo de realidade do mundo e os conceitos na ontologia devem refletir esta realidade, proporcionando respostas para que os agentes, ou qualquer outra entidade interessada em enviar e/ou obter informações dos dispositivos industriais, saibam como proceder neste processo. A representação dos equipamentos industriais em uma CFM tem por objetivo disponibilizar todos os dados técnicos sobre os equipamentos, quais as funções que podem ser executadas por eles e as características das máquinas. No contexto do compartilhamento de conhecimento, ontologias são especificações na forma de definições de um vocabulário representativo. Um simples caso seria um tipo de hierarquia, especificando as classes e suas relações. Um banco de dados relacional também serve como ontologia através das especificações das relações que podem existir nas tabelas de dados compartilhadas e nas regras de integridade que oferecem suporte.

(38) Revisão Bibliográfica. 23. Uma ontologia necessariamente vincula ou inclui algum tipo de “visão geral” referente a um domínio determinado. Esta “visão geral” é freqüentemente concebida como um conjunto de conceitos (por exemplo: entidades, atributos, processos), suas definições e suas inter-relações. Isto se chama uma conceitualização (conceptualisation). Uma conceitualização pode estar concretamente implementada, como por exemplo, em um componente de software, ou pode ser abstrata, definida em linguagem natural de uma forma não formal (MONTESCO, 2001). Uma conceitualização pode tomar uma variedade de formas, mas necessariamente ela incluirá um vocabulário de termos e alguma especificação dos seus significados (por exemplo: definições). A maneira como estes vocabulários são criados e especificados tem graus de formalidade que variam consideravelmente (MONTESCO, 2001). •. Altamente informal: expresso livremente em linguagem natural.. •. Semi-informal: expresso em uma forma restrita e estruturada em. linguagem natural. •. Semi-formal: expressa em uma linguagem artificial definida formalmente.. •. Rigorosamente formal: termos meticulosamente definidos com uma. semântica formal, teoremas e provas de tais propriedades como completitude e boa qualidade. 2.1.3 KQML como uma Linguagem de Comunicação Em soluções baseadas em sistemas distribuídos, como é o caso dos sistemas multiagente, os aspectos de comunicação e integração assumem fundamental importância. A comunicação é importante pelo fato das entidades envolvidas devem poder trocar informações entre si. A integração é importante pelo fato das entidades serem completamente heterogêneas entre si e as informações estarem armazenadas em formatos igualmente heterogêneos (RABELO, 1997). Desta forma, para haver comunicação efetiva é necessário dialogar em protocolos comuns e ter as informações de formas acessível..

Referencias

Documento similar

Tentarei, no entanto, fazer uma breve síntese, com sugestões de trabalho e hipóteses interpretativas, tomando como exemplos alguns dos povoados do interior do concelho, que se

These agents use their local information as well as a bio-inspired identity discrimination process, to select only those messages that are relevant for each agent to solve the

Portanto, é legítimo ter por hipótese a existência de uma Socio- logia da Tradução no sentido estrito da palavra, e tentar delimitar o escopo de uma abordagem sociológica útil

Na hipótese de o princípio da especialidade do fim constituir tão-somente uma manifestação da necessidade de respeito pelo fim das organizações, e não uma consequência

A atenção é um fator essencial no processamento de enunciados em um dado discurso, enquanto a intenção desempenha um papel importante na explicação de como se estrutura o

El proyecto ALTER-NATIVA: “Referentes curriculares con incorporación tecnológica para facultades de educación en las áreas de lenguaje, matemáticas y ciencias,

Explique que la NASA tiene previsto enviar una nave espacial llamada Orión a la órbita de la Luna en febrero de 2022 y Snoopy será un pasajero que servirá de indicador de

Nesse sentido, busca-se investigar a relação entre o contexto de trabalho e o adoecimento dos profissionais de enfermagem que trabalham em UTI, procurando