An Overview of the LOLA System (system description) by Ulrich Zukowski and Burkhard Freitag Universität Passau, Germany Abstract The LOLA system has been designed as the query answering component of a deductive database system and integrates ideas from logic programming and relational query processing. LOLA is based on a clausal logic programming language with function symbols, negation, grouping and ag- gregation, special predicates for accessing multiple external relational databases, and user- definable computed predicates. Query processing has two phases: In the compilation phase a query against a program is translated into an evaluating expression thereby proceeding top-down from the query to the base relations or user-defined predicates. In the evaluation phase, the resulting expression computes the set of an- swer tuples corresponding to the query and the current extensional database. Extensional relations can reside in main memory or in any external relational database system accessible via SQL. The basic evaluation scheme is set-oriented, bottom-up based on semi-naive ,xpoint iteration, but a closer look reveals that query processing in LOLA consists of a demand-driven and a data-driven part. For simple programs, this can be achieved by applying a form of the magic set transformation and using the core bottomup engine to evaluate the transformed program. To avoid problems caused by combining the plain magic set transformation with negation, the LOLA compiler splits the program into partitions that can be safely magic set transformed and processed bottom-up whereas the communication between the partitions is compiled into function calls that realize top- down control. This technique is correct for modularly stratified negation [Ros94] (w.r.t. the well- founded semantics [VGRS91]) and group-stratified aggregation [Lef94]. The LOLA system has a client/server architecture. The server is fully implemented in Common- lisp. Clients can connect to the server via a TCP/IP-based network. The current system version in- cludes a GUI client implemented in Java, which comprises tracing and visualization facilities, and a WWW client which is essentially a CGI-interface. The design and implementation of the initial version of the LOLA system [FSS91] has been partly funded by the "Deutsche Forschungsgemeinschaft (DFG)" under contract "Ba 722/3- 2: Effiziente Verfahren zur logischen Deduktion über Objektbanken". Since then numerous modifications and extensions have been incorporated into the system. However, the core query evaluation engine which is responsible for the evaluation of so-called iteration groups has not changed.