Symbol-level requirements for agent-level programming
Mauro Gáspari, Enrico Motta · 1994
In this paper we discuss the notion of programming at the knowledge level in the context of distributed AI systems. In particular, we show that although a number of languages defining abstract communication primitives have been proposed in the past few years, knowledge-level programming can only be supported if specific symbol-level requirements are satisfied. To illustrate this problem we formalize a subset of the KQML language and we show that the resulting synchronous architecture exhibits starvation and deadlock problems, which can only be solved if a careful definition of the underlying transport level is given. To this purpose we show how an alternative, asynchronous architecture can be defined for the same set of communication primitives, which avoids the aforementioned problems. Finally, we indicate a number of issues which require further investigation.