Abstract | Content-based publish/subscribe systems mediate between publishers of information and subscribers who sign up to receive information, by routing messages across the network from their source of publication to the point of subscription using the message content. The routing information is derived from the subscriptions. One particular problem faced by content-based publish/subscribe systems is how to turn the specification of complex subscriptions into routing information that can be distributed across the network. In this paper we describe a new declarative language for specifying composite events based on the typed /spl lambda/-calculus. Composite events are represented in this language by curried functional expressions, i.e., functions that can be called with less arguments than parameters and which return as a result an updated version of the function with the remaining parameters. Events which are components of the composite event are passed as arguments to such expressions, and the resulting evaluation produces a functional expression which represents the current state of the composite event. A property of this language, derived from a property of the /spl lambda/-calculus, is that results can be converted back to the expressions from which they were produced. We exploit this property to show how an expression representing a composite event can be converted into an expression from which routing information can be derived. |
---|
Keywords | Distributed object management, information dissemination, lambda calculus, composite events, content-based publish/subscribe systems, declarative language, functional expressions, publishers, subscribers, typed Lambda-calculus |
---|