Monday, 5 December 2011

W3C Workshop on Rule Languages for Interoperability

Overview:
  • Rule languages and rule systems are widely used in :
    • Database integration
    • Service provisioning
    • Business process management 
  • General purpose rule languages remain relatively non-standardized
  • Rule systems from different suppliers are rarely interoperable
  • The Web has achieved remarkable success in allowing documents to be shared and linked 
  • Semantic Web languages like RDF and OWL are beginning to support data/knowledge sharing
  • Having a language for sharing rules is often seen as the next step in promoting data exchange on the Web
Summary:
  • In April 2005, the W3C held a workshop to explore options for establishing a standard web-based language for expressing rules.
  • Half-dozen candidate technologies were presented and discussed.
  • The workshop confirmed the differences among types of rules. "if condition then action" rules and "if condition then condition" rules.
Introductory Sessions:
  • During the first session everyone met with each other. There were three backgrounds: business rules, logic programming and semantic web.
  • The second session had two presentations proposing scopes for a standard, and one on the W3C approach to standardization. 
  • Both scope/requirements presentations suggested that no single rule language would cover all the requirements but that there could be a common core to a family of languages.
Candidate Technologies:
  • WSML, RuleML, SWSL, N3, SWRL, Common Logic, TRIPLE. Primarily academic efforts.
  • The discussion revolved largely around formal issues and semantic features.
  • What constitutes a candidate technology for standardization, what kind of specification is needed for a rule language?
  • The RuleML presentation claimed a slightly different ground, focusing more on the exchange format and interoperability.
  • The other main line of discussion was thus about what is feasible in a short time and what should be the scope of the standard.
  • Some of the participants argued for a simple set of features to start with instead of a very rich and complex language.
  • The candidate technologies have not been tested on commercial rule bases.
Related Standards:
  • The Production Rule Representation (PRR)
  • A standard Java API for rule engines
  • The Semantic of Business Vocabulary and Business Rule meta-model (SBVR, aka the "semantic beaver").
  • PRR is limited to forward-chaining and sequential rule processing
  • The lightweight JSR-94 API does not specify the behavior of the engine
  • SBVR is for business modeling by business users, in their own terms.  It provides structured English for business rules from which the meaning can be extracted as formal logic.
Issues:

Negation as a failure:
  • Many features of the Web (including search engines) report failure for inscrutable and unpredictable reasons.
  • In a database if a record is not found, then we can assume it is not true. On the Web if a book isn't found by a search engine, it might just mean it failed to crawl the appropriate part of the Web.
Relationship to Description Logics (OWL)
Users want a language where they can represent both rules and ontologies. This topic came up in nearly every session.

Syntax Options
People want rules in many different styles of syntax, driven by who (or what) they expect will be reading and writing rules.
  • XML is convenient for machine interchange, and appears to be widely deployed and understood by rule users and implementers. 
  • English-like syntaxes are often good for people who are not experts in the language, especially if they need to read and understand a rule set.
  • Programmer-oriented syntaxes, on the other hand, are designed for people who know the language well.
  • An Abstract syntax is defined to not be directly usable; rather, it is mapped to one or more concrete syntaxes, each of which will be in one of the above styles. It is possible to have an abstract syntax, several normative concrete syntaxes, and several non-normative concrete syntaxes.
  • An RDF syntax (where the syntactic structures are described in RDF) has some of the appeal of an abstract syntax while being directly usable by machines. However, there is significant doubt whether a rule language can be defined with an RDF syntax and still have consistent semantics.
Conclusions:
The most obvious conclusion from the workshop is that there was significant interest in establishing a standard language for expressing rules.

  • Customers are demanding standards to protect their rule assets. They want portability across vendors, platforms, and applications. The want to be able to repurpose, reuse, and redistribute rule sets.
  • The standard should be simple. This field tends towards a complex work, and we will seriously endanger deployment if we go that route. It should be simple to use and relatively simple to implement.
  • Compatibility with deployed and emerging technologies. In particular, compatibility with RDF, OWL, OMG PRR, and ISO Common Logic, along with common programming and rule methodologies will allow people to understand and adopt the work much more quickly.
  • A Working Group in this field should be given a narrow and well-defined scope. People should be able to see, early on, if the work is relevant to their uses for rules, instead of having the Working Group trying to prioritize from an overwhelming sea of features.
Reference:

No comments:

Post a Comment