Pedro is a subscription/notification system based on Prolog technology. The main component of the system is the Pedro server that is responsible for managing subscriptions from clients and for forwarding client notifications to clients with matching subscriptions.
From the clients point of view subscriptions and notifications are strings that represent Prolog terms. The server parses these strings into Prolog terms and treats subscriptions in a similar way to Prolog clauses and notifications in a similar way to Prolog queries to be matched against subscriptions.
Readers unfamiliar with Prolog are referred to the following books.