Scope of RuleML

From RuleML Wiki
Jump to: navigation, search

The scope of RuleML is characterized here in the following dimensions: Natural and formal languages; deliberation and reaction rules; XML serialization, presentation syntaxes, and semantic styles; internal/external translators and reference engines; as well as horizontal and vertical standardization.

Rules can be stated in different languages:

  1. Natural languages
    1. Unrestricted natural languages
    2. Controlled natural languages
  2. Formal languages

With a focus on 2., but enabling the transition from 1. to 2. as well as the combination of 1. and 2., the RuleML Initiative has developed a system of families of rule languages that permits uniform rule authoring, storage, interchange, retrieval, and execution on the Web.

The two main RuleML families capture deliberation rules, of the form condition -> conclusion, and reaction rules, e.g. of the form trigger, condition -> action. RuleML rule serializations thus have various parts, where the RuleML/XML rule parent element, <Rule>, shares a condition part, <if>, as the central child element across the deliberation and reaction rule families. While deliberation rules add a conclusion part, <then>, reaction rules as production rules use an action part, <do>, and in the general case also have a trigger part, <on>, plus various other parts.

RuleML concentrates on the system/family/language lattice and its fine-grained-modular, language-feature-configured normative specification, via MYNG, in the schema language Relax NG (a standard EBNF-generalizing content model language) from which XML Schema Definition Language (an industry standard) is generated. Rulebase instances serialized in XML can be directly validated w.r.t. these schemas. Certain rulebases will be alternatively expressible in JSON (e.g., RuleML in JSON), and RuleML, in collaboration with other communities, also adopts, adapts, and develops presentation syntaxes, which are more concise than XML serializations but require XML translation prior to validation (e.g., POSL). For each language, RuleML can use an existing semantics or introduce a new semantics via semantic styles.

One main technology for RuleML as an interchange language is translators: (1) Internal translators mapping between various languages, presentation syntaxes, and XML serializations. (2) External translators mapping between RuleML and other languages for Interoperability. The other main technology is engines for implementing the semantics of RuleML languages: OO jDREW is a reference engine for a subset of deliberation rules while Prova is a reference engine for a subset of reaction rules. Further foundational RuleML technology is listed at Introducing RuleML.

While RuleML emphasizes horizontal standardization permitting rule-technology reuse across knowledge domains, RuleML also collaborates with other communities on reuse-based vertical standardization for specific knowledge domains such as clinical intelligence with UNB SADI, finance with OMG/EDM FIBO, and legislation with OASIS LegalRuleML.