EU Rewerse: This work was carried out under EU Project Rewerse. I5 r3 : Resourceful Reactive Rules

What is r3?

r3 is a prototype of a (Semantic) Web Rule Engine for Reactive Rules. Reactive rules have the general form "on Event if Condition do Action", and are also known as: triggers, active rules or ECA rules. They are intuitively easy to understand: when an event (atomic or composite) occurs, evaluate a condition, and if the condition is satisfied then execute an (atomic or complex) action.

The r3 prototype is capable of dealing with reactive rules that use different languages at the rule component level. This language heterogeneity at the top level is recursivelly extensive inside each of the different components (event, condition or action). These are not restricted to atomic ones. Composite components are also allowed, using algebraic operators whose arguments, recursivelly, may be atomic or composite. Each argument possibly using different languages.

Languages may range from general-purpose languages (with high flexibility/applicability, but limited semantic value) to domain/application-specific languages (with much richer semantic value). For instance, if a language specific to the currency trading domain exists, an event stating that "the exchange rate between Euro and US$ has changed" could be specified using this exact terms (and for sure in any such language, the precise meaning of this statement is well known). Otherwise, if no such domain specific language is available, a general-purpose language like XChange may be used by specifying an XML pattern (provided that the actual XML markup is known) to be applied to every incoming event messages originated from the addresses (assuming they are also know) of the International Monetary Fund or of the Federal Reserve Bank of New York (hoping that such a low level specification will be kept consistent with the currency market common sense).

Why Resourceful?

r3 fully embraces the Semantic Web by taking an ontology/resource-based perspective on reactive rules. At the heart of the r3 prototype is the decision to fully base its implementation on an RDF model. Every resource that matters to an r3 engine (e.g. rules) is to be described in terms of an OWL-DL foundational ontology, the r3 ontology. The different components of each reactive rule are specified (and composed) using different component languages, each of those languages is to be implemented by specific expression sub-engines (all of them, languages and engines, also described using the terminology provided by the r3 ontology). For an r3 engine, everything is a resource, even rule and rule component evaluation instances are to be represented as resources (for these an adequate extension of the r3 ontology is being defined).

r3 sees Rules as First Class Citizens of the Semantic Web, allowing research results from other areas, related to the Semantic Web, to be applied also to rules (e.g. it becomes possible to reason about rules by defining rule ontologies and stating rules about rules, eventually leading to rule evaluation policies and adaptive behaviour).

A distributed network of r3 engines, natively, "talks" RDF/XML using HTTP POST for communication, SOAP wrapped or not (a preliminary WSDL 1.1 definition is available). Nevertheless any other XML serialization (concrete markup) of an RDF model is acceptable, provided an appropriate (bi-directional) translator is available. Any request that an r3 engine gets is expected to be translated into an RDF model based on the r3 ontology. Each request model submitted to an r3 engine, is added to an internal ontology that includes every resource known to a particular r3 engine. Besides adequate inference, this internal ontology must also be dynamically completed by means of automatic searching and fetching missing pieces of information (resource representations) directly from the (Semantic) Web.

If it is true that this fully resource-based (or down-to-earth, resource full) approach used by r3 opens many research issues (some of them yet untouched in what the Semantic Web is concerned, e.g. consistency of merged ontologies or updating rules and evolving rule-bases), it is also true that every research issue opened constitutes an opportunity for scientific cooperation with other research communities, given the modular architecture of r3, paving the way to more Resourceful solutions.

Related WGI5 Work and Deliverables

r3 is a Rewerse WGI5 sub-project being developed by CENTRIA at Lisboa, and shares its ideas with the MARS prototype developed by the DBIS group at Göttingen. Additionally the XChange prototype, developed by PMS unit at München, focusing on an homogeneous approach, has constituted (and remains) a valuable source of inspiration and validation for the heterogeneous approach of r3.

Based on the original "Specification of a Model, Language and Architecture for Reactivity and Evolution" (I5−D4 - M18), the first incarnation of r3 was included as part of the I5−D5 deliverable (version 0.10, A first prototype on evolution and behaviour at the XML level - M30). This first version was furter refined towards I5−D7 (version 0.12, Completion of the prototype scenario - M36). Nevertheless, the main goal of r3 was I5−D9 (version 0.20, Prototype on the RDF/OWL level - M42) As such, the r3 ontology proposal was described as part of the I5−D6 deliverable (version 0.20, Reactive rule ontology: RDF/OWL level - M36).

Future Work

All this makes r3 an actual moving target (with periodic stable releases). The most up-to-date information about r3 is to be found at the r3 site. A new version of the r3 ontology (version 0.50) is already available, pointing the future direction of r3 (beyond the timeframe of Rewerse). Such future is expected to profit from close cooperation with the industry, namely with RuleCore together with the SSRG group at Skövde, towards WIDER perspectives on evolution and reactivity on the Semantic Web.

The r3 approach tries to maximize separation of concerns and focus as much as possible on a model for reactive rule evaluation, taking into consideration (but not focusing on) the specificities of the different component languages. For instance, Semantic Web event detection/propagation is a concern for event engines (viz. atomic event detectors/matchers, event brokers or algebraic event composers); as much as Semantic Web transactions are a concern for action engines. r3 is expected to work with different event (and action) engines, regardless of the specific event detection/propagation (and transaction management) algorithms/architectures they use. r3 is not expected to enforce any particular algorithm/architecture at this level, which, of course, also means that r3 does not propose any particular solution for these research issues. r3 simply does not try to solve these issues. Instead, r3 tries to integrate external research results, by defining how they should work together and by providing an adequate environment for testing these results. It is our stance that r3 may provide a useful test bed for integration of related languages like, for instance, XChangeEQ and GeTS/CTTN. Regarding such research areas/issues, and related work, r3 takes a cooperative stand; hoping to become a useful scenario where different external results (either within or outside Rewerse) may be integrated and experimented.

Refereed Publications

José Júlio Alferes and Ricardo Amador
r3: A Foundational Ontology for Reactive Rules
(©Springer, ODBASE 2007, Extended PDF)
José Júlio Alferes and Ricardo Amador
r3: Towards a Foundational Ontology for Reactive Rules
(©CENTRIA, ESWC 2007, Poster PDF)
Wolfgang May, José Júlio Alferes and Ricardo Amador
Active Rules in the Semantic Web: Dealing with Language Heterogeneity
(©Springer, RuleML 2005, PDF)
Wolfgang May, José Júlio Alferes and Ricardo Amador
Ontology- and Resources-Based Approach to Evolution and Reactivity in the Semantic Web
(©Springer, ODBASE 2005, PDF)
José Júlio Alferes, Ricardo Amador and Wolfgang May
A general language for Evolution and Reactivity in the Semantic Web
(©Springer, PPSWR 2005, PDF)

This work is licensed under Creative Commons Attribution-NonCommercial-ShareAlike 2.5 License.Valid XHTML 1.0 StrictValid CSS!
Last modified:
CENTRIA, Universidade Nova de Lisboa.