This post is a summary of content from papers covering the topic, it's mostly
quotes from the papers from 1983, 1993 and 1997 with some edition, references
to the present and future depend on the paper but should be easy to deduce.
See the Sources section at the end.
With the Fourth Conference on Fifth Generation Computer Systems, held June 1-5,
1992 in Tokyo, Japan, an era came to an end.
This section quotes different people analyzing the results, it won't be
Since then ten years have passed in which ICOT grew to about 100 researchers
and spent about 54 billion Yen, that is some 450 million US$. In these ten
years a large variety of machines have been built ranging from the special
purpose PSI machine, that is a personal sequential inference machine, to
several constellations of processors and memory ranging from 16 to 512
processing elements together forming the PIM family, that is the Parallel
Some people overreacted and spoke even of a technological war. Today some
people again overreact. As they see that their fears have not materialized,
they regard the project as a failure.
✅ Hardware: use of parallelism
✅ Software: use of logic programming
❌ Break-through in architecture
❌ Break-through in software
ICOT has shown the ability of Japan to innovate in computer architectures.
The ICOT architectures' peak parallel performance is within the range of the
original performance goals.
The PIMs represent an opportunity to study tradeoffs in parallel symbolic
computing which does not exist elsewhere.
KL1 is an interesting model for parallel symbolic computation, but one which
is unlikely to capture the imagination of US researchers.
PIMOS has interesting ideas on control of distribution and communication
which US researchers should evaluate seriously.
ICOT has been one of the few research centers pursuing parallel symbolic
ICOT has been the only center with a sustained effort in this area.
ICOT has shown significant (i.e. nearly linear) acceleration of non regular
computations (i.e. those not suitable for data parallelism of vectorized
ICOT created a positive aura for AI, Knowledge Based Systems, and innovative
computer architectures. Some of the best young researchers have entered these
fields because of the existence of ICOT.
ICOT has done little to advance the state of knowledge based systems, or
Artificial Intelligence per se.
ICOT's goals in the area of natural language were either dropped or spun out
Other areas of advanced man machine interfacing were dropped.
Research on Very Large Knowledge bases were substantially dropped.
ICOT's efforts have had little to do with commercial application of AI
technology. Choice of language was critical.
ICOT's architectures have been commercial failures. Required both a switch in
programming model and the purchase of cost ineffective hardware.
ICOT hardware has lagged behind US hardware innovation (e.g. the MIT Lisp
Machine and its descendants and the MIT Connection Machine and its
Application systems of the scale described in the original goals have not
been developed (yet).
Very little work on knowledge acquisition.
The early documents discuss the management of very large knowledge bases, of
large scale natural language understanding and image understanding with a
strong emphasis on knowledge acquisition and learning. Each of these directions
seems to have been either dropped, relegated to secondary status, absorbed into
the work on parallelism or transferred to other research initiatives.
The ICOT work has tended to be a world closed in upon itself. In both the
sequential and parallel phases of their research, there has been a new language
developed which is only available on the ICOT hardware. Furthermore, the ICOT
hardware has been experimental and not cost effective. This has prevented the
ICOT technology from having any impact on or enrichment from the practical
It is remarkable how little attention is given to the notion of parallel
processing, while this notion turned out to be of such great importance for the
First, in my opinion the original goal of the FGCS project changed its emphasis
from what has been described above as primarily a knowledge information
processing system, KIPS, with very strong capabilities in man-machine
interaction, such as natural language processing, into the following:
A computer system which is:
In combining the two ideals:
The intellectual process of translating a problem into the solution of that
problem should be simple. By exploiting sophisticated (parallel processing)
techniques the computer should be fast.
Japan has indeed proved that it has the vision to take a lead for the rest of
They acted wisely and offered the results to the international public for free
use, thus acting as a leader to the benefit of mankind and not only for its own
One of the major results and successes of the FGCS project is its effect on the
infrastructure of Japanese research and development in information technology.
The technical achievements of ICOT are impressive. Given the novelty of the
approaches, the lack of background, the difficulties to be solved, the amount
of work done which has delivered something of interest is purely amazing; this
is true in hardware as well as in software.
The fulfillment of the vision, should I say working on the "grand plan" and
bringing benefits to the society, is definitely not at the level that some
people anticipated when the project was launched. This is not, to me, a
surprise at all, i.e. I have never believed that very significant parts of
this grand plan could be successfully tackled.
Overall, the project has had a major scientific impact, in furthering knowledge
throughout the world of how to build advanced computing systems.
I agree that the international impact of the project was not as large as one
hoped for in the beginning. I think all of us who believed in the direction
taken by the project, i.e. developing integrated parallel computer systems
based on logic programming, hoped that by the end of the 10 years' period the
superiority of the logic programming approach will be demonstrated beyond
doubt, and that commercial applications of this technology will be well on
their way. Unfortunately, this has not been the case. Although ICOT has reached
its technological goals, the applications it has developed were sufficient to
demonstrate the practicality of the approach, but not its conclusive
Be aware that government-supported industrial consortia may not be able to
'read the market', particularly over the long term.
Do not confuse basic research and advanced development.
Expect negative results but hope for positive. Mid-course corrections are a
Have vision. The vision is critical: people need a big dream to make it
worthwhile to get up in the morning.
It certainly provided a tremendous boost to research in logic programming.
I was expecting however to see 'actual use' of some of the technology at the
end of the project. There are three ways in which this could have happened.
The first way would have been to have real world applications, in user terms;
only little of that can be seen at this stage, even though the efforts to
develop demonstrations are not be underestimated.
The second would have been to the benefit of computer systems themselves. This
does not appear to be directly happening, at least not now and this is
disappointing if only because the Japanese manufacturers have been involved in
the FGCS project, at least as providers of human resources and as
The third way would have been to impact computer science outside of the direct
field in which this research takes place: for example to impact AI, to impact
software engineering, etc.; not a lot can yet be seen, but there are promising
I am genuinely impressed by the scientific achievements of this remarkable
project. For the first time in our field, there is a uniform approach to both
hardware and software design through a single language, viz. KL1.
It is nearly unbelievable how much software was produced in about two and a
half years written directly or indirectly in KL1.
There are at least three aspects to what has been achieved in KLI:
First the language itself is an interesting parallel programming language. KL1
bridges the abstraction gap between parallel hardware and knowledge based
application programs. Also it is a language designed to support symbolic (as
opposed to strictly numeric) parallel processing. It is an extended logic
programming language which includes features needed for realistic programming
(such as arrays).
However, it should also be pointed out that like many other logic
programming languages, KL1 will seem awkward to some and impoverished to
Second is the development of a body of optimization technology for such
languages. Efficient implementation of a language such as KL1 required a whole
new body of compiler optimization technology.
The third achievement is noticing where hardware can play a significant role in
supporting the language implementation.
The main Companies involved in the project were Fujitsu, Hitachi, Mitsubishi
Electric, NEC, Oki, Toshiba, Matsushita Electric Industrial and Sharp.
Almost all companies we interviewed said that ICOT's work had little direct
relevance to them.
The reasons most frequently cited were: The high cost of the ICOT hardware, the
choice of Prolog as a language and the concentration on parallelism.
However, nearly as often our hosts cited the indirect effect of ICOT: the
establishment of a national project with a focus on 'fifth generation
technology' had attracted a great deal of attention for Artificial Intelligence
and knowledge based technology.
Several sites commented on the fact that this had attracted better people into
the field and lent an aura of respectability to what had been previously
regarded as esoteric.
During the first 3 year phase of the project, the Personal Sequential Inference
machine (PSI 1) was built and a reasonably rich programming environment was
developed for it.
Like the MIT machine, PSI was a microprogrammed processor designed to support a
symbolic processing language. The symbolic processing language played the role
of a broad spectrum 'Kernel language' for the machine, spanning the range from
low level operating system details up to application software. The hardware and
its microcode were designed to execute the kernel language with high
efficiency. The machine was a reasonably high performance work station with
good graphics, networking and a sophisticated programming environment. What
made PSI different was the choice of language family. Unlike more conventional
machines which are oriented toward numeric processing or the MIT machine which
was oriented towards LISP the language chosen for PSI was Prolog.
The choice of a logic programming framework for the kernel language was a
radical one since there had been essentially no experience anywhere with using
logic programming as a framework for the implementation of core system
Several hundred PSI machines were built and installed at ICOT and collaborating
facilities; and the machine was also sold commercially. However, even compared
to specialized Lisp hardware in the US, the PSI machines were impractically
expensive. The PSI (and other ICOT) machines had many features whose purpose
was to support experimentation and whose cost/benefit tradeoff had not been
evaluated as part of the design; the machines were inherently non-commercial.
The second 3 year phase saw the development of the PSI 2 machine which provided
a significant speedup over PSI 1. Towards the end of Phase 2 a parallel machine
(the Multi-PSI) was constructed to allow experimentation with the FGHC
paradigm. This consisted of an 8 × 8 mesh of PSI 2 processors, running the ICOT
Flat Guarded Horn Clause language KL1.
The abstract model of all PIMs consists of a loosely coupled network connecting
clusters of tightly coupled processors. Each cluster is, in effect, a shared
memory multiprocessor; the processors in the cluster share a memory bus and
implement a cache coherency protocol. Three of the PIMs are massively parallel
Multi-Psi is a medium scale machine built by connecting 64 Psi's in a mesh
Even granting that special architectural features of the PIM processor chips
may lead to a significant speedup (say a factor of 3 to be very generous),
these chips are disappointing compared to the commercial state of the art.
Another most important issue, of a completely different nature, is the question
of whether ICOT was wise to concentrate so much effort on building specialised
hardware for logic programming, as opposed to building, or using off the shelf,
more general purpose hardware not targeted at any particular language or
programming paradigm. The problems with designing specialised experimental
hardware is that any performance advantage that can be gained is likely to be
rapidly overtaken by the ever-continuing rapid advance of commercially
available machines, both sequential and parallel. ICOT's PSI machines are now
equalled if not bettered for Prolog and CCL performance by advanced RISC
Many are skeptical about the need for special purpose processors and language
dedicated machines. The LISP machines failed because LISP was as fast, or
nearly as fast, implemented via a good compiler on a general purpose machine.
The PSI machines surely do not have a market because the latest Prolog
compilers, compiling down to RISC instructions and using abstract
interpretation to help optimize the code, deliver comparable performance.
It is interesting to compare the PIMs to Thinking Machines Inc.'s CM-5; this is
a massively parallel machine which is a descendant of the MIT Connection
Machine project. The CM-5 is the third commercial machine in this line of
Although the Connection Machine project and ICOT started at about the same
time, the CM-5 is commercially available and has found a market within which it
is cost effective.
I think that this was the result of the applications being developed in an
artificial set-up. I believe applications should be developed by people who
need them, and in the context where they are needed.
In general, I believe that too little emphasis was placed on building the best
versions of applications on the machines (as opposed to demonstration versions).
In a nutshell, the following has been achieved: for a number of complicated
applications in quite diverse areas, ranging from Molecular Biology to Law it
has been shown that it is indeed possible to exploit the techniques of
(adapted) logic programming, LP, to formulate the problems and to use the FGCS
machines to solve them in a scalable way; that is parallelism could indeed
profitably be used.
The demonstrations involved:
A Diagnostic and control expert system based on a plant model
Experimental adaptive model-based diagnostic system
Case-based circuit design support system
Co-HLEX: Experimental parallel hierarchical recursive layout system
Parallel cell placement experimental system
High level synthesis system
Co-LODEX: A cooperative logic design expert system
Parallel LSI router
Parallel logic simulator
Protein sequence analysis program
Model generation theorem prover: MGTP
Parallel database management system: Kappa-P
Knowledge representation language: QUIXOTE
A parallel legal reasoning system: HELIC-II
Experimental motif extraction system
MENDELS ZONE: A concurrent program development system
Parallel constraint logic programming system: GDCC
Experimental system for argument text generation: Dulcinea
A parallel cooperative natural language processing system: Laputa
An experimental discourse structure analyzers
They have some real success on a technical level, but haven't produced
applications that will make a difference (on the world market).
Two extended Prolog-like languages (ESP and KL0) were developed for PSI-1. ESP
(Extended Self Contained Prolog) included a variety of features such as
coroutining constructs, non-local cuts, etc. necessary to support system
programming tasks as well as more advanced Logic Programming. SIMPOS, the
operating system for the PSI machines, was written in ESP.
Phase 3 has been centered around the refinement of the KL1 model and the
development of massively parallel hardware systems to execute it.
KL1 had been refined into a three level language:
KLI-b is the machine level language underlying the other layers
KLI-c is the core language used to write most software; it extends the basic
FGHC paradigm with a variety of useful features such as a macro language
KLI-p includes the 'pragmas' for controlling the implementation of the
Much of the current software is written in higher level languages embedded in
KL1, particularly languages which establish an object orientation. Two such
languages have been designed: A'UM and AYA. Objects are modeled as processes
communicating with one another through message streams.
Two languages of this type developed at ICOT are CAL (Constraint Avec Logique)
which is a sequential constraint logic programming language which includes
algebraic, Boolean, set and linear constraint solvers.
A second language, GDCC (Guarded Definite Clauses with Constraints) is a
parallel constraint logic programming language with algebraic, Boolean, linear
and integer parallel constraint solvers.
Achieving such revolutionary goals would seem to require revolutionary
techniques. Conventional programming languages, particularly those common in
the late 1970s and early 1980s offered little leverage.
The requirements clearly suggested the use of a rich, symbolic programming
language capable of supporting a broad spectrum of programming styles.
Two candidates existed: LISP which was the mainstream language of the US
Artificial Intelligence community and Prolog which had a dedicated following in
LISP had been used extensively as a systems programming language and had a
tradition of carrying with it a featureful programming environment; it also had
already become a large and somewhat messy system. Prolog, in contrast, was
small and clean, but lacked any experience as an implementation language for
operating systems or programming environments.
Multi-PSI supported the development of the ICOT parallel operating system
(PIMOS) and some initial small scale parallel application development. PIMOS is
a parallel operating system written in KL1; it provides parallel garbage
collection algorithms, algorithms to control task distribution and
communication, a parallel file system, etc.
Interest in AI (artificial intelligence) boomed around the time and companies
started to realize the potential value of FGCS research as a complement to
their own AI research.
In the area of databases, ICOT has developed a parallel database system called
Kappa-P. This is a 'nested relational' database system based on an earlier ICOT
system called Kappa. Kappa-P is a parallel version of Kappa, re-implemented in
It also adopts a distributed database framework to take advantage of the
ability of the PIM machines to attach disk drives to many of the processing
elements. Quixote is a Knowledge Representation language built on top of
It is a constraint logic programming language with object-orientation features
such as object identity, complex objects described by the decomposition into
attributes and values, encapsulation, type hierarchy and methods. ICOT also
describes Quixote as a Deductive Object Oriented Database (DOOD).
Another area explored is that of Automatic Theorem Proving. ICOT has developed
a parallel theorem prover called MGTP (Model Generation Theorem Prover).