At runtime, one or more nodes (JVMs) running one or more TIBCO BusinessEvents
inference agents process the incoming events using a Rete network as the inferencing engine, and a set of rules that are triggered by conditions in incoming events. One or more event stream processing query agents can query incoming events.
In addition, when TIBCO BusinessEvents Event Stream Processing software is used, a third layer is added: queries and pattern matching. A query agent enables visibility into the event stream and cache data. Pattern matching features enable actions to be taken on recognition of a pattern of events, or failure to complete a pattern of events.
Information from enterprise applications and other sources flows into TIBCO BusinessEvents through channels as messages. Messages represent the events that TIBCO BusinessEvents processes based on event definitions (event types). Events can be filtered (ignored), preprocessed into concepts or cached concepts, or asserted into the rule engine's working memory.
In an inference agent, all the rules whose conditions match information in the events (as well as concepts, if specified in the rule conditions) are assembled into a
rule agenda and the first rule executes. If a rule successfully executes, its rule actions create and modify the objects in working memory. The rule agenda is derived from an internal runtime memory structure known as a
Rete network (because it uses a derivative of the
Rete algorithm).
TIBCO BusinessEvents rule engine is a forward-chaining inferencing engine. Every time the facts (concepts, score cards, and events) in its working memory change — due to rule actions or the arrival of new events — the inferencing engine updates the rule agenda. As a result, new rules are available to execute while others are now unavailable. The selection of which rule to execute first from a choice of several is called
conflict resolution. The agenda process repeats until there is no more new information to process. This is known as RTC, or
run to completion. See
Understanding Conflict Resolution and Run to Completion Cycles for more details.