Middleware Systems Research Group, University of Toronto, Canada


7.4 PADRES Router

TODO: describe the router factory and how to create different router types.

TODO: how to add functionalities to pre-processor and post-processor.

7.4.1 Matching Engine

TODO: describe Rete matcher.

TODO: describe the PRT and SRT

TODO: describe our implementation of Rete network. Node structure, Test classes, variable handling, etc.

NewRete vs. Jess

PADRES originally used Jess library (a rule-based engine implementing Rete algorithm) to produce the matching engine. However, due to licensing issues MSRG decided to implement its own matching engine, which is called NewRete. Presently, the code base allows to choose either one of these matching engine to be invoked with PADRES by specifying the desired engine at the "padres.routerfactory" option in the broker configuration file. However, since the Jess library is not included in the code base released to the public, if "Jess" option is chosen for the "padres.routerfactory," an exception will be thrown at run-time stating "Jess is not supported." In addition to choosing the "Jess" option for the configuration, you have to download the Jess library on your own and place the jess.jar file in the <project_dir>/lib/ directory in order to use the Jess library with the PADRES code base; no other changes are necessary. Note that, only version 6.0 of the Jess library is tested with PADRES and most probably you have to buy a license to use this.