While a filter ismatched against a single notification based on the notification’s attribute values, a pattern is matched against one or more notifications based on both their attribute values and on the combination they form. At its most generic, a patternmight correlate events according to any relation. For example, the programmer of a stockmarket analysis toolmight be interested in receiving price change notifications for the stock of one company only if the price of a related stock has changed by a certain amount. Rich languages and logics exist that allow one to express event patterns [Mansouri-Samani and Sloman 1997]. In SIENA we do not attempt to provide a.