FGCS Project Evaluation Report Sten-Ake Tarnlund 1 VISION AND PLANS The research paradigm of the FGCS project is logic programming [2], a major breakthrough in computer science and artificial intelligence from the early seventies going back to some principal notions of resolution logic [3] in the sixties, see professor Robinson's historical account [4] in the FGCS-92 proceedings. Dr. Fuchi, early to envision the potential of logic programming, gave together with several colleagues a research vision [5] based on this paradigm that enthused an entire world. He also worked out a practical research plan [6] for the FGCS project itself focusing on parallel inference computing. I shall do my best to evaluate the FGCS project according to this plan and not the vision that I, however, expect will inspire researchers for many years to come, as the Hilbert program [7], from almost hundred years ago, still inspires mathematicians. 2 MAJOR ACHIEVEMENTS My evaluation will follow the presentations of the FGCS project given at the con- ference and in the proceedings. 2.1 Parallel Inference Machine (PIM) The various PIM machines, are the centerpiece of the FGCS project. They differ somewhat in architecture, which opens up possibilities for experiments. They are all MIMD machines. A PIM has clusters of processing elements connected in a network of clusters. It is scalable at the three levels. A prototype machine PIM-m is used for demonstrations. They are scalable farther than thousand processors. They run the PIMOS operating system and the KL1 language. The performances of a PIM is about 100 MLIPS, although these LIPS may not quite be the original LIPS, they show that the FGCS project has more than reached the original bold performance target. More to the point, we can expect performances beyond the 100 MLIPS up to a GLIPS and beyond. This performance and these machines are brilliant results and could not have been taken for granted when the project started. On the contrary, after this project started other machine ideas have been proposed e.g., the Connection machine [8] in the US, In contrast, it is a SIMD machine, its network is less scalable and more limited by communication speed, these factors make it a more special machine for particular problems. So, the project could have gone wrong, but it didn't and it produced a - 128 - unique general machine that cannot be seen anywhere else in the world. This is an outstanding result of its designers. In fact, the PIM itself justifies the focus of the FGCS project on parallel inference machines for logic programming. One could, of course, argue whether or not the project itself should have used more hardware and software available on the market or develop its own as it mostly did. In general, I think both alternatives are justifiable. For Japan, being so strong on hard- ware, this project with logic programming as its key idea, is just an excellent place for various advanced hardware studies and experiments on machine prototypes. On the other hand, it would be possible to obtain several of the interesting results with more market hardware and software. This would show that these results are repeatable - a good scientific criterion. This line of research may lead to more procedural software, and that could impose a constraint on massive parallel processing, leading to more complicated programming and thus more expensive software development. In general, machines of this structure [9], but with more market hardware and software, is likely to become general purpose parallel machines on the market in the near future. So as a bonus from this project, Japanese manufacturers could go from these PIM prototypes to competitive massive parallel computers with market software - a pleasant spin-off from the FGCS project. 2.2 Parallel Inference Software (PIMOS) Pimos is a parallel operating system for a PIM and is written in the concurrent language KL-1 that includes control facilities e.g., for resource management. The con- current languages GHC [10] and KL1 [11], are among the most prominent results of the FGCS project. GHC is an elegant successor of Parlog [12] and Concurrent Prolog [13]. It is famous in the world. KL1 has clearly been very useful for developing most of the software for the PIM:s. Nobody has done an operating systems project like this elsewhere, and it adds significantly to the success of the FGCS project. The operating systems principles of the PIMOS experience and the methodology of KL-1 comprehend new interesting concurrent programming ideas. We are keen to learn more about them and they deserve wider publicity. At this point, a comment on the concurrent versus declarative logic programming paradigms [14] may be appropriate. The invention of concurrent languages by Clark & Gregory, Shapiro and Ueda & Chikayama has stimulated a great interest in solving con- current problems that occur frequently in operating systems. Although, this approach departs from the declarative (semantic) idea of logic programming, these languages provide interesting techniques for concurrent problems e.g., processes, committed- choice, stream and-parallelism, and communications with terms containing variables and bounded-buffers. Taking up Quine's point [15] a solution in a concurrent language can, however, be regimented to a solution in logic. Futhermore, concurrent computa- - 129 - tions are not identical to parallel computations or always related to better performance of a parallel inference machine. In general, I view the ideas and the experiments on concurrency as brilliant and a very successful part of the FGCS project. The PIMOS system itself is unique! 2.3 Knowledge Base Management Software (KBMS) and Ba- sic Artificial Intelligence The methodology and general principles as well as the application experiments used in the FGCS project are very interesting. In particular, the application experiments have been useful in the field of artificial intelligence. Several special purpose languages have been developed for various applications e.g., CIL for natural language processing. There is also more basic AI research e.g., on theorem proving, hypothetical reasoning, analogy and non-monotonic reasoning. These are areas where results from logic pro- gramming have made several interesting contributions to the AI field recently. The results of the FGCS project make this progress even stronger. 2.4 Knowledge Programming Software and Programming Methodology Beside the development of the concurrent languages there are also several other im- portant results on programming methodology mainly building on results in the areas of: constraint programming [16], partial evaluation [17], meta programming, and pro- gram transformation. Several of these research results are superb, and have positioned Japanese research at the frontier. Some of these results could also play an important role for future software engineering. In fact, this methodology is particularly significant for the FGCS project since it could become a bridge between (declarative) logic pro- gramming and efficient parallel inference machines e.g., by automatically transforming logic specifications into parallel logic programs. 2.5 Experimental Parallel Inference Software The project shows several fascinating choices of applications e.g., in legal reasoning that are impressing. The applications often demonstrate the parallel power of a PIM. Some of them have good potential of becoming blossom applications. This would be an interesting result in itself, but the methodology of developing such applications is also very interesting. With the PIM: s and the craftsmanship of logic programming methodology at hand the researchers at ICOT are well placed to develop extraordinary applications. In fact, to take advantage of logic programming and its problem solving competence, and the parallel inference machines for efficient computations, may also be a good subject for a sequel project. - 130 - 3 SUMMARY OF RESULTS I will sum up my evaluation m six parts 3.1 Research Principal results: