Using Smodels (declarative logic programming) to verify correctness of certain active rules

M. Nakamura, R. Elmasri
Proceedings 18th International Conference on Data Engineering  
In this paper we show that the language of declarative logic programming (DLP) with answer sets and its extensions can be used to specify database evolution due to updates and active rules, and to verify correctness of active rules with respect to a specification described using temporal logic and aggregate operators. We classify the specification of active rules into four kind of constraints which can be expressed using a particular extension of DLP called Smodels. Smodels allows us to specify
more » ... llows us to specify the evolution, to specify the constraints, and to enumerate all possible initial database states and initial updates. Together, these can be used to analyze all possible evolution paths of an active database system to verify if they satisfy a set of given constraints. Active databases have tremendous potential to simplify database programming by specifying appropriate ECA(Event-Condition-Action) rules. One impediment to their widespread use has been the need for design methodologies and verification techniques to show that a set of rules is consistent and satisfies the system requirements. Database triggers are typically activated when a particular update occurs. When we have a set of triggers, an update which is activated by one trigger can activate other triggers and can create a sequence of updates. A designer of an active database should make sure that sequences of updates do not violate the "purpose" of the triggers. Triggers are an essential component of active database systems and are now part of the SQL3 database standard. After their implementation in several research prototypes, they are now incorporated in commercial database systems such as Oracle, Sybase and IBM's DB2-V2 [1]. There has been much work on the syntax of triggers, how they are to be executed, their execution models, and their implementations, and some work on formal frameworks for active databases in regards to semantics and expressiveness. However, comparatively fewer work has been done on methodologies to design triggers, specify what triggers
doi:10.1109/icde.2002.994724 dblp:conf/icde/NakamuraE02 fatcat:bxtu6pajdjdz7isctmur4nqah4