1. A method, comprising: receiving a fact in an inference engine and storing the fact in an input queue; retrieving the fact from the input queue and routing the fact to one of one or more schedule queues on the basis of a processing schedule for the fact and a condition, wherein the condition is associated with the schedule queue and is part of a rule; retrieving the fact from the schedule queue in accordance with the processing schedule for the fact and routing the fact to a queue associated with a rule executer, wherein the routing is based on the contents of the fact; applying, at the rule executer, an action to the fact, wherein the action is also part of the rule and wherein the action transforms the fact or creates new facts from the fact; routing the transformed fact or new facts to the input queue; and routing the fact to a device for persistent storage.