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.
['Peter Robinson', 'Keith L. Clark']
Pedro: a publish-subscribe server using Prolog technology