July 30, 1999. IBM announces the release of CommonRules 1.0 today, a
Java library that brings e-commerce business rules up to Internet
speed. CommonRules enables Web communication of executable business rules
between enterprises using heterogeneous rule systems, and enables
incremental specification of executable business rules by
non-programmer business domain experts.
CommonRules 1.0 is available free for download at AlphaWorks
(http://alphaworks.ibm.com). It was developed by
IBM Research's Business Rules for E-Commerce project team
(http://www.research.ibm.com/rules/).
CommonRules is 100 percent pure Java,
and runs on all Java platforms including Windows 95, NT, and 98.
CommonRules provides innovative XML inter-operability and prioritized
conflict handling capabilities. These modularly augment a wide
variety of rule-based systems and programming mechanisms already
available in the market. The CommonRules 1.0 release includes API's
for developers to enhance Java or non-Java applications. It also
includes extensive documentation and example rule sets.
Using CommonRules, a seller website/application can communicate its
business policy rules about pricing, promotions, customer service
provisions for refunds and cancellation, ordering lead time, and other
contractual terms & conditions, to a customer application/agent, even
when the seller's rules are implemented using a different rule system
(e.g., OPS5-style production rules) than the buyer's rules are
implemented in (e.g., Prolog). The customer application/agent can
then understand and assimilate those rules into its own business logic,
and automatically execute those rules to make plans or decisions.
Similarly, using CommonRules, a customer can communicate to
its suppliers the customer's Requests For Quotation/Proposals,
including detailed conditions and policies expressed in rules, e.g.,
in supply chain settings.
CommonRules also helps enable non-programmer business-domain experts,
for example marketing managers, to easily modify the executable
business rules incrementally at run-time. For example, on Wednesday a
customer retention manager specifies a personalized pricing rule that
gives loyal customers a ten percent price discount, and on Thursday a
cash flow manager specifies that late-to-pay customers get no
discount. These two rules conflict for customer Joe, who is loyal but
late-to-pay. CommonRules detects the conflict automatically and
raises an alarm. A sales manager resolves the conflict by simply
adding at run-time a further rule specifying that the first rule has
priority over the second. The new rule set will then automatically
cover future customers like Joe, without need for any additional
specification.
CommonRules is being piloted in EECOMS, a $29 Million 3-year industry
consortium development effort on inter-enterprise supply chain
integration for manufacturing. CommonRules is also being demonstrated
internationally at several scientific conferences' peer-reviewed
technical programs.
The research website (http://www.research.ibm.com/rules/; contact project leader Benjamin Grosof grosof@us.ibm.com or Hoi Chan
hychan@us.ibm.com) includes extensive discussion of e-commerce
application areas for CommonRules' capabilities, including for
contracts, negotiation, auctions, personalization and promotions, and
security authorization. The research website includes published
papers and detailed research reports, as well as overviews and talk
slides.
A major trend happening in object-oriented application development is
the separation of business logic from data access and application
logic: the same business logic may be used in multiple applications,
and should be changeable rather than being buried and intertwined with
data and application specific functions.
Rules as a way to specify business logic has the advantage of
combining automatic executability with a relatively high level of
human understandability, i.e., a high conceptual level and a
"declarative" (rather than only procedural) semantics. The latter
enables non-programmers, especially business-domain experts such as
marketing managers, to specify business rules, and to modify them
relatively easily and often.
CommonRules' role is to complement and enhance the functionality of
the various rule-based systems and programming mechanisms already
available in the market.
CommonRules provides a common "interlingua" rule representation for
exchange of rules between heterogeneous rule representations
employed in various rule-based applications. CommonRules defines and
supports a new XML rule interchange format for rules, called Business
Rules Markup Language (BRML), that corresponds to this interlingua.
Rules may be exchanged as XML, directly as Java objects, or in other
string formats; the rule-based applications need not be in Java. The
interlingua enables two or more applications/websites/agents, that use
heterogeneous rule systems/languages, to exchange rules in a fully
declarative fashion, while preserving deep semantics so that received
rules can be fully assimilated, i.e., understood and executed with the
same semantics intended by the sender. The interlingua has a
semantics based on Logic Programs (in the sense of declarative
knowledge representation, not just Prolog). This semantics captures a
common core shared by most commercially important rule systems,
including SQL / relational database systems, Prolog and logic
programming systems, production rule systems (OPS5 heritage), and
event-condition-action rule systems. In particular, this semantics
abstracts away from whether rule inferencing/execution is performed in
a forward (data-driven) versus backward (query-driven) direction.
CommonRules includes sample translators between the BRML XML
interchange format and several existing rule systems. Developers
(e.g., rule system vendors) can write their own such translators,
relatively easily. Future versions of CommonRules plan to include
more such sample translators.
CommonRules enhances this core representation with a new form of
prioritized conflict handling for rules, called Courteous Logic
Programs, that enables rules to be specified and maintained in a far
more modular fashion, more similar to the "common sense" style in
which rules are expressed in natural language. Courteous Logic
Programs enforce consistency with respect to specified
mutual-exclusion integrity constraints, using specified
partially-ordered priorities between conflicting rules. Rule sets can
then be modified far more often by simply adding rules, without the
need to modify previous rules. CommonRules provides a practical
breakthrough combination of expressive power, declarativeness,
computational efficiency/tractability, and software modularity in
prioritized conflict handling. It includes a Courteous Compiler that
implements the Courteous enhancement via a pre-processor that can be
added modularly to a variety of existing commercial rule systems.
This Courteous Compiler transforms a Courteous Logic Program into a
semantically equivalent but expressively simpler ordinary Logic
Program (lacking priorities or mutual-exclusion integrity constraints)
of the kind widely implemented in today's commercial rule
engines/systems. CommonRules includes a sample forward-reasoning
inference engine that uses the courteous compiler as a pre-processor,
and thus supports the Courteous expressive enhancement. Developers
(e.g., rule system vendors) can similarly use the Courteous Compiler
to write their own enhanced rule engines.
For further information, please contact:
Benjamin Grosof at
grosof@us.ibm.com
[
IBM home page |
Order |
Search |
Contact IBM |
Help |
(C) |
(TM)
]
IBM releases CommonRules 1.0: business rules for the Web.
More background about business rules
Technical overview of CommonRules
Further details about CommonRules
Last update: 8-09-99
[ IBM Research home page ]