2. The method of claim 1 , wherein executing the selected rule engine to process the abstract rule and produce an output comprises: transforming the abstract rule into an executable rule; processing the executable rule in the selected rule engine; and if the conditional statement is resolved to true for the processed executable rule, returning the particular recommendation.
2. The method of claim 1 , wherein executing the selected rule engine to process the abstract rule and produce an output comprises: transforming the abstract rule into an executable rule; processing the executable rule in the selected rule engine; and if the conditional statement is resolved to true for the processed executable rule, returning the particular recommendation. 5. The method of claim 2 , wherein transforming the abstract rule into an executable rule comprises: retrieving a specification of the abstract rule in a first computer-readable language; and transforming the specification into a language that is accepted by the selected rules engine.