• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
The KNITTER System: KQML for Erlang
 

The KNITTER System: KQML for Erlang

on

  • 485 views

KQML New Implementation, This Time in Erlang.

KQML New Implementation, This Time in Erlang.

Presentation at ACAI 2001.

Statistics

Views

Total Views
485
Views on SlideShare
480
Embed Views
5

Actions

Likes
0
Downloads
6
Comments
0

3 Embeds 5

http://www.slideshare.net 2
http://www.slashdocs.com 2
http://www.linkedin.com 1

Accessibility

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment
  • Esto es el sumario

The KNITTER System: KQML for Erlang The KNITTER System: KQML for Erlang Presentation Transcript

  • The KNITTER System: KQML for Erlang Juan A. Suárez Romero Amparo Alonso Betanzos Bertha Guijarro Berdiñas Laboratory for Research and Development in Artificial Intelligence Department of Computer Science, University of A Coruña, Spain
  • Outline
    • Introduction
    • KNITTER Architecture
    • Summary and Future Work
  • Introduction
    • To develop a MAS, we need (among others):
      • Implementation language: Java
        • Multiplatform
      • Agent communication language: KQML
        • Independent of implementation language
        • Extensible
  • Introduction
    • Drawbacks
      • Implementation language: Java
        • Inefficient on complex systems
      • Agent communication language: KQML
        • Lack of formal specification  interoperability
  • Introduction
    • Proposal: KNITTER
      • KQML New Implementation, This Time in Erlang
      • Implementation language: Erlang
        • Soft real time, multiplatform, concurrent, distributed, ...
      • Allows interoperability with other KQML implementations
        • Using interchangeable modules
  • KNITTER Architecture (I) KNITTER CONTROL Protocol Space Conversation Space Conversation Manager Utilities Agent Name Service (ANS) Conversation Manager Conversation Manager Transport Protocol Transport Protocol Message Converter Message Converter Message Converter
  • KNITTER Architecture (I) KNITTER CONTROL Protocol Space Conversation Space Conversation Manager Utilities Agent Name Service (ANS) Conversation Manager Conversation Manager Modules are independent Message Converter Message Converter Message Converter Transport Protocol Transport Protocol
  • KNITTER Architecture (I) KNITTER CONTROL Protocol Space Conversation Space Conversation Manager Utilities Agent Name Service (ANS) Conversation Manager Conversation Manager Some others can be added or changed according with the needs Message Converter Message Converter Message Converter Transport Protocol Transport Protocol
  • KNITTER Architecture (II) Conversation Manager KNITTER CONTROL Protocol Space Conversation Space Conversation Manager Utilities Agent Name Service (ANS) Conversation Manager Conversation Manager Message Converter Message Converter Message Converter Transport Protocol Transport Protocol
  • KNITTER Architecture (II) Conversation Manager
    • KQML defines messages, not how to organize it
    • A conversation allows for a new level of abstraction
    • In KNITTER we need to create explicitly a conversation in order to interoperate with other agent
    • There are several forms to define a conversation
      • Petri Nets, State Automates, etc.
      • We may plug-in several types of conversations
  • KNITTER Architecture (III) Control Module KNITTER CONTROL Protocol Space Conversation Space Conversation Manager Utilities Agent Name Service (ANS) Conversation Manager Conversation Manager Message Converter Message Converter Message Converter Transport Protocol Transport Protocol
  • KNITTER Architecture (III) Control Module
    • The core of the system
    • Several functions
      • Enroutes the messages between conversations and transport protocols
      • Creates and activates new conversations
      • Activates transport protocols
      • Manages errors
  • KNITTER Architecture (IV) Transport Protocol KNITTER CONTROL Protocol Space Conversation Space Conversation Manager Utilities Agent Name Service (ANS) Conversation Manager Conversation Manager Transport Protocol Transport Protocol Message Converter Message Converter Message Converter
  • KNITTER Architecture (IV) Transport Protocol
    • Defines the low-level protocol to exchange messages
    • Necessary to use the same protocol in order to interoperate
    • As conversation managers, it is a plug-in module
  • KNITTER Architecture (V) Message Converter KNITTER CONTROL Protocol Space Conversation Space Conversation Manager Utilities Agent Name Service (ANS) Conversation Manager Conversation Manager Message Converter Message Converter Message Converter Transport Protocol Transport Protocol
  • KNITTER Architecture (V) Message Converter
    • Defines the low-level message format to use with the transport protocols
    • To disengage from transport protocols allow greater flexibility
    • As transport protocols, same format is necessary in order to interoperate
  • KNITTER Architecture (VI) Agent Name Service KNITTER CONTROL Protocol Space Conversation Space Conversation Manager Utilities Agent Name Service (ANS) Conversation Manager Conversation Manager Message Converter Message Converter Message Converter Transport Protocol Transport Protocol
  • KNITTER Architecture (VI) Agent Name Service
    • KQML assigns symbolic names to agents
    • We need a mapping between this names and the real information
      • In which host is agent?
      • In which port?
      • Which protocol uses?
    • There are several forms to manage this mapping: files, KNS, LDAP, …
      • We can change the ANS for a more suitable one
  • KNITTER Architecture (VII) Utilities KNITTER CONTROL Protocol Space Conversation Space Conversation Manager Utilities Agent Name Service (ANS) Conversation Manager Conversation Manager Message Converter Message Converter Message Converter Transport Protocol Transport Protocol
  • KNITTER Architecture (VII) Utilities
    • Several services to users
      • For example, offers functions to simply manage the messages
  • Summary and Future Work
    • We have presented the KNITTER system
      • Allows the construction of KQML-based agents in Erlang, a language with interesting features to develop complex multi-agent systems
      • Allows the interoperation with other KQML implementations
    • KNITTER is still a work in progress
      • Transport protocols, messages converters, ANS and conversation managers will be developed to interoperate with other implementations (Jackal)