Knowledge Query and Manipulation Language

Origem: Wikipédia, a enciclopédia livre.
(Redirecionado de KQML)
Knowledge Query and Manipulation Language
Extensão do arquivo
Desenvolvido por Tim Finin, Jay Weber
Lançamento 1994[1]
Tipo de formato Inteligência Artificial
Página oficial http://www.cs.umbc.edu/csee/research/kqml/

KQML, (Knowledge Query and Manipulation Language), é uma linguagem e protocolo de comunicação entre agentes e sistemas baseados em conhecimento.[2] KQML foi concebida como um formato de mensagem e um protocolo de tratamento de mensagens de suporte, em tempo de execução, ao compartilhamento de conhecimentos entre agentes.[3]

Ela foi desenvolvida no início de 1990 sendo parte do DARPA knowledge Sharing Effort,[4] que teve como objetivo desenvolver técnicas para a construção de bases de conhecimento em larga escala que são compartilháveis ​​e reutilizáveis. Embora originalmente concebida como uma interface para sistemas baseados em conhecimento, logo foi reaproveitada como uma linguagem de comunicação entre agentes.

O trabalho na KQML foi liderado por Tim Finin da Universidade de Maryland, Baltimore County e Jay Weber de EITech e envolveu contribuições de muitos pesquisadores.

KQML foi substituída pela FIPA-ACL.[4]

Mensagens em KQML são chamadas performativos (em inglês, performatives) que é um termo proveniente da teoria de atos da fala.[5] Existem vários tipos de atos da fala que incluem:

  • directivas (directives) - que são comandos ou requisições.
  • representantes (representatives) - que afirmam fatos e crenças.
  • comissivas (commissives) - como promessas ou ameaças.

A linguagem fornece um grande conjunto de primitivas através das quais os agentes podem contar fatos a outros agentes, avaliar expressões, para outros agentes ou requisitar serviços. Exemplos de primitivas são: tell, evaluate, subscribe e next (para obter respostas de forma sequencial).[6]

O formato de mensagem KQML e o protocolo pode ser usado para interagir com um sistema inteligente, quer por um software aplicativo, ou por outro sistema inteligente.

Exemplos de mensagens KQML[editar | editar código-fonte]

(tell    :sender       Ricardo
         :receiver     Ana_Beatriz
         :in-reply-to  msg777
         :ontology     Bioinformatica
         :language     Prolog
         :content      "virus(H1N2, InfluenzaA)" )
(ask-one :sender       Ricardo
         :content      (valor = produto.getValor())
         :receiver     servidor
         :reply-with   estoque
         :language     Java
         :ontology     BASE-ALFA )


Referências

  1. Caglayan, Alper; Harrison, Colin (1997). Agent sourcebook. A complete guide to Desktop, Internet, and Intranet Agents (em inglês). New York: John Wiley & Sons. pp. 194–195. ISBN 0-471-15327-3 
  2. Weiss, Gerhard (2000). Multiagent Systems. A modern approach to Distributed Artificial Intelligence (em inglês). Cambridge: MIT. 619 páginas. ISBN 0-262-23203-0 
  3. Bradshaw, Jeffrey M. (editor); Finin, Tim; Labrou, Yannis; Mayfield, James (1997). «14 - KQML as an Agent Communication Language». Software Agents (em inglês). Menlo Park: MIT. p. 291-316. 480 páginas. ISBN 0-262-52234-9 
  4. a b Murch, Richard; Johnson, Tony (1999). Intelligent Software Agents (em inglês). New Jersey: Prentice Hall. p. 79-84. ISBN 0-13-011021-3 
  5. Bigus, Joseph P.; Bigus, Jennifer (2001). Constructing Intelligent Agents Using Java (em inglês) 2 ed. New Jersey: John Wiley & Sons. 408 páginas. ISBN 0-471-39601-X 
  6. Huhns, Michael N(editor); Singh, Munindar, P. (editor) (1998). «1 (Agents and Multiagent Systems: Themes, Approaches and Challenges». Readings in Agents (em inglês). San Francisco: Morgan Kaufmann. 522 páginas. ISBN 1-55860-495-2 

Ligações externas[editar | editar código-fonte]