University of Florida
Computer and Information Sciences
.. -. '. Department of Computer and Information Sciences
.':K- ------ ---- -- ----~ -----
. _' Computer Science Engineering Building
University of Florida
Gainesville, Florida 32611
Active Data/Knowledge Base Research
At The University of Florida
S. Y. W. Su
Tech. Report UF-CIS-TR-92-047
Active Data/Knowledge Base Research
At The University of Florida
S. Chakravarthy E. Hanson S. Y. W. Su
Database Systems Research and Development Center
Computer and Information Sciences Department
University of Florida, Gainesville, FL 32611
A number of research projects addressing various issues on active data/knowledge bases are currently under-
way at the University of Florida. The Sentinel project focuses on the research, design, and implementation
issues for an object-oriented active database system. The Ariel database system deals with rule condition
testing optimization and reliable client-server interaction. The research emphasis in the third project is on
the development of concepts and techniques of Active Object-oriented Knowledge Base Management
Systems. In this short paper we highlight the accomplishments of each project and briefly outline ongoing
and future work.
Sentinel is a (re)active Object-Oriented DBMS currently under development using Zeitgeist from Texas In-
struments as the underlying platform. The emphasis of this project is on the systems and research issues in the
context of an object-oriented active DBMS. This project extends the results obtained in HiPAC [C'+s] to ex-
pressive event specification language and its implementation[C('\'1], distributed situation monitoring[CG91],
seamless integration of ECA rules into a DBPL[ANW92], communication among application processes us-
ing active database paradigm. The long term objective is to use the resulting system: i) as a basis for a
self-monitoring (or adaptive) DBMS, ii) to provide support for cooperative problem solving [CNTK90], and
iii) to support multi-media active DBMS for scientific applications. Below, we highlight some of the results
obtained so far.
Snoop[C\I'1l] is an expressive model independent event specification language. We have defined an event
precisely and distinguished between an event and a condition. We proposed an event hierarchy consisting of
primitive and composite (or complex) events. Primitive events are further classified into database, time, and
external/abstract events. A number of event operators (disjunction, sequence, all, periodic and periodic with
cumulative and non-cumulative variations) were defined along with the grammar for constructing complex
events. We also showed how contingency plans can be translated into Snoop using the above operators and
an aggregate count operator.
The notion of parameter contexts is used to compute parameters of complex events. Three contexts
recent, chronicle, and cumulative -were introduced to match the semantics required for widely understood
classes of applications. Snoop is being implemented in the context of an OODBMS.
2.2 Seamless integration of ECA Rules into an OODBMS
In [ANW92] we classify objects into passive, reactive, and notifiable types. Passive objects are conventional
C++ objects. Reactive objects generate primitive events when their methods are invoked. Notifiable objects
are recipients of events generated by reactive objects. In contrast to other work in this category (notably,
ADAM and Ode), we provide support for an external monitoring viewpoint which permits notifiable objects
to dynamically subscribe to monitor changes to reactive objects and take appropriate actions. Both events
and rules are supported as first class objects; composite events are implemented using a hierarchy thereby
facilitating the detection of events using the structure provided by the class hierarchy. The proposed frame-
work supports event and rule specification on any class including the rule class; immediate and deferred
coupling modes are currently supported. Only recent context for parameter computation is currently sup-
ported. This work, in summary, combines the strengths of the approaches taken in Ode and ADAM and
further extends them in several significant ways.
2.3 Extended Relational Algebra (ERA)
One of the optimization techniques for the Changes operator proposed in HiPAC [C'+'] was incremental
evaluation. ERA[CG91] provides a mathematical basis for evaluating changes to arbitrary, non-aggregate
expressions of relational algebra. Incremental versions for all relational operators (select, project, join, union,
and difference) were developed and their correctness shown. Optimizing transformations using incremental
versions of operators have been developed. The restriction on the chain rule developed in HiPAC was
relaxed to obtain a generalized chain rule. Finally, alternative ways of optimizing expressions with the
Changes operator were developed and analyzed.
2.4 AI and Database Integration
Our approach [CBM91] to AI and Database integration is to support production rule systems on a shared
database. Towards this end, we developed a methodology for translating an OPS5 class of production
rule applications into relations and triggers; execution equivalence (assuming the same conflict resolution
strategy) is guaranteed. A correspondence was established between the production rule system concepts and
active database concepts and an algorithm was developed to translate the source code of an OPS5 program
to DDL for an active DBMS that supports simple forms of triggers (only disjunction of events and multiple
triggers capability for a relation is required). The advantages of this approach to AI and database integration
(as opposed to the approach of adding database functionality to a production rule system) are that all the
database features such as persistence, access methods support, and optimization become readily available.
Work on the concurrency control and recovery issues is underway to support multiple OPS5 applications
simultaneously on a shared database.
In addition to the above, we are currently: i) implementing a nested transaction model for concurrent rule
evaluation in Sentinel, ii) studying the performance of seamless integration of rules and events, and iii)
addressing the translation of high-level active OODBMS specification to rules and objects in Sentinel.
The Ariel project is focused on extending database systems with an active database capability based on the
production system model. Our goals in this project are to make the system reliable, efficient, and carefully
integrated with traditional DBMS functions. Ariel currently processes rules of the following form:
define rule rule-name [in ruleset-name]
The condition of an Ariel rule can refer to an event (such as insertion, deletion, or modification of data
in a particular table), a condition (similar to the where clause of a query), or both. Transition condi-
tions are supported using a special keyword previous that can appear before an expression of the form
tupleVariable.field to get the old value of the field. An example of a rule with a transition condition is:
define rule ToyRaiseLimit
if emp.dno = dept.dno
and dept.name = "T,.
and emp.salary > 1.1 previous emp.salary
then replace emp (salary = 1.1 previous emp.salary)
The effect of this rule is to limit the size of a raise a Toy department employee can get to ten percent.
Previous work on Ariel has focused on efficient rule condition testing, including
1. fast testing of new tuple values against a large number of single-relation selection conditions [HCKW90],
2. comparison of the Rete [FOR82] and TREAT I1 1;'S7] algorithms for database rule condition testing
3. design of an integrated active database system based on a variation of the TREAT algorithm called
A-TREAT that is optimized for the database environment [HAN92].
Our current work is examining:
1. use of optimization techniques to build a hybrid Rete-TREAT discrimination network tuned for a
particular database, set of rules, and update pattern, and
2. reliable transmission of requests from rule actions to application programs.
Regarding the first item, we observe that a discrimination network, like a Rete network, has a structure very
close to that of a relational database query plan. We are focusing on an approach that extends the traditional
approach to query optimization by taking into consideration additional information about update frequency,
which is a key variable in discrimination network optimization but is not relevant for query optimization.
Regarding the second item, active database systems now typically support a capability whereby the
action of a rule in the DBMS can invoke some computation in an application program, or set of programs,
running outside the DBMS, typically on client workstation, (e.g., put a pop-up window on my display if the
price of my favorite stock looks cheap). However, current implementations of this suffer from a reliability
problem, i.e., requests from the DBMS to applications may be lost (we call this the lost dependent operation
(LDO) problem), or requests based on non-committed updates may be processed by applications (we dub
this the dirty dependent operation (DDO) problem. We are striving to develop solutions to the LDO and
DDO problems and use them in an extended version of Ariel that will support reliable interaction with
In the future, we plan to investigate implementation of production-system-style active database systems
on parallel architectures. Our hope is that by working to make active database powerful, reliable, and
efficient, they can be used as an effective tool in large-scale transaction processing systems.
4 Active Object-oriented Knowledge Base Management Systems
Another major research emphasis is the development of active KBMS concepts and techniques.
4.1 An Active KBMS Based on the OSAM* Model
The design of the KBMS ['i;- BF;'-] was based on the object-oriented paradigm. It features an object-
oriented semantic association model Os,.\ \ [KT. '] which provides strong support for semantic association
types and knowledge rule specification and processing facilities, in addition to the traditional features of the
00 paradigm. Five system-defined association types are provided to capture different semantic relationships
existing among object classes and their object instances. Additional (user-defined) association types are
introduced by modeling association types as object classes and their semantic properties by methods and
knowledge rules defined in these classes [YSL91]. In addition to structural properties and methods, knowledge
rules with triggers are defined in object classes as part of their behavioral properties. They capture semantic
integrity, security, and other business and organizational constraints found in an application domain. Just
like attributes and methods, rules can be inherited in a generalization hierarchy or lattice. Knowledge rules
which are applicable to different sets of objects are naturally distributed among object classes and are used
by the KBMS to enforce various constraints when objects are processed. A rule processor of the KBMS
automatically triggers rules under different specified trigger conditions. Activation of a rule may trigger
other rules. The above features make the KBMS an active KBMS. Documentations on the design and
implementation of the knowledge rule specification language and the KBMS can be found in [ASL90, SA91,
LAM89, SL90, LAM92].
4.2 A High-level Knowledge Base Programming Language K
Research is being carried out to develop a high-level knowledge base programming language called K ', I1].
K provides high-level modeling constructs to capture complex structural and behavioral semantics in terms
of object classes, associations, methods and knowledge rules offered by the Os.\ \' model. It also contains
set-oriented retrieval and manipulation constructs which use pattern-based specifications [.\T. -''] instead of
the traditional attribute-based specification found in the existing relational query languages. The language
also contains the traditional computational constructs such as If-Then-Else, do loops, case statements, etc.,
to make the language computationally complete. A compiler for a version of K and its supporting KBMS
have been developed [SHY92, ARR92]. In K.1, a rule consists of the following 4 parts: 1) Trigger: Trigger
condition and trigger time, 2) Condition: a complex object pattern, 3) Action: Action to be performed when
the condition is satisfied, and 4) Otherwise: Action to be performed when the condition is not satisfied. K.1
provides the following active features in addition to the features of O,.\ \I '.KBMS. K.1 supports user-defined
operations as a Trigger. It also allows a sequence of data conditions to be specified in a guarded expression
and be evaluated in the specified order so that a violation of a condition can terminate the evaluation of a
rule. K.1 also supports cascade firing of the rules, i.e., an operation activated by a rule can trigger another
set of rules which in turn can trigger some other rules. Rule execution in K.1 is efficient since rules are pre-
compiled and equivalent C++ code is generated. This code will be executed when the rules are triggered. A
KBMS provides query processing, rule processing capabilities, and persistent database support during the
execution of K.1 programs.
4.3 Active OOKBMS in a Distributed and Parallel Environment
As the complexity of an active KBMS increases, efficiency becomes a major concern. Research is being carried
out in Parallel and Distributed Active OOKBMS. In this project, a parallel query processor and parallel
object manager have been implemented [GOR91, GOP92, BHE92]. It uses wavefront algorithms [TSL90,
SCL91]. A parallel rule processor for object processing is being built on top of the parallel query processor.
Based on the fact that the rules are often semantically related and they have inter-dependencies, semantic rule
structures are used instead of isolated rules. Rule structures capture the control flow semantics among rule
objects. A parallel rule processing algorithm that executes rule structures without violating the control flow
and database consistency is being implemented. This algorithm achieves inter-structure parallelism, intra-
structure parallelism and intra-rule parallelism. A nested locking protocol is used to maintain consistency
during rule execution.
[ANW92] E. Anwar. Supporting complex events and rules in an oodbms: A seamless approach. Master's thesis,
CIS Department, University of Florida, November 1992.
[ARR92] Arroyo, J. A. The Design and Implementation of K.I: A Third Generation Database Programming
Language, Master's Thesis, CIS Department, University of Florida, 1992.
[ASL89] Alashqur, A. M., Su, S. Y. W., and Lam, H. OQL: A Query Language for Manipulating Object-oriented
Databases, Proc. of VLDB Conference, 1989, pp. 433-442.
[ASL90] Alashqur, A. M., Su, S. Y. W., and Lam, H. A Rule-based Language for Deductive Object-oriented
databases, Proc. of the 6th Int'l Conf. on Data Engineering, 1990, pp. 58-67.
[BHE92] Bhethanabotla, Shyam S. Design and Implementation of a Distributed Object Manager, Master of
Engineering Thesis, Electrical Engineering, University of Florida, 1992.
[C+89] S. Chakravarthy et al. HiPAC: A Research Project in Active, Time-Constrained Database Management,
Final Report. Technical Report XAIT-89-02, XAIT, Cambridge, MA, Aug. 1989.
[CBM91] S. Chakravarthy and R. Blanco-Mora. Supporting very large production systems using active dbms
abstraction. Technical Report UF-CIS TR-91-25, CIS Department, University of Florida, Sep. 1991.
[CG91] S. Chakravarthy and S. Garg. Extended relational algebra (era): for optimizing situations in active
databases. Technical Report UF-CIS TR-91-24, CIS Department, University of Florida, Nov. 1991.
[CM91] S. Chakravarthy and D. Mishra. An event specification language (snoop) for active databases and its
detection. Technical Report UF-CIS TR-91-23, CIS Department, University of Florida, Sep. 1991.
[CNTK90] S. Chakravarthy, S. B. Navathe, A. Tanaka, and S. Karlapalem. The cooperative problem solving
approach: A database-centered approach. In S. M. Deen, editor, Cooperative Knowledge Based Systems,
pages 30-52. Springer-Verlag, 1990.
[FOR82] C. L. Forgy. Rete: A fast algorithm for the many pattern/many object pattern match problem. Artificial
Intelligence, 19:17-37, 1982.
[GOP92] Gopalan, A. Transaction Management and Recovery in a Distributed Object-oriented Database System,
Master of Science Thesis, Electrical Engineering, University of Florida, 1992.
[GOR91] Gorur, Arun S. Implementation of a Query Processor on a Multiprocessor Network, Master of Science
Thesis, Electrical Engineering Department, University of Florida, 1991.
[HAN92] Eric N. Hanson. Rule condition testing and action execution in Ariel. In Proceedings of the ACM
SIGMOD International Conference on Management of Data, pages 49-58, June 1992.
[HCKW90] Eric N. Hanson, Moez Chaabouni, Chang-ho Kim, and Yu-wang Wang. A predicate matching algo-
rithm for database rule systems. In Proceedings of the ACM SIGMOD International Conference on
Management of Data, pages 271-280, May 1990.
[LSR92] Lam, H., Su, S. Y. W., Ruhela, V., Pant, S., Ju, S. M., Sharma, M., and Prasad, N. GTOOLS: An Active
GUI Toolset for an Object-oriented KBMS, Int'l Journal of Computer System Sciences and Engineering,
Vol 7, No. 2, 1992, pp. 69-85.
[MIR87] Daniel P. Miranker. TREAT: A better match algorithm for AI production systems. In Proceedings of
AAAI 87 Conference on Artificial Intelligence, pages 42-47, August 1987.
[RS88] Raschid, L. and Su, S.Y.W. A Transaction-Oriented Mechanism to Control Processing in a Knowledge
Base Management System, Proceedings of the Second Int'l Conf. on Expert Database Systems, 1988,
[SA91] Su, S. Y. W., and Alashqur, A. M. A Pattern-based constraint Specification Language for Object-
oriented Databases, Proc. of IEEE COMPCON 91, 1991.
[SCL91] Su, Stanley Y.W., Chen, Yaw-Huei, and Lam, Herman. Multiple Wavefront Algorithms for Pattern-
based Processing of Object-oriented Databases, Proc. of the Int'l Conf. on PDIS, 1991, pp. 46-55.
[SHY92] Shyy, Y. M. The Design and Implementation of a Knowledge Base Programming Language for Evolu-
tionary Prototyping of Software Systems, Ph.D. Dissertation, CIS Department, University of Florida,
[SKL89] Su, S.Y.W., Krishnamurthy, V., Lam, H. An Object-Oriented Semantic Association Model (OSAM*)for
Modeling CAD/CAM Databases, Chapter 17 in Artificial Intelligence: Manufacturing Theory and Prac-
tice, Institute of Industrial Engineers, Industrial Engineering and Management Press, Norcross, GA,
1989, pp. 463-494.
[SL90] Su, S. Y. W. and Lam, H. Object-oriented Knowledge Base Management Technology for Improving
Productivity and Competitiveness in Manufacturing, Proc. of the 16th NSF Grantees Conference on
Design and Manufacturing Systems Research, AZ., Jan. 8-12, 1990, pp. 161-167.
[SLH92] Su, S. Y. W., Lam, H. Hardwick, M., Spooner, D., Goldschmidt, A. and Chida, J. An Integrated
Object-oriented Knowledge Base Management System OSAM*.KBMS/ROSE for Supporting Design
and Manufacturing, Proc. of the IEEE Second Int. Conf. on Systems Integration, 1992, pp. 152-161.
[SR85] Su, S. Y. W. and Raschid, L. Incorporating Knowledge Rules in a Semantic Data Model: An Approach
to Integrated Knowledge Management, A. I. Applications conf., Miami, Dec. 1985.
[SS91] Shyy, Yuh-Ming and Su, Stanley Y.W. K: A High-level Knowledge Base Programming Language for
Advanced Database Applications in Proc. of ACM SIGMOD 1991, Denver, CO., May 29-31, 1991, pp.
[TSL90] Thakore, A. K., Su, S. Y. W., Lam, H. and Shea, D. G. Asynchronous Parallel Processing of Object
Bases using Multiple Wavefronts, Proc. of the Int. Conf. on Parallel Processing. Chicago, IL., Aug. 1990,
[WH92] Yu-wang Wang and Eric N. Hanson. A performance comparison of the Rete and TREAT algorithms
for testing database rule conditions. In Proc. IEEE Data Eng. Conf., February 1992.
[YSL91] Yaseen R., Su, Stanley Y.W. and Lam, Herman. An Extensible Kernel Object Management System, in
Proc. of OOPSLA '91, 1991, pp. 247-263.