BRML is an 'XML Rule Interlingua for Agent Communication, based on Courteous/Ordinary Logic Programs.' It is used in connection with 'CommonRules' from IBM, and was developed in connection with IBM's Business Rules for E-Commerce Project. A related proposal is given in the 'Agent Communication Markup Language,' a new XML version of FIPA standards-draft Agent Communication Language.'
From IBM alphaWorks Labs, CommonRules is a set of "Web-based inter-operable e-business rules via common representation framework with conflict handling. CommonRules is a Java library that provides functionality for business rules, especially for their inter-operability. Its role is to complement and enhance the functionality of the various rule-based systems and programming mechanisms already available in the market. First, it provides a common 'interlingua' representation for rules, suitable to grow into an industry standard, for exchange of rules between heterogeneous rule representations employed in various rule-based applications. Import and export formats for rules may be XML, text, Java objects; the applications need not be in Java. Translation between the different rule representations, and thereby rule exchange between the applications, is accomplished by translating in and out of the interlingua. The tentative name for the interlingua is Business Rules Interchange Format (BRIF). The tentative name for the XML version of the interlingua is Business Rules Markup Language (BRML). Second, CommonRules includes features for prioritized conflict handling that make specification of rules be more natural and make updating/merging of rules be simpler and more modular. CommonRules includes innovative functionality for an XML interlingua (i.e., syntactic interchange format) for such translation, called Business Rules Markup Language (BRML)."
"The current version of BRML expresses courteous logic programs, which overlaps with a broad subset of KIF. ['Courteous logic programs are thus a form of prioritized logic programs. More generally, courteous logic programs are a form of prioritized default reasoning. Unlike previous highly expressively powerful forms of prioritized defaults (e.g., Prioritized Circumscription or Prioritized Default Logic), courteous logic programs are computationally tractable under common expressive restrictions (e.g., no non-0-ary logical functions and a bounded number of logical variables per rule).'] BRML complements and extends ANSI-draft Knowledge Interchange Format (KIF), and provides the first XML encoding for KIF. In version 1.0, only a broad sub-case of KIF is represented: clauses. Future versions of BRML plan to represent more of KIF. BRML goes beyond KIF to support logical non-monotonicity, including the negation-as-failure, the most practically important form of negation, and prioritized conflict handling. CommonRules includes a sample translator to/fro KIF's existing (non-XML) string format."
"The XML interlingua in particular is a common syntactic format. The courteous expressive extension provides some 'common-sense' reasoning capabilities, in the sense of knowledge representation theory and artificial intelligence, because the prioritized conflict handling enables rules to be specified in a more modular and natural style, closer to natural language and object-oriented subclassing/inheritance." See also the CommonRules/BRML announcement.
[November 05, 2002] CommonRules version 3.3 from IBM alphaWorks now offers "improved performance; faster processing speed due to a better fact-matching algorithm; a new object-mapping system; improved documentation; and additional built-in functions. CommonRules 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 Java 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 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."
[August 05, 1999] "IBM Releases CommonRules 1.0: Business Rules for the Web." - "CommonRules 1.0 is 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 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. BRML complements and extends ANSI-draft Knowledge Interchange Format (KIF), and provides the first XML encoding for KIF. In version 1.0, only a broad sub-case of KIF is represented: clauses. Future versions of BRML plan to represent more of KIF. BRML goes beyond KIF to support logical non-monotonicity, including the negation-as-failure, the most practically important form of negation, and prioritized conflict handling. CommonRules includes a sample translator to/fro KIF's existing (non-XML) string format."
Agent Communication Markup Language - The following paper by Benjamin N. Grosof and Yannis Labrou provides "alpha-version XML DTDs for BRML and for Agent Communication Markup Language, a new XML version of FIPA standards-draft Agent Communication Language. It also gives the relationship of these to each other and to ANSI standards-draft Knowledge Interchange Format (KIF)." See also on another KIF site).
On the role of XML and CLP in Agent Communication Languages, see: "An Approach to using XML and a Rule-based Content Language with an Agent Communication Language." By Benjamin N. Grosof and Yannis Labrou. May 28, 1999. In: Proceedings of the IJCAI-99 Workshop on Agent Communication Languages (ACL-99). Held Stockholm, Sweden, Aug. 1, 1999, in conjunction with the IJCAI-99 conference. Abstract: "We argue for an XML encoding of FIPA Agent Communication Language (ACL), and give an alpha version of it, called Agent Communication Markup Language (ACML), which we have implemented. The XML approach facilitates: (a) developing/maintaining parsers, integrating with WWW-world software engineering, and (b) the enriching capability to (hyper-)link to ontologies and other extra information. The XML approach applies similarly to KQML as well. Motivated by the importance of the content language aspect of agent communication, we focus in particular on business rules as a form of content that is important in e-commerce applications such as bidding negotiations. A leading candidate content language for business rules is Knowledge Interchange Format (KIF), which is currently in the ANSI standards committee process. We observe several major practical shortcomings of KIF as a content language for business rules in e-commerce. We argue instead for a knowledge representation (KR) approach based on Courteous Logic Programs (CLP) that overcomes several of KIF's representational limitations, and argue for this CLP approach, e.g., for its logical non-monotonicity and its computational practicality. CLP is a previous KR that expressively extends declarative ordinary logic programs cf. Prolog; it includes negation-as-failure plus prioritized conflict handling. We argue for an XML encoding of business rules content, and give an alpha version of it, called Business Rules Markup Language (BRML), which we have implemented. BRML can express both CLP and a subset of KIF (i.e., of first-order logic) that overlaps with CLP. BRML expressively both extends and complements KIF. The overall advantages of an XML approach to content language are similar to those for the XML approach to ACL, and indeed complements the latter since content is carried within ACL messages." See the abstract, or full paper in Postscript or PDF format. [local archive copy, PDF]