The authors present a systematic development of the concurrent object-oriented agent programming language Guarded Definite Clauses (GDC). In contrast to other languages used in agent programming, like Java, Telescript, and Agent-TCL, this language is derived from the artificial intelligence programming tradition and emphasizes AI applications. The first part of the book is devoted to the principled evolution of the paradigm GDC; during the course of this evolution, the reader can also learn a lot about the history and the dramatically changing fortune, booms, and busts, of AI. In the second part, the paradigm is evaluated for application in various fields including parallel distributed search, distributed constraint solving, meta-interpretation, partial evaluation, and robotics and multi-agent systems. The book is written for students and professionals in agent programming or in AI programming in general.
The paradigm presented in this book is proposed as an agent programming language. The book charts the evolution of the language from Prolog to intelligent agents. To a large extent, intelligent agents rose to prominence in the mid-1990s because of the World Wide Web and an ill-structured network of multimedia information. Agentoriented programming was a natural progression from object-oriented programming which C++ and more recently Java popularized. Another strand of influence came from a revival of interest in robotics [Brooks, 1991a; 1991b].
The quintessence of an agent is an intelligent, willing slave. Speculation in the area of artificial slaves is far more ancient than twentieth century science fiction. One documented example is found in Aristotle’s Politics written in the fourth century BC. Aristotle classifies the slave as “an animate article of property”. He suggests that slaves or subordinates might not be necessary if “each instrument could do its own work at command or by anticipation like the statues of Daedalus and the tripods of Hephaestus”. Reference to the legendary robots devised by these mythological technocrats, the former an artificer who made wings for Icarus and the latter a blacksmith god, testify that the concept of robot, if not the name, was ancient even in Aristotle’s time. Aristotle concluded that even if such machines existed, human slaves would still be necessary to render the little personal services without which life would be intolerable.