Concurrent Logic Program-Ming, Metaprogramming, and Open
Total Page:16
File Type:pdf, Size:1020Kb
AI Magazine Volume 9 Number 1 (1988) (© AAAI) WORKSHOP REPORT Concurrent Logic Program- ming, Metaprogramming, and Open Systems Kenneth M. Kahn he workshop began with the and how can the agent deal with An informal workshop on concurrent T visions of concurrent logic pro- "breakdown" in the sense discussed by logic programming, metaprogramming, gramming and open systems that are Terry Winograd and Fernando Flores. and open systems was held at Xerox Palo driving research at Weizmann, ICOT, Carl Hewitt of MIT presented actors Alto Research Center (PARC) on 8-9 CMU, MIT, and Xerox PARC. A as an alternative computational September 1987 with support from the shared vision emerged from the morn- model for open-system programming. American Association for Artificial Intel- ing session with concurrent logic pro- Many were surprised at the close cor- ligence. The 50 workshop participants came from gramming fulfilling the same role that respondence between the actor model the Japanese Fifth Generation Project C and Assembler do now. Languages and concurrent logic programming. (ICOT), the Weizmann Institute of Sci- such as Flat Concurrent Prolog and This similarity has become increas- ence in Israel, Imperial College in Lon- Guarded Horn Clauses are seen as ingly apparent to researchers in both don, the Swedish Institute of Computer general-purpose, parallel machine lan- fields. Both present a scalable, compu- Science, Stanford University, the Mas- guages and interface languages tational model with fine-grained, sachusetts Institute of Technology (MIT), between hardware and software and implicit concurrency and explicit syn- Carnegie-Mellon University (CMU), Cal not, as a newcomer to this field might chronization control. Both are well Tech, Science University of Tokyo, Mel- expect, as high-level, AI, problem- suited for defining robust, securely bourne University, Calgary University, solving languages. This view is one of encapsulated servers. University of Wisconsin, Case Western Reserve, University of Oregon, Korea the major departures from main- I presented the vision of the Vulcan Advanced Institute of Science and Tech- stream logic programming and Prolog group at Xerox PARC, which takes as nology (KAIST), Quintus, Symbolics, that most of the workshop partici- its challenge the building of high-level IBM, and Xerox PARC. No proceedings pants have taken, which is reflected languages, abstractions, and tools were generated; instead, participants dis- in the way these languages have trad- upon a distributed implementation of tributed copies of drafts, slides, and ed Prolog's exhaustive search capabili- a concurrent logic-programming lan- recent papers. ty for controllable concurrency. guage. The Vulcan group sees Another major departure from con- metaprogramming as an important ventional (logic) programming is the methodology in building concurrent incorporation of an open-system logic-programming abstractions. The vision. In an open system, a growing group shares with Weizmann, ICOT, predominance of computational ser- and others the belief that enhanced vices is provided and used by indepen- metainterpreters are a conceptually dent entities. Computation is envi- clear and simple way to capture many sioned as becoming more and more programming abstractions. It is hoped distributed between entities from dif- that the use of suites of enhanced ferent organizations, with different interpreters can be an effective and goals, that cooperate without requir- practical technique when combined ing trust. Open, distributed imple- with the automatic specialization that mentations of concurrent logic-pro- partial evaluation provides. gramming languages are seen by Vijay Saraswat from CMU provided researchers from Weizmann and the personal vision that tightly inte- Xerox as a way of providing a uniform grates notions of controlled constraint notation for computation in open sys- programming, transactions, produc- tems. Dan Bobrow of Xerox presented tion systems, and synchronous com- the open-system challenge from the putation with the concurrent logic- viewpoint of a participating agent; for programming framework. The con- example, how can an agent know nection between transactions and pro- what others might do for it and what duction systems followed from his assumptions will limit interactions, proposal to permit the simultaneous SPRING 1988 115 reduction of multiple processes with a however, in their handling of inheri- of a distributed implementation of the multiheaded definite clause. In a later tance, delegation, messages to self, Logix operating system. Logix is a pro- talk by John Connery from the Uni- and synchronization of state change. gramming system for Flat Concurrent versity of Oregon, a similar idea came We had a session on metainter- Prolog written in Flat Concurrent Pro- up as a proposed extension to Prolog. preters and partial evaluation. Leon log. The distributed version supports Mark S. Miller and K. Eric Drexler Sterling of Case Western presented his remote computations and distributed presented the Vulcan group's market- ideas on the Flavors-like mixing of code management. based approach to adaptive resource enhanced metainterpreters. Akira Overall, the workshop exceeded our management in open systems. Okumura of ICOT presented rules for expectations. Many presentations Takashi Chikayama presented ICOT's unfolding Guarded Horn Clauses pro- were given of new results and work in latest developments in concurrent grams. Udi Shapiro from Weizmann progress. The level, extent, and liveli- logic programming. talked about metainterpreter-based ness of the discussions during and fol- The rest of the workshop consisted algorithmic debugging and the ways lowing the presentations obviated the of technically oriented presentations in which specialized views of the need for the several panels that had and discussions. Several discussions computation can be useful for differ- been planned. We think the workshop were on the differences between ent kinds of debugging. He also talked successfully tied together the threads Guarded Horn Clauses, Parlog, about a new semantics for Flat Con- of concurrent logic programming, Saraswat's family of CP languages, current Prolog computations. Will metaprogramming, and open systems. and Flat Concurrent Prolog. The focus Winsborough from the University of Many participants came to the work- of these discussions was on whether Wisconsin talked about abstract inter- shop with some version of one or two unification should be an atomic trans- pretation in a logic-programming of these threads and went home with action and whether data flow synchro- framework. a heightened awareness of all three. nization annotations should be inter- Some of the talks were on imple- preted statically (as a code annotation) mentation issues. Yasunori Kimura of References or dynamically (as a data annotation). ICOT presented a multiple reference Ehud Shapiro, ed., Concurrent Prolog: Differences between these two points count scheme that supported Guarded Collected Papers, MIT Press, Cambridge, lead to languages with different prop- Horn Clauses optimizations, which Mass. 1987. A collection of papers on Con- erties, for example, the ability or are essential in keeping bus traffic current Prolog and related languages, this book includes classic papers that started inability to describe mutual exclu- down on a shared-memory, snoopy the field of concurrent logic programming sion. Only Flat Concurrent Prolog cache machine. Annika Waern and as well as recent work on embedded lan- supports dynamic annotations (read- Fredrik Holmgren of the Swedish guages, implementations, tools, metapro- only variables), and it was widely Institute of Computer Science talked gramming, partial evaluation, applications, acknowledged that this capability about how to compile Guarded Horn and semantics. confuses beginning programmers. Eric Clauses programs to Prolog imple- Kazunori Ueda, Guarded Horn Clauses, Tribble from Xerox sparked much dis- mentations extended with MIT Press, Cambridge, Mass. 1987. This cussion by presenting his analysis of "freeze"—the capability to suspend book describes the language that has the uses of read-only variables and goals. Vijay Saraswat from CMU become the kernel language for the latest proposing alternative simpler mecha- talked about a similar technique. He research at ICOT. nisms. also discussed constraint program- Steve Gregory, Parallel Logic Program- Presentations about higher-level ming in a concurrent logic-program- ming in PARLOG, Addison-Wesley, Wok- languages included one by Jim Rauen ming framework. John Cleary from ingham, England 1987. This text serves as of MIT and Xerox about Lexical Flat the University of Calgary presented a general introduction to Parlog, the con- current logic-programming language from Concurrent Prolog. The talk described the distributed simulation technique Imperial College. a higher-order concurrent logic-pro- called time warps and its applicability The Ecology of gramming language that enables pro- to parallel implementations of Prolog Bernardo Huberman, ed., Computation, North Holland, Amsterdam gramming with predicate arguments and distributed implementations of 1988. This book is a good collection of and closures and provides a principled unification. Seif Haridi of the Swedish papers on open systems. means of defining and using modules. Institute of Computer Science talked Kenneth Kahn, "Partial Evaluation, Pro- This work was directly inspired by about work on parallel