• 沒有找到結果。

Before looking into the details of rule management systems, we need to decide about a rule management systems implementation platform. If we choose a rule system that is also embedded in the Semantic Web development environment, then we have several advantages. First, it provides sufficient facilities to imple-ment subsystems for rules and the data model. Second, both the ontology and rule languages used in the Semantic Web are complementary to each other so we can leverage on the declarative knowledge representation. Third, we have a standard query language or a rule language to support the access of underlying knowledge bases for ontology or rule bases. Finally, if applications are embed-ded in Java or some other popular imperative programming language, we have language typing, control flow, and interaction mechanism available for the im-plementation of application system on the Web.

12http://dig.csail.mit.edu/TAMI/2007/amord/air-specs.html

4.1 Rule Systems in the Semantic Web Framework

The SemWebCentral13is one of the well-known websites providing Open Source development tools for the Semantic Web. The Semantic Web system develop-ment framework can be subdivided into three subsystem modules: an applica-tion module, a controller module and a view module. The applicaapplica-tion module contains reasoning functions, including task and inference, domain schema and knowledge base. The controller module handles interactions with the user and functions in the application model. The view module provides output for the user. The Semantic Web system development framework usually includes two development parts, one is for ontology and the other is for rule. For example, Prot´eg´e has been successfully developed for ontology and rule, such as Jena14 and Jess15. The Jena rule engine was integrated in the Semantic Web system development framework Prot´eg´e for having rule-based inference with the access to knowledge base in the ontologies of RDF and OWL16. In addition, the sys-tem for development of ontology and rule combination, such as SWRL is also available in the Prot´eg´e with SWRLTab17.

4.2 Standalone Rule Systems

A number of standalone rule systems have been investigated by the RIF Working Group18. A rule system is defined as a piece of software that implements or supports a rule language in some way (e.g., a rule engine or a rule editor). Among the RIF list, some rule systems are developed for commercial usage but others are for open source purposes. Based on the classification of rule types, some rule systems are developed for a deductive rule engine but others are implemented for a reactive rule engine.

Commercial Rule Systems IBM ILOG Business Rule Management Systems (BRMS)19 provides a complete BRMS for analysts, architects and developers, featuring tools of rule authoring and rule management besides its rule engine.

In fact, ILOG JRules is one of the best-known production rule systems. JBoss Drools20 Enterprise BRMS is a well-known open source rule system which pro-vides perfect integration with the service-oriented architecture (SOA) Web ser-vice solutions. On the other hand, existing rule systems, such as Prova21 and

13http://www.semwebcentral.org/

14http://jena.sourceforge.net/

15http://www.jessrules.com/

16http://protege.stanford.edu/plugins/owl/jena-integration.html

17http://protege.cim3.net/cgi-bin/wiki.pl?SWRLTab

18http://www.w3.org/2005/rules/wg/wiki/List of Rule Systems

19http://ilog.com/products/businessrules/index.cfm

20http://www.jboss.com

21http://www.prova.ws

ruleCore22 are also available for ECA rules inference. For more details about reactive rules on the Web please refer to [16].

Some commercial rule systems are developed from a matured prototype of the Semantic Web middleware, such as OntoBroker23. Oracle Business Rules integrates with the Business Process Execution Language (BPEL) and tries to enrich decision making for processes in the SOA24. In general, commercial rule systems use proprietary rule languages for the development of the rule bases so we need a standard rule interchange language, such as RIF to obtain rule interoperability among these rule systems.

Academic Rule Systems The academic ECA rule system XChange, with its integration of the Web query language Xcerpt, provides the access of data sources to obtain information on the dynamic Web. Other academic rule systems are de-ductive reasoning rule engines, such as jDREW and its object-oriented extension OO jDREW25. An Object-Oriented Knowledge Base Language FLORA-2 pro-vides frame-based logic reasoning engine with the knowledge base development environment26.

Logic programming systems are also used to develop rule-based applications.

For example, Logic Programming Associates Prolog provides a complete rule development environment with a graphical interface for rule editing27. Thea is a Prolog library for generating and manipulating OWL content on the Semantic Web. The Thea OWL parser uses SWI-Prolog’s Semantic Web library for parsing RDF/XML serialization of OWL documents into RDF triples, and then it builds a representation of the OWL ontology28.

One of the challenges for implementing rule systems on the Web is to be aware of the current rule management systems, including commercial and aca-demic ones, and, furthermore, an understanding of their system features and which rule type reasoning they can support. Moreover, we need to investigate the possible application domains they intent to accomplish through the under-lying rule interchange standard.

4.3 Performance Benchmark for Rule Systems

It is not easy to propose an acceptable measurement benchmark to evaluate the performance of current rule systems because rule systems vary considerably with respect to rule syntax and features. In [23], a set of benchmarks were pro-posed for analyzing and comparing the performance of numerous rule systems.

In this OpenRuleBench, they include five rule technologies to compare with:

22http://www.rulecore.com

23http://www.ontoprise.de

24http://www.oracle.com/technology/products/ias/business rules/index.html

25http://www.jdrew.org/oojdrew/

26http://flora.sourceforge.net/

27http://www.lpa.co.uk/

28http://www.semanticweb.gr/TheaOWLLib/

Prolog-based, deductive databases, production rules, triple engines, and general knowledge bases. Jena and OntoBroker we mentioned before were also two of the selective rule systems in their comparison list. We envision that the benchmark performance evaluation output will be just one of the criteria for people to decide for which rule system they are going to adopt in their application development.