Using KBS verification techniques to demonstrate the existence of rule anomalies in ADBs
Introduction
An active database (ADB) is a database that dynamically executes specified actions when certain conditions arise, without any user interaction. ADBs have grown in importance because they can be used to enforce integrity constraints, trigger actions based on occurrences of a particular database state or transition between states, and perform knowledge based processing within the database system [1]. Oracle 8 is one such widely used, commercial database. The “active” component in an ADB consists of rules that execute as a result of database accesses and updates. The incorporation of an “active” component or a rule system to a passive database increases the overall power of the database by promoting inference with the data available. This additional power provides the flexibility of interpreting information from data that would otherwise have little meaning.
Verification involves demonstrating that the system behaves as expected. We use the term “anomaly” for an execution or structural attribute of the system that causes unexpected behavior. Not all anomalies lead to errors. Knowledge-based system (KBS) verification includes examining the structure and semantics of a knowledge base, which mainly consists of sets of rules. Primary verification tools generally analyze the knowledge base for anomalies, which may be logical, epistemological, or semantic, and often fall into the following categories [2], [3]: redundancy, inconsistency, and incompleteness. Redundancy is the presence of rules that add no new knowledge to the database. Inconsistency refers to conflicts among rules when more than one rule can execute but with contradictory consequences. Incompleteness occurs when the rule system cannot achieve a goal state from a legal initial state. These categories of anomalies and methods of their detection have already been widely researched for various types of KBSs, including rule-based and hybrid systems that may include objects, message passing, and procedures e.g. [2], [3], [4], [5], [6], [7], [8], [9], [10]. We use these definitions to determine whether reliability can be compromised with respect to the rule activation and execution in ADBs.
In this paper, we demonstrate via KBS verification techniques that anomalies exist in rule execution of an ADB that can go undetected. The paper is organized as follows: Section 2 provides brief background material on ADBs. Section 3 discusses verification as it is applied to the rules in KBSs. This section also includes an examination of the verification anomalies: redundancy, incompleteness, and inconsistency. Section 4 compares the rule structures of KBS rules to ADB rules, showing that the overall rule formats between these systems are the same. In addition, this section presents our method for demonstrating these anomalies exist, which includes placing the ADB rule in an intermediate representation and using KBS verification analysis over that representation. Section 5 demonstrates the existence of rule anomalies in ADBs and discusses their impact on its integrity. Section 6 concludes the paper with discussion.
Section snippets
Active databases
The dynamic properties of an ADB, that cause specified actions to occur automatically when certain conditions in the database arise, can be extremely useful to programmers. For example, consider an inventory database with a large number of instances of products, containing the quantity on hand, threshold, and reorder flag for each product. In a traditional database, as products are sold, the quantity on hand is continually updated. An ADB goes one step further by monitoring the quantity on hand
Verification of knowledge based systems
Assuming a correct valid specification for a KBS has been achieved, establishing the correctness of that systems implementation, against the specification, is termed the verification task and includes examining the structure and semantics of its knowledge base. Primary verification tools generally analyze the knowledge base for anomalies, which may be logical, epistemological, or semantic, and often fall into the following categories [2], [3]: redundancy, inconsistency, and incompleteness
Obtaining a workable ADB rule representation
The logical form of a typical KBS rule and an active database rule is similar, however the rule processing within an ADB differs from the rule processing in KBSs. A KBS typically uses a match–select–execute cycle in which the knowledge base holds the rules, the working memory holds the available facts, and the inference engine deduces new information by comparing the contents of working memory to the rules. If the conditions in the left-hand side (LHS) of the rule hold, then the actions in the
Anomaly occurrence in ADBs: an example rule set
To determine if the KBS verification anomalies can occur in an ADB, we developed a sample rule set for execution in Oracle 8. The KBS abstraction of the rules is used to convey the existence of a potential anomaly. The original rule set purposely contained anomalies for redundancy, inconsistency, and incompleteness [25], though we restrict our presentation here to the first two categories. Rules 1 and 2 from Table 2, Table 3, respectively are part of the rule set.
Summary of implementation and impact
Once we found that these anomalies can exist in ADBs, we determined what effect they had, if any, on the reliable execution of ADBs. The rule set designed reflects actions to be taken for inventory management. For example, when the quantity for a particular product falls below the desired threshold, then a reorder flag is set. If a product is defective or has been recalled, proper measures are taken to ship these items back to the supplier. The rule set also incorporates, as discussed earlier,
Discussion and conclusion
Database management systems are becoming more sophisticated with the incorporation of rules and a rule processing component. The advantage of this new capability results from the implicit activation of the rule inference process, thus making the system an “active” database. This implicit processing forestalls users from observing the changes being made to relevant data, thus heightening the need for implementing correct rules. As a result, the necessity to verify that the rules maintain the
Acknowledgements
This research was supported in part by the U.S. Department of Energy, contract #DEAC22-93BC14894 and DARPA CAETI program, contract #N66001-95-C-8628.
References (56)
- et al.
Classifying and detecting anomalies in hybrid knowledge based systems
Decision Support Systems
(1997) - et al.
Verifying expert systems: a logical framework and practical tool
Expert Systems with Applications
(1992) - et al.
The design of a constraint/rule language for an object-oriented data model
Journal of Systems and Software
(1995) - et al.
A report on the expert systems validation associate (EVA)
Expert Systems with Applications (US)
(1990) - E.N. Hanson, The design and implementation of the Ariel active database rule system, Technical Report UF-CIS-018-92,...
- et al.
Eliminating redundancy, inconsistency, and incompleteness in rule-based systems
International Journal of Software Engineering and Knowledge Engineering
(1996) - et al.
A survey of tools for the verification and validation of KBS—1985–95
Decision Support Systems
(1997) - R.T. Plant, Validation and verification of knowledge-based systems, Workshop Notes AAAI. 1994, Seattle, WA,...
- R.F. Gamble, C. Landauer, Validation and verification of knowledge-based systems, Workshop Notes IJCAI-95, Montreal,...
- D.E. O'Leary, Verification of frame and semantic network knowledge bases, AAAI-89 Workshop on Knowledge Acquisition for...