5.1 Textual analysis
5.1.1 Law 'On Government Cleansing' No 4359 (Lustration Law)
5.1.1.1 Tools
Figura 2.2 – Diagrama de classes representando associações entre diferentes classes do padrão CIM.
Fonte: (MCMORRAN, 2007)
A XML não é uma linguagem de ontologia por sí mesma, mas pode ser utilizada para definir ontologias simples (WOOLDRIDGE, 2009). Na Figura 2.3 é mostrada uma representação em XML da classe Breaker definida pelo padrão CIM. Por meio das tags XML é possível obter informações úteis a respeito de um componente do SEP. As tags são representações de um vocabulário controlado que provêem uma ontologia simples, mas de grande utilidade.
2.3
Comunicação entre Agentes
A comunicação ocupa um papel central em qualquer SMA, além disso, para que dois agentes possam se comunicar é necessário que estes agentes entendam as mensa- gens transmitidas, tanto no nível de semântica (ontologia), quanto no nível de sintaxe (protocolo).
Com o intuito de padronizar alguns aspectos dos SMA, entre eles a comunicação, o
Institute of Electrical and Electronics Engineers (IEEE) decidiu criar uma organização
para cuidar de todos os detalhes relacionados à padronização de SMA, e decidiu chamá-la de Foundation for Intelligent Phisical Agents (FIPA), que está vinculada à Sociendade de Computação do IEEE.
A FIPA tem por objetivo central definir padrões para tecnologias baseadas em siste- mas multiagentes, proporcionando interoperabilidade entre os SMA e outras tecnologias (FIPA, 2015). A FIPA foi originalmente fundada em 1996 por um grupo de organizações acadêmicas e industriais que tinham como objetivo definir uma série de padrões e especifi- cações que permitissem a usabilidade desses sistemas em uma ampla gama de aplicações (BELLIFEMINE; CAIRE; GREENWOOD, 2007).
2.3.1. FIPA-ACL 23
Figura 2.3 – Representação em XML da classe Breaker definida no padrão CIM, como exemplo de estrutura ontológica. <?xml version="1.0" ?> <Breaker> <Phases> <Phase>A</Phase> <Phase>B</Phase> <Phase>C</Phase> </Phases> <ampRating> <multiplier>1</multiplier> <unit>A</unit> <value>800</value> </ampRating> <inTransitingTime> <multiplier>m</multiplier> <unit>s</unit> <value>300</value> </inTransitingTime> <normalOpen>False</normalOpen> </Breaker>
Fonte: Própria do autor.
A FIPA define padrões relacionados a três questões centrais em SMA: comunicação entre agentes, gerenciamento de agentes, e arquitetura dos agentes. Nas subseções que seguem são apresentados os principais conceitos referentes à estrutura de comunicação e gerenciamento de agentes definidos pela FIPA.
2.3.1
FIPA-ACL
A agent communication language (ACL) definida pela FIPA é bastante similar à
knowledge query and manipulation language (KQML), ou seja, as mensagens ACL podem
ser interpretadas como objetos (em termos de linguagens orientadas a objetos). Mensagens ACL possuem uma performativa, que pode ser pensada como uma classe de mensagem, e uma série de parâmetros, que são os atributos do objeto mensagem (WOOLDRIDGE, 2009).
As performativas são representadas por rótulos identificadores padronizados de cada mensagem que é trocada entre os agentes, e fornecem uma pré-descrição acerca do objetivo do ato comunicativo. Por exemplo, quando um agente quer informar o resultado de alguma tarefa para outro agente, este pode utilizar uma mensagem com performativa
2.3.1. FIPA-ACL 24
mensagem com performativa CALL FOR PROPOSES (CFP). O padrão ACL possui 22 atos comunicativos, alguns dos mais utilizados, juntamente com sua descrição, estão expostos na Tabela 2.1.
Tabela 2.1 – Performativas definidas pela FIPA.
Atos de comunicação definidos pela FIPA
Descrição
Accept Proposal Ato de aceitar uma proposta submetida anteriormente. Agree Ato de aceitar a realização de uma ação.
Call for Proposal Ato de chamar por propostas para a realização de uma determinada ação.
Failure Ato de informar a outro agente que uma ação foi atendida, mas que houve falha em sua execução.
Inform O remetente informa ao receptor que uma dada proposição é verda- deira.
Not Understood O remetente informa ao receptor que percebeu a realização de uma ação por parte do receptor, mas que não compreendeu a realização daquela ação.
Propose Ato de submeter uma proposta, para a realização de uma ação. Refuse Ato de recusar a execução de uma ação dada, explicando os motivos
da recusa.
Reject Proposal Ato de rejeitar uma proposta para a realização de uma ação durante uma negociação.
Request O remetente requisita ao receptor a realização de uma ação. Subscribe O ato de requisitar a notificação do valor de uma referência, para o
remetente, sempre que este valor for alterado. Fonte: (FIPA00037, 2004)
Na Tabela 2.2 são mostrados os parâmetros das mensagens ACL e seus respectivos significados. Por meio dos parâmetros de uma mensagem é possível implementar filtros que selecionam determinadas mensagens para um comportamento específico de um agente. Por exemplo, para tratar mensagens enviadas exclusivamente de um agente, basta que se crie uma filtro que irá acessar o parâmetro sender da mensagem e verificar se este parâmetro, condiz com os valores predefinidos no filtro criado para esta mensagem. No caso do filtro retornar valor verdadeiro, então o comportamento associado ao filtro é executado, caso contrário, nada é feito.
Na Figura 2.4 é mostrado um exemplo de uma mensagem ACL no formato de string, com seus parâmetros e valores, confome especificado em (FIPA00070, 2004).
Nem sempre o formato mostrado na Figura 2.4 é apropriado, ou conveniente, para a troca de mensagens entre agentes, ou entre agentes e aplicações. Nesse caso as mensagens no padrão ACL, podem ser representadas por meio de uma estrutura xml, um padrão universalmente aceito e adotado, sem perda nenhuma de significado. A mesma mensagem