Some years ago, some of us thought that logic programming might be sufficiently powerful to serve as a new foundation for all of Computing, unifying such otherwise diverse areas as programming, specification, databases, and knowledge representation. It is now obvious that this early promise has not borne fruit, and it is timely to ask whether there any essential technical reasons for this failure.
Recent work on extending logic programming to multi-agent systems can be viewed as revealing a number of fundamental deficiencies in the simple model of logic programing. In the simple model, logic programs can be regarded as the "rational", goal-reduction component of a single agent. To be more comprehensive, even in the single agent case, logic programs need to be extended, to be reactive to changes that arise in the environment. They also need to be extended to the multi-agent case. Both extensions can be made gracefully and are needed for other purposes.
In this talk, I will describe an architecture for multi-agent systems that achieves reactivity, by employing integrity constraints in addition to logic programs. It achieves the ability for agents to interact concurrently with other agents and with their environment, by treating all interactions as interactions between an agent and a global environment. In this respect, concurrency is achieved in the manner of blackboard architectures and Linda-like systems rather than in the manner of message passing architectures, as incorporated, for example in concurrent logic programming.