I. Vlahavas, N. Bassiliades, “Parallel, Object-Oriented and Active Knowledge Base Systems”, Book, Kluwer Academic Publishers, ISBN 0-7923-8117-3, 1998.
Modern data intensive real-world applications, such as data warehousing, data mining, information retrieval, expert database systems, network management, etc. strive for advanced data representation, querying and programming facilities, in order to capture the increasing demand for efficient, automated, tolerant, intelligent and really useful information systems. Such information systems can only be supported by application developing tools that provide for complex representation and efficient processing of knowledge. Knowledge Base Systems are an integration of conventional database systems with Artificial Intelligence techniques. Knowledge Base Systems provide inference capabilities to the database system by encapsulating the knowledge of the application domain within the database. Furthermore, Knowledge Base Systems provide sharing, ease of maintenance, and reusability of this knowledge which is usually expressed in the form of high-level, declarative rules, such as production and deductive rules. However, the enormous amount and complexity of data and knowledge to be processed by these systems imposes the need for increased performance and expressiveness from the Knowledge Base System. The problems associated with the large volumes of data are mainly due to the sequential data processing and the inevitable input/output bottleneck. In order to avoid this bottleneck parallel database systems have emerged to speed-up data intensive applications. Furthermore, the synchronous, sequential execution of large numbers of rules leads to unnecessarily many inferencing cycles that slow down Knowledge Base Systems. Parallel rule-based systems try to speed-up rule processing by executing asynchronously the various phases of rule evaluation in multiprocessor environments. Finally, the decision about the applicability of a certain piece of knowledge to a certain information state requires a large amount of pattern matching and control synchronization that can be distributed in a multiprocessor environment. On the other hand, the structure complexity of the data and data manipulating programs, along with the impedance mismatch between the programming languages and the relational database management systems led to the advent of Object-Oriented Database systems, an intersection of object-oriented ideas and conventional databases. Object-Oriented Databases reduce the “semantic gap” between real world concepts and data representation models. This one-to-one mapping helps the development of complex applications, such as CAD/CAM, simulation, graphical user interfaces, etc. Object-Oriented Databases encapsulate within the database system both data and programs, with advantages such as program re-use, modularization, and ease of maintenance. The object-oriented model offers a uniform, extensible and re-usable data and program representation that seems a promising solution for the integration of databases and knowledge-based systems. This book presents such an approach to Knowledge Base Systems: A Parallel Knowledge Base System that is built on top of a Parallel Active Object-Oriented Database System. In the first part of the book, we discuss extensively the various attempts to integrate one or more rule types into databases in order to provide inferencing capabilities to the latter. The initial presentation of mostly sequential Knowledge Base Systems gives the reader a feel of the various problems and the proposed solutions for such systems. At the end of this first part, we present in detail one such system which integrates high-level, declarative rules into an active Object-Oriented Database. The resulting system is a flexible and extensible knowledge base system with multiple rule support. In the second part of the book, we move into parallel Knowledge Base Systems by providing initial discussions of related research issues, such as parallel relational and object-oriented database systems. Many aspects of parallel rule execution are discussed including production, deductive, and active rules. Finally, a complete parallel Knowledge Base System is presented. The system is based on the integration of a parallel Object-Oriented Database model with the multiple-rule integration scheme that is presented in the first part. The final system is implemented on a hierarchical multiprocessor architecture. The book is intended as a reference text to the integration of database and knowledge base techniques for the researchers in the field of Knowledge Base Systems. It covers an extensive bibliography on the areas of rule integration in databases, namely active and deductive databases, as well as the unification of various rule types. Furthermore, the topics of parallel production, deductive, and active rule execution, both for databases and main-memory expert systems are reviewed. Several chapters of the book (except probably of chapters 4 and 7 that describe a specific system) analyze in detail, using examples, various techniques for the above topics. Therefore, the book can also be used as a textbook for an advanced course in Knowledge Base Systems. Finally, the book gives an in-depth insight to a specific parallel Knowledge Base System for the researchers that work in the fields of Active Databases, Knowledge Bases, and Object-Oriented Databases, on the one hand, and Parallel Databases, on the other.