Knowledge Query and Manipulation Language
Knowledge Query and Manipulation Language | |
---|---|
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
- ↑ 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
- ↑ 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
- ↑ 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
- ↑ 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
- ↑ 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
- ↑ 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