Check out the new USENIX Web site. next up previous
Next: Accessors Up: Reflection-Based Publish/Subscribe Previous: Reflection-Based Publish/Subscribe


Roughly spoken, the application programmer defines conditions on message objects, by specifying methods through which these objects should be queried, along with expected values that are compared to the values returned by invoking these methods.

Subscription patterns are expressed through an API, which inherently expresses a subscription grammar: by instantiating and combining filter objects, syntax errors violating the grammar are detected by the JAVA compiler. Thanks to the structural reflection of message objects, type errors are avoided by verifying the methods specified by the application.

In the following, we present our customizable filter objects, called conditions. These enable the dynamic definition of conditions on message objects, and are realized in a general manner through accessors, which we introduce first.

Patrick Eugster