Fusion Rule Technology





Fusion Tool Software

To allow the merging of structured information, a fusion engine and an action engine have been implemented in Java. The resulting fusion tool provides a GUI allowing the user to select input reports, a set of rules, and a knowledgebase. Once these have been loaded into the fusion tool, the input reports can be merged, and the output report displayed can be saved as an XML file.

The fusion tool incorporates a number of features, including:

Bulk loading of multiple input files. When the number of input reports is small (< 12), it's feasible to display each report on a separate tab. However, for some applications the number of information sources to be merged may be much larger (sometimes in the 100s). In this case the user can either select a batch loading option, where the user selects multiple source files using a filechooser, but only the files names are displayed on a single tab; or, the user can select a metafile option, specifying a single file that lists the filenames of those files to be merged--again, the names only are displayed on a single tab.

Diagnostics feedback. Errors often occur when merging a set of reports, but it can be hard to track down their source. It might be a logic error in the rules; or an incorrect tagname, meaning the rule cannot be grounded using the input reports; or an error in the knowledgebase. Often inspection of the output report alone cannot determine what the problem is. To help find the cause of errors a diagnostics window displays both the queries that are constructed and sent to the knowledgebase, and the results of those queries, including any variable bindings that are returned. To make it easier to see which rules succeed and which fail, the former are highlighted in green, the latter in red.

Error handling. Further help in both preventing and diagnosing errors is provided by error messages warning of conditions such as: a foundational rule has failed; a rule tries to construct an output report with an incorrect tree structure; any error condition reported by the knowledgebase, such as a required database has not been loaded; a specified rule file does not conform to the fusionRuleML DTD.

Versatility in exploiting external resources as knowledgebases. A wide variety of other technologies such as SQL databases, Prolog engines, or XML repositories can be used as knowledgebases in conjunction with the fusion tool. This is achieved by using Java's dynamic class loading abilities; simply write a Java class---conforming to a specified Java Interface---that loads the resource of choice. This means that in many cases background knowledge can be exploited in its existing form, without the need to convert it into some favoured format.


Screen shot of the fusion tool software.

Figure 1: The fusion tool being used to merge five (fictional) weather reports for London, June 28th, 2004. The input weather reports are displayed on a tab pane in the upper left window; the output, merged report is displayed in the lower left window; The right window displays the rules used for merging, the knowledgebase, and (currently displayed) a tab pane displaying diagnostics information from the knowledgebase. In this case, the diagnostic information consists of the queries to and responses from the knowledgebase. Queries that succeed are underlined in green, those that fail are underlined in red. So, rule 2, for example, fails because according to the knowledgebase 'mostly sunny', 'sunshine', 'partly cloudy', 'fair', 'sunny' are not equivalent terms. Rule 3, by contrast, succeeds, using a majority voting aggregation function to resolve the conflict. The preferred term 'sun' is added to the merged report.
Contact a.hunter@cs.ucl.ac.uk or +44 20 7679 7295.

Back to Fusion Rule Technology homepage.