Standard object-oriented languages do not provide language support for
modeling changing collections of interdependent objects. We propose t
hat R++, an integration of the rule and object-oriented paradigms, pro
vides a mechanism for easily implementing such models. R++ extends C+ by adding a new programming construct called the path-based rule. Suc
h data-driven rules are restricted to follow pointers between objects,
and are like ''automatic methods'' that are triggered by changes to m
onitored objects. Path-based rules encourage a more abstract level of
programming, and unlike previous rule integrations, are not at odds wi
th the object-oriented paradigm and offer performance advantages for n
atural applications.