Pedro: a publish/subscribe server using Prolog technology
Peter Robinson, Keith Clark · Software Practice and Experience · 2010
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.