OSAM.KBMS/P: a parallel, active, object-oriented knowledge base server - Su, S.Y.W.; Jawadi, R.; Cherukuri, P.; Qiang Li; Nartey, R. (IEEE transactions on knowledge and data engineering, 1998)
An active object-oriented knowledge base server can provide many desirable features for supporting a wide spectrum of advanced and complex database applications. Knowledge rules, which are used to define a variety of database tasks to be performed automatically on the occurrence of some events, often need much more sophisticated rule-specification and control mechanisms than the traditional priority-based mechanism to specify the control structural relationships and parallel execution properties among rules. The underlying object-oriented (OO) knowledge representation model must provide a means to model the structural relationships among data entities and the control structures among rules in a uniform fashion. The transaction execution model must provide a means to incorporate the execution of structured rules in a transaction framework. Also, a parallel implementation of an active knowledge base server is essential to achieve the needed efficiency in processing nested transactions and rules. In this paper, we present the architecture, implementation, and performance of a parallel active OO knowledge base server, which has the following features. First, the server is developed based on an extended OO knowledge representation model that models rules as objects and their control structural relationships as association types. This is analogous to the modeling of entities as objects and their structural relationships as association types. Thus, entities and rules, and their structures, can be uniformly modeled. Second, the server uses a graph-based transaction model that can naturally incorporate the control semantics of structured rules and guarantee the serializable execution of rules as subtransactions. Thus, the rule-execution model is uniformly integrated with that of transactions. Third, it uses an asynchronous parallel execution model to process the graph-based transactions and structured rules. This server, named OSAM*.KBMS/P, has been implemented on a shared-nothing multiprocessor system (nCUBE2) to verify and evaluate the proposed knowledge-representation model, graph-based transaction model, and asynchronous parallel-execution model.