Date Posted: July 30, 1999
Update: October 30, 2002 Version 3.3: Improved performance; faster processing speed due to a better fact-matching algorithm; a new object-mapping system; improved documentation; and additional built-in functions.
What is CommonRules?
What is CommonRules?
CommonRules 3.3 is a rule-based framework for developing rule-based applications with major emphasis on maximum separation of business logic and data, conflict handling, and interoperability of rules. It is a pure JavaTM library, and it provides a platform that enables the rapid development of rule-based applications through its situated rule engine via dynamic and real-time connection with business objects. CommonRules can be integrated with existing applications at a specific point of interest, or it can be used to create applications composed only of rules.CommonRules uses a sematically-rich rule language called CLP (Courteous Logic Program) to enable direct conflict resolution through conditional mutual exclusion and prioritized override. It contains a set of APIs for efficient application integration, as well as data and function bindings. Also included is a prototype for rule interlingua, which is currently based on CLP; later, it will be based on ruleML (the proposed standard rule format) in order to enable interoperability of different rules.
CommonRules is being piloted in EECOMS, a $29 million, three-year industry consortium development effort on inter-enterprise supply chain integration for manufacturing.
How does it work?
CommonRules provides innovative XML interoperability and prioritized conflict-handling capabilities. These modularly augment a wide variety of rule-based systems and programming mechanisms already available in the market. CommonRules 3.3 includes an API set for enhancing Java or non-Java applications. It also includes extensive documentation and example rule sets.Using CommonRules, a seller Web site or application can communicate in XML its business policy rules about pricing, promotions, customer service provisions for refunds and cancellation, ordering lead time, and other contractual terms and conditions, to a customer application or agent, even when the seller's rules are implemented using a different rule system (such as OPS5-style production rules) than that in which the buyer's rules are implemented (such as Prolog). The customer application or agent can then understand and assimilate those rules into its own business logic, and it can automatically execute those rules to make plans or decisions.
About the technology author(s)
Benjamin Grosof is an assistant professor at MIT. He initiated the CommonRules project in 1997 as part of the requirement for the EECOMS project. It then evolved into a rule-based system with the following features: courteous logic programs, XML interlingua for interoperability, conflict handling, and a rule engine that handles the various mentioned features. Professor Grosof left IBM in 2000 to become a faculty member of the Sloan School of Management at MIT. He currently leads an industrial/academic effort to establish an XML-based rule language called ruleML, which is, in part, based on his previous work on CommonRules.
