Pedro: a publish-subscribe server using Prolog technology

  • Authors:
  • Peter J. Robinson;Keith L. Clark

  • Affiliations:
  • School of Information Technology and Electrical Engineering, The University of Queensland, Brisbane, Qld., Australia;Department of Computing, Imperial College, London, U.K.

  • Venue:
  • Software—Practice & Experience
  • Year:
  • 2010

Quantified Score

Hi-index 0.00

Visualization

Abstract

Pedro is a TCP-IP publish-subscribe server implemented in C that uses Prolog technology for testing subscriptions against notifications. It provides both content- and address-based routing of messages between processes. An inter-process message M is a string representation of a Pedro term (usually but not necessarily a variable free term). A subscription is essentially a message template T paired with a Pedro query that is used to restrict the allowed values for variables in T. Pedro automatically forwards any notification it receives to all processes that have a current subscription that covers the notification. A Pedro connected process can optionally register a name with Pedro giving the process a unique Pedro handle. Pedro handles can be used to send peer-to-peer messages between processes. In this paper we illustrate the use of Pedro and describe its implementation. Copyright © 2010 John Wiley & Sons, Ltd.