Using KBS verification techniques to demonstrate the existence of rule anomalies in ADBs

https://doi.org/10.1016/S0950-5849(99)00017-8Get rights and content

Abstract

As the field of verification and validation for knowledge-based systems (KBSs) has matured, much information, technology, and theory has become available. Though not all of the problems with respect to KBSs have been solved, many have been identified with solutions that can be used in an analogous manner in situations where the application is not necessarily a traditional KBS. As one example, the “active” component in an active database (ADB) consists of rules that execute as a result of database accesses and updates. In this paper, we demonstrate that anomalies found to impact the correctness of a KBS can also exist in ADBs. We first compare the rule structure of a KBS with the rule structures of various ADBs. To show their existence, we convert the rule syntax of the ADBs into a consistent format for analysis and anomaly detection. Once converted, we apply KBS verification techniques to isolate these anomalies. Due to the more increasing use of triggered rules in ADBs, this work illustrates the danger these anomalies can pose and the ever increasing need for ADB verification techniques to exist.

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)

  • R. O'Keefe et al.

    Expert system verification and validation: a survey and tutorial

    Artificial Intelligence Review

    (1993)
  • J. Schmolze, A. Vermesan, Validation and verification of knowledge-based systems, Workshop Notes AAAI-96, Portland, OR,...
  • S. Chakravarthy, A comparative evaluation of active relational databases, Technical Report UF-CIS-TR-93-002, Department...
  • Codasyl Data Definition Language Journal of Development National Bureau of Standards Handbook 113 US Government...
  • K.P. Eswaran, D.D. Chamberlain, Functional specifications of a subsystem for database integrity, in: Proceedings of the...
  • U. Dayal, Active database management systems, in: Proceedings of the Conference of Data and Knowledge Bases, Jerusalem,...
  • U. Dayal et al.

    The HiPAC project: combining active databases and timing constraints

    SIGMOD Rec.

    (1988)
  • N.H. Gehani, H.V. Jagadish, O. Shmueli, Event specification in an active object-oriented data base, ACM SIGMOD, 1992,...
  • S. Gatziu et al.

    Events in an object-oriented database

  • S. Chakravarthy et al.

    Composite events for active databases: semantics, contexts and detaction

  • S. Ceri et al.

    Active rule management in chimera

  • M. Stonebraker et al.

    The POSTGRES rule manager

    IEEE Transactions on Software Engineering

    (1988)
  • M. Stonebraker, L. Rowe, M. Hirohama, The implementation of POSTGRES, IEEE Transactions on Knowledge Data Engineering,...
  • E.N. Hanson

    Ariel

  • J. Widom, S. Finkelstein, Set-oriented production rules in relational database systems, Association for Computing...
  • E.N. Hanson et al.

    Rule processing in active database systems

    International Journal of Expert Systems

    (1993)
  • A.V. Pai, Verifying the rule processing components of active databases, MS Thesis, Department of Mathematical and...
  • R. Elmasri et al.

    Fundamentals of Database Systems

    (1989)
  • Cited by (0)

    View full text