Title :
R++: adding path-based rules to C++
Author :
Litman, Diane ; Patel-Schneider, Peter F. ; Mishra, Anil ; Crawford, James ; Dvorak, Daniel
Author_Institution :
Res. Dept., AT&T Labs., Florham Park, NJ, USA
Abstract :
Object-oriented languages and rule-based languages offer two distinct and useful programming abstractions. However, previous attempts to integrate data-driven rules into object-oriented languages have typically achieved an uneasy union at best. R++ is a new, closer integration of the rule-based and object-oriented paradigms that extends C++ with a single programming construct, the path-based rule, as a new kind of class member. Path-based rules-data-driven rules that are restricted to following pointers between objects-are like automatic methods that are triggered by changes to the objects they monitor. Path-based rules provide a useful level of abstraction that encourages a more declarative style of programming and are valuable in object-oriented designs as a means of modeling dynamic collections of interdependent objects. Unlike more traditional pattern-matching rules, path-based rules are not at odds with the object-oriented paradigm and offer performance advantages for many natural applications
Keywords :
C++ language; knowledge based systems; logic programming; logic programming languages; object-oriented programming; pattern matching; C++ language; R++ language; data-driven rules; declarative programming; object-oriented designs; object-oriented languages; path-based rules; pattern-matching rules; pointers; programming abstractions; rule-based languages; Computerized monitoring; Dynamic programming; Object oriented modeling; Object oriented programming;
Journal_Title :
Knowledge and Data Engineering, IEEE Transactions on
DOI :
10.1109/TKDE.2002.1000347