Agents, Multi-Agent Systems and Declarative Programming: What, When, Where, Why, Who, How?
Lecture Notes in Computer Science
This chapter tackles the relation between declarative languages and multi-agent systems by following the dictates of the five Ws (and one H) that characterize investigations. The aim is to present this research field, which has a long-term tradition, and discuss about its future. The first question to answer is "What? What are declarative agents and multi-agent systems?". Therefore, we will introduce the history of declarative agent systems up to the state of the art by answering the question
... hen? When did research on them begin?". We will, then, move to the question "Where? Where can it take place?": in which kind of real applications and for which kind of problems declarative agents and MAS have already proven useful? Connected to where is "Why? Why should it happen?". We will discuss the benefits of adopting the abstractions offered by declarative approaches for developing communication, interaction, cooperation mechanisms. We will compare with other technologies, mainly service-based and object-oriented ones. "Who? Who can be involved?": in order to exploit this kind of technology what sort of background does a specialist have to acquire? We address this question by looking at the Italian landscape of Computer Science research and education. Finally, with the question "How? How can it happen?" we will shortly report some examples of existing declarative languages and frameworks for the specification, verification, implementation and prototyping of agents and MAS. What? Declarative Agent Systems The notion of declarative agent system should be taken as a conventional one, to be used in order to focus on an essential theme in agent-oriented computing, rather than to clearly delimit the boundaries of a well-defined research subfield. In fact, given the ever-lasting relationship between agents and MAS, on the one hand, and declarative approaches, languages and technologies, on the other, declarative agent systems are not so easily distinguishable from the notion of MAS themselves. For instance, by adopting the strong notion of agency as promoted by  , mentalistic notions, like beliefs and desires, with an obvious declarative taste are at the core of the very notion of agent. More specifically, they are at the core of the notion of intelligent agent. Of course, when adopting weaker notions of agent, such as weak agents in  , or the autonomy-grounded definition of agent in the A&A metamodel , declarative approaches and techniques are no longer strictly required, at a first glance. Whenever MAS are adopted to build up non-trivial systems, however, declarative technologies are typically the only viable approach, mainly due to the high-level of abstraction over complexity they promote  . Declarative Agents. Historically, one landmark of declarative agent system is represented by Shoham's AgentSpeak  , the pioneering framework for agent-oriented programming (AOP) promoting a mentalistic view of agents based on components such as beliefs, decisions, capabilities, and obligations, and where the mental state of agents is described formally in an extension of standard epistemic logics. According to  AOP may be regarded as a kind of "post-declarative" programming. . . . In AOP, the idea is that, as in declarative programming, we state our goals, and let the built-in control mechanism figure out what to do in order to achieve them. In this case, however, the control mechanism implements some model of rational agency . . . Hopefully, this computational model corresponds to our own intuitive understanding of (say) beliefs and desires, and so we need no special training to use it. Ideally, as AOP programmers, we need not be too concerned with how an agent achieves its goals. Even more so, languages ranging from AgentSpeak(L)  to Jason  , based on the AOP framework, clearly show how declarative and procedural techniques cannot be but combined when building intelligent agents. In particular, when declarative knowledge, required to represent the mentalistic structures of an intelligent agent, needs to be properly combined with procedural knowledge so as to result in an effective process of practical reasoning. More practically, Prolog-like syntax and operators for beliefs, rules, goals, and plans in Jason provide a clear example of how declarative and logic-based technologies are the most suitable approach for the engineering of intelligent agents, covering some of the essential intra-agent aspects of MAS. Declarative Multiagent Systems. Individual aspects, however, are far from covering all the issues of declarative agent systems. In fact, a huge space for declarative and logic-based approaches is represented by agent societies: intuitively, the social level is where the complexity of MAS typically grows  . Handling a MAS composed by hundreds or thousands of agents, as an open system where both known and unknown agents coexist and interact in an unpredictable way, is obviously more than a challenge to MAS engineers. For this very reason, the social level is the one where declarative models and technologies are likely to provide the most relevant contribution: for instance, by allowing system properties to be assessed at design time, and then enforced at run time by suitable declarative technologies, independently of the MAS dynamics, and of the MAS environment as well. Agent communication languages (ACL) have represented the first and most immediate representatives for the use of declarative technologies in the construction of agent societies. In particular, it is well-known that languages as KQML  and FIPA ACL  represent the first and the current standards, respectively, for inter-agent communication. However, while it is simple to understand how speech-act communication can be based on a declarative approach, ACL are only the first example of declarative techniques adopted for the construction of agent societies. Even though it was not meant to address the problem of MAS coordination, one of the milestones of declarative technologies for MAS is represented by the work on Shared Prolog , a Linda-based language for the coordination of Prolog agents. There, for the first time, a logic-based language was used to coordinate a number of concurrent agents, thus exploiting a declarative technology in order to govern interaction within an agent society. Subsequently, other declarative and logic-based languages were conceived and developed for the construction of agent societies based on coordination abstractions, such as the coordination language ReSpecT: there, both the messages and the social rules of are specified in terms of first-order logic tuples hosted in distributed logic-based tuple centres  . A step further is represented by the notion of social integrity constraints  , which formalizes social concepts such as violation, fulfilment, social expectation within a logic-based framework, concepts that can be enforced at run-time through a suitablydefined logic-based infrastructure. At the infrastructural level, declarative technologies are essential in the definition of the concept of MAS institution. This is the case of Basic Institutions, formally defined in  , and founded on the social interpretation of agent communicative acts, and of Logic-based Electronic Institutions , first-order logic tools aimed at the specification of open agent organizations. Declarative Agent Systems Overall, it is apparent that declarative languages and techniques are essential in the design and development of modern MAS, where they are typically used to address most critical aspects. Both intra-and inter-agent issues, in fact, are more and more faced by adopting declarative approaches, the most relevant of which are presented in the remainder of this chapter. So, in the end, it would be quite artificial to draw a line between declarative and non-declarative agent systems: more easily, it is typically the case that one should devise those portions of (nearly) any MAS that exploit declarative and logic-based technologies. When? The history of declarative agent systems partially coincides with that of intentional systems in Artificial Intelligence: the notion of an intelligent agent as an entity which appears to be the subject of beliefs, desires, commitments, and other mental attitudes  is well known and accepted by many researchers. The philosopher Dennett coined the term intentional system to denote systems of this kind  . In that period (after STRIPS), Artificial Intelligence posed a great emphasis on the use of formal representations, often associated with deductive forms of reasoning  , and logic programming developed very fast, producing languages that allow for writing executable specifications  .