A Short History of LDL/LDL++
This is an attempt to condense in a short summary the history of the LDL/LDL++ project. Given the long duration and rich history of this research project, my recollection and credits are bound to be incomplete and imperfect, in many ways. For comments or questions, please, send me e-mail at the address below.The Early Years
The LDL project began at the end of 1984 in the the newly formed Database Program of the newly formed MCC (a U.S. research consortium located in Austin, Texas). The objective was to build a database system endowed with a powerful language for developing complex data-intensive and knowledge-based applications. Logic rules based on Horn clauses were soon chosen as the basis for our language because of their ability to support expert systems programming while mantaing compatibility with existing relational databases. Therefore, our research focused on (i) further extensions needed at the language level (ii) compilation and execution techniques suitable for secondary-storage resident databases.The name Logical Data Language (LDL) first appeared in a paper by Shalom (Dick) Tsur and Carlo Zaniolo [VLDB'86]; the paper describes the main constructs in the language, such as complex terms and recursion, sets, set aggregates, and database schema declarations. To facilitate the processing of bulk data from secondary store, a bottom-up execution model was adopted and perfected through safety analysis and optimization techniques. The first LDL prototype, completed in 1987 incorporated contributions by the people mentioned above and Francois Bancilhon (seminaive fixpoint, magic sets), Tony O'Hare (chief programmer), and Charles Kellogg (PCG graphs).
The LDL System
This first prototype compiled LDL programs into an extended relational algebra language designed for a not-soon-available MCC parallel database machine. Therefore, in 1987, the newly formed deductive computing laboratory of MCC undertook the design and development of a new stand-alone deductive database system for LDL. By that time, denoted by a great flurry of R&D activities, the LDL team had grown by several new members, including, Shamin Naqvi and Ravi Krishnamurthy (their contributions focused on non-monotonic constructs, such as updates and choice, and on strategies for execution and optimization), Oded Shmueli (who contributed to set constructs), and a new team of system implementors led by Danette Chimenti and Ruben Gamboa. The LDL endeavor was enriched by the research contributions of PhD students and academic visitors, including, Raghu Ramakrishan and Domenico Sacca.The LDL++ System
The completion of the LDL prototype in 1989 allowed the development of a host a new applications that revealed the potential of LDL in several roles, such as rapid prototyping of information systems, intelligent middleware and information brokering, data cleaning and conversion, and data mining. A drive to transfer the technology to MCC's shareholders and overcome some of the limitations found in real-life applications inspired the design and implementation of the new LDL++ prototype to serve in the twin role of (i) desktop deductive database system and (ii) extend SQL client linking with large SQL servers and legacy databases. The new LDL++ prototype featured an open architecture with close integration with C++ and SQL databases, fast compilation, incremental execution of query answers, and improved treatment of sets, aggregates and choice operators. The LDL++ system, developed by Natraj Arni and Kayliang Ong, was completed in 1990, and was used in several applications by MCC, its shareholders, and other research projects. Several contributions to LDL++ were in fact made by long-term assignees from shareholder companies, including Brijesh Agrawahl and Ernie Tsou, and visitors from the academic world including Fosca Giannotti, Sergio Greco and Sumit Ganguly. A decreased level of funding (a reflection of the problems then afflicting the computer industry, MCC shareholders, MCC management, Japan's fifth-generation project and most AI projects), and the departure of the project manager (C. Zaniolo) and the foremost application expert (S. Tsur) caused the project to be merged into the Carnot Project in 1992.More Recent Developments
Since 1992, the LDL++ system has been deployed in several middleware applications with MCC shareholders; an important component of the Infosleuth technology suite is used to construct intelligent agents that support the semantic interoperability of distributed databases and heterogeneous information resources. Innovative LDL++ users included Amit P. Sheth, who used for data integration and cleaning, and Wei-Min Shen, who demonstrated uses of the technology in knowledge-discovery. Several improvements to the system, such as more efficient interfaces to SQL and external systems, were added at MCC by N. Arni, K. Ong and C. Unnikrishan. Finally, during these years, unresolved research issues limiting the power of the language (e.g., by excluding negation and aggregates from recursion) were brought to a resolution. A new version of LDL++ which includes support for non-monotonic recursion and generalized user-defined set aggregates was developed at UCLA by Haixun Wang in 1999..Return to the home page for a more detailed description of the main LDL++ constructs and recent extensions.
Carlo Zaniolo
November, 1997
zaniolo@cs.ucla.edu