keller@UTAH-CS.ARPA (Bob Keller) (05/29/86)
SCHEDULE SLP '86 Third IEEE Symposium on LOGIC PROGRAMMING September 21-25, 1986 Westin Hotel Utah Salt Lake City, Utah Conference Chairperson Gary Lindstrom, University of Utah Program Chairperson Local Arrangements Chairperson Robert M. Keller, University of Utah Thomas C. Henderson, University of Utah Tutorials Chairperson Exhibits Chairperson George Luger, University of New Mexico Ross Overbeek, Argonne National Lab. Program Committee Francois Bancilhon, MCC William Kornfeld, Quintus Systems John Conery, University of Oregon Gary Lindstrom, University of Utah Al Despain, U.C. Berkeley George Luger, University of New Mexico Herve Gallaire, ECRC, Munich Rikio Onai, ICOT/NTT, Tokyo Seif Haridi, SICS, Stockholm Ross Overbeek, Argonne National Lab. Lynette Hirschman, SDC Mark Stickel, SRI International Peter Kogge, IBM, Owego Sten Ake Tarnlund, Uppsala University SUNDAY, September 21 19:00 - 22:00 Symposium and tutorial registration MONDAY, September 22 08:00 - 09:00 Symposium and tutorial registration 09:00 - 17:30 TUTORIALS (concurrent) Please see attached abstracts. George Luger Introduction to AI Programming in Prolog University of New Mexico David Scott Warren Building Prolog Interpreters SUNY, Stony Brook Neil Ostlund Theory of Parallelism, with Applications to Romas Aleliunas Logic Programming University of Waterloo 12:00 - 17:30 Exhibit set up time 18:00 - 22:00 Symposium registration 20:00 - 22:00 Reception TUESDAY, September 23 08:00 - 12:30 Symposium registration 09:00 Exhibits open 09:00 - 09:30 Welcome and announcements 09:30 - 10:30 INVITED SPEAKER: W. W. Bledsoe Some Thoughts on Proof Discovery 11:00 - 12:30 SESSION 1: Applications The Logic of Tensed Statements in English - an Application of Logic Programming Peter Ohrstrom, University of Aalborg Nils Klarlund, University of Aarhus Incremental Flavor-Mixing of Meta-Interpreters for Expert System Construction Leon Sterling and Randall D. Beer Case Western Reserve University The Phoning Philosopher's Problem or Logic Programming for Telecommunications Applications J.L. Armstrong, N.A. Elshiewy, and R. Virding Ericsson Telecom 14:00 - 15:30 SESSION 2: Secondary Storage EDUCE - A Marriage of Convenience: Prolog and a Relational DBMS Jorge Bocca, ECRC, Munich Paging Strategy for Prolog Based Dynamic Virtual Memory Mark Ross, Royal Melbourne Institute of Technology K. Ramamohanarao, University of Melbourne A Logical Treatment of Secondary Storage Anthony J. Kusalik, University of Saskatchewan Ian T. Foster, Imperial College, London 16:00 - 17:30 SESSION 3: Compilation Compiling Control Maurice Bruynooghe, Danny De Schreye, Bruno Krekels Katholieke Universiteit Leuven Automatic Mode Inference for Prolog Programs Saumya K. Debray, David S. Warren SUNY at Stony Brook IDEAL: an Ideal DEductive Applicative Language Pier Giorgio Bosco, Elio Giovannetti C.S.E.L.T., Torino 17:30 - 19:30 Reception 20:30 - 22:30 Panel (Wm. Kornfeld, moderator) Logic Programming for Systems Programming WEDNESDAY, September 24 09:00 - 10:00 INVITED SPEAKER: Sten Ake Tarnlund Logic Programming - A Logical View 10:30 - 12:00 SESSION 4: Theory A Theory of Modules for Logic Programming Dale Miller University of Pennsylvania Building-In Classical Equality into Prolog P. Hoddinott, E.W. Elcock The University of Western Ontario Negation as Failure Using Tight Derivations for General Logic Programs Allen Van Gelder Stanford University 13:30 - 15:00 SESSION 5: Control Characterisation of Terminating Logic Programs Thomas Vasak, The University of New South Wales John Potter, New South Wales Institute of Technology An Execution Model for Committed-Choice Non-Deterministic Languages Jim Crammond Heriot-Watt University Timestamped Term Representation in Implementing Prolog Heikki Mannila, Esko Ukkonen University of Helsinki 15:30 - 22:00 Excursion THURSDAY, September 25 09:00 - 10:30 SESSION 6: Unification Refutation Methods for Horn Clauses with Equality Based on E-Unification Jean H. Gallier and Stan Raatz University of Pennsylvania An Algorithm for Unification in Equational Theories Alberto Martelli, Gianfranco Rossi Universita' di Torino An Implementation of Narrowing: the RITE Way Alan Josephson and Nachum Dershowitz University of Illinois at Urbana-Champaign 11:00 - 12:30 SESSION 7: Parallelism Selecting the Backtrack Literal in the AND Process of the AND/OR Process Model Nam S. Woo and Kwang-Moo Choe AT & T Bell Laboratories Distributed Semi-Intelligent Backtracking for a Stack-based AND-parallel Prolog Peter Borgwardt, Tektronix Labs Doris Rea, University of Minnesota The Sync Model for Parallel Execution of Logic Programming Pey-yun Peggy Li and Alain J. Martin California Institute of Technology 14:00 - 15:30 SESSION 8: Performance Redundancy in Function-Free Recursive Rules Jeff Naughton Stanford University Performance Evaluation of a Storage Model for OR-Parallel Execution Andrzej Ciepelewski and Bogumil Hausman Swedish Institute of Computer Science (SICS) MALI: A Memory with a Real-Time Garbage Collector for Implementing Logic Programming Languages Yves Bekkers, Bernard Canet, Olivier Ridoux, Lucien Ungaro IRISA/INRIA Rennes 16:00 - 17:30 SESSION 9: Warren Abstract Machine A High Performance LOW RISC Machine for Logic Programming J.W. Mills Arizona State University Register Allocation in a Prolog Machine Saumya K. Debray SUNY at Stony Brook Garbage Cut for Garbage Collection of Iterative Programs Jonas Barklund and Hakan Millroth Uppsala University EXHIBITS: An exhibit area including displays by publishers, equipment manufacturers, and software houses will accompany the Symposium. The list of exhibitors includes: Arity, Addison-Wesley, Elsevier, Expert Systems, Logicware, Overbeek Enterprises, Prolog Systems, Quintus, and Symbolics. For more information, please contact: Dr. Ross A. Overbeek Mathematics and Computer Science Division Argonne National Laboratory 9700 South Cass Ave. Argonne, IL 60439 312/972-7856 ACCOMODATIONS: The Westin Hotel Utah is a gracious turn of the century hotel with Mobil 4-Star and AAA 5-Star ratings. The Temple Square Hotel, located one city block away, offers basic comforts for budget-conscious attendees. MEALS AND SOCIAL EVENTS: Symposium registrants (excluding students and retired members) will receive tickets for lunches on September 23, 24, and 25, receptions on September 22 and 23, and an excursion the afternoon of September 24. The excursion will comprise a steam train trip through scenic Provo Canyon, and a barbeque at Deer Valley Resort, Park City, Utah. Tutorial registrants will receive lunch tickets for September 22. TRAVEL: The Official Carrier for SLP '86 is United Airlines, and the Official Travel Agent is Morris Travel (361 West Lawndale Drive, Salt Lake City, Utah 84115, phone 1-800-621-3535). Special airfares are available to SLP '86 attendees. Contact Morris Travel for details. A courtesy limousine is available from Salt Lake International Airport to both symposium hotels, running every half hour from 6:30 to 23:00. The taxi fare is approximately $10. CLIMATE: Salt Lake City generally has warm weather in September, although evenings may be cool. Some rain is normal this time of year. ______________________________________________________________________________ SLP '86 Symposium and Tutorial Registration Coupon: Advance symposium and tutorial registration is available until September 1, 1986. No refunds will be made after that date. Send a check or money order (no currency will be accepted) payable to "Third IEEE Symposium on Logic Programming" to: Third IEEE Symposium on Logic Programming IEEE Computer Society 1730 Massachusetts Avenue, N.W. Washington, D.C. 20036-1903 Your Name __________________________________________________________________ Affiliation ________________________________________________________________ Full mailing address _______________________________________________________ _______________________________________________________ _______________________________________________________ Telephone __________________________________________________________________ IEEE Computer Society membership number (if applicable) ___________________ Educational institution (for students) _____________________________________ Circle applicable items: Symposium Registration: Advance On-Site IEEE Computer Society members $185 $215 Non-members $230 $270 Full-time student members $ 50 $ 50 Full-time student non-members $ 65 $ 65 Retired members $ 50 $ 50 Tutorial Registration: (circle which tutorial: "Luger", "Warren", or "Ostlund") Advance On-Site IEEE Computer Society members $140 $170 Non-members $175 $215 Total enclosed ______________________________ _______________________________________________________________________________ SLP '86 Hotel Reservation Coupon: Mail or Call: phone 801-531-1000, telex 389434 Westin Hotel Utah Main and South Temple Streets Salt Lake City, UT 84111 Your Name __________________________________________________________________ Affiliation ________________________________________________________________ Full mailing address _______________________________________________________ _______________________________________________________ _______________________________________________________ Telephone __________________________________________________________________ Date of arrival ______________________ Date of departure ______________________ Total enclosed ______________________________ A deposit of one night's room or credit card guarantee is required for arrivals after 6pm. Room Rates (circle your choice): Westin Hotel Utah Temple Square Hotel single room $60 $30 double room $70 $36 Reservations must be made mentioning SLP '86 by August 31, 1986 to guarantee these special rates. _______________________________________________________________________________ SLP '86 TUTORIAL ABSTRACTS IMPLEMENTATION OF PROLOG INTERPRETERS AND COMPILERS DAVID SCOTT WARREN SUNY AT STONY BROOK Prolog is by far the most used of various logic programming languages that have been proposed. The reason for this is the existence of very efficient implementations. This tutorial will show in detail how this efficiency is achieved. The first half of this tutorial will concentrate on Prolog compilation. The approach is first to define a Prolog Virtual Machine (PVM), which can be implemented in software, microcode, hardware, or by translation to the language of an existing machine. We will describe in detail the PVM defined by D.H.D. Warren (SRI Technical Note 309) and discuss how its data objects can be represented efficiently. We will also cover issues of compilation of Prolog source programs into efficient PVM programs. ARTIFICIAL INTELLIGENCE AND PROLOG: AN INTRODUCTION TO THEORETICAL ISSUES IN AI WITH PROLOG EXAMPLES GEORGE F. LUGER UNIVERSITY OF NEW MEXICO This tutorial is intended to introduce the important concepts of both Artificial Intelligence and Logic Programming. To accomplish this task, the theoretical issues involved in AI problem solving are presented and discussed. These issues are exemplified with programs written in Prolog that implement the core ideas. Finally, the design of a Prolog interpreter as Resolution Refutation system is presented. The main ideas from AI problem solving that are presented include: 1) An introduction of AI as representation and search. 2) An introduction of the Predicate Calculus as the main representation formalism for Artificial Intelligence. 3) Simple examples of Predicate Calculus representations, including a relational data base. 4) Unification and its role both in Predicate Calculus and Prolog. 5) Recursion, the control mechanism for searching trees and graphs, 6) The design of search strategies, especially depth first, breadth first and best first or "heuristic" techniques, and 7) The Production System and its use both for organizing search in a Prolog data base, as well as the basic data structure for "rule based" Expert Systems. The above topics are presented with simple Prolog program implementations, including a Production System code for demonstrating search strategies. The final topic presented is an analysis of the Prolog interpreter and an analysis of this approach to the more general issue of logic programming. Resolution is considered as an inference strategy and its use in a refutation system for "answer extraction" is presented. More general issues in AI problem solving, such as the relation of "logic" to "functional" programming are also discussed. PARALLELISM IN LOGIC PROGRAMMING NEIL OSTLUND ROMAS ALELIUNAS UNIVERSITY OF WATERLOO The fields of parallel processing and logic programming have independently attracted great interest among computing professionals recently, and there is currently considerable activity at the interface, i.e. in applying the concepts of parallel computing to logic programming and, more specifically yet, to Prolog. The application of parallelism to Logic Programming takes two basic but related directions. The first involves leaving the semantics of sequential programming, say ordinary Prolog, as intact as possible, and uses parallelism, hidden from the programmer, to improve execution speed. This has traditionally been a difficult problem requiring very intelligent compilers. It may be an easier problem with logic programming since parallelism is not artificially made sequential, as with many applications expressed in procedural languages. The second direction involves adding new parallel programming primitives to Logic Programming to allow the programmer to explicitly express the parallelism in an application. This tutorial will assume a basic knowledge of Logic Programming, but will describe current research in parallel computer architectures, and will survey many of the new parallel machines, including shared-memory architectures (RP3, for example) and non-shared-memory architectures (hypercube machines, for example). The tutorial will then describe many of the current proposals for parallelism in Logic Programming, including those that allow the programmer to express the parallelism and those that hide the parallelism from the programmer. Included will be such proposals as Concurrent Prolog, Parlog, Guarded Horn Clauses (GHC), and Delta-Prolog. An attempt will be made to partially evaluate many of these proposals for parallelism in Logic Programming, both from a pragmatic architectural viewpoint as well as from a semantic viewpoint.