Preprocessor Usage Guidelines

Keep in mind several guidelines for using preprocessors.

Consuming events in a preprocessor is allowed
 It can be useful in some applications and reduces the flow of messages into the Rete network. Such events are acknowledged immediately (if they require acknowledgement).
You can only modify events before they are asserted into the Rete network
 Rule evaluation depends on event values at time of assertion, so values can be changed only before assertion, that is, in the preprocessor.
You can create concepts but not modify existing concepts
 Modifying concepts that already exist in the system could disrupt an RTC. You can modify concepts that were created in the same preprocessor, however. You cannot add a existing concept as a child to a newly created concept in preprocessor, as it modifies the existing concept.
Note: Concepts created in a preprocessor are not asserted until the RTC starts. So, for example, after one event preprocessor ends and before its RTC begins, no other preprocessor can access the new concept.