Coo-AgentSpeak: Cooperation in AgentSpeak through Plan Exchange Davide Ancona DISI, Universit` a di Genova, Italy davide@disi.unige.it Viviana Mascardi DISI, Universit` a di Genova, Italy mascardi@disi.unige.it Jomi F. H¨ ubner DSC, Univ. de Blumenau, Brazil jomi@inf.furb.br Rafael H. Bordini Univ. of Liverpool, L69 3BX, U.K. R.Bordini@csc.liv.ac.uk Abstract This paper brings together two recent contributions to the area of declarative agent-oriented programming, made feasible in practice by the recent introduction of an in- terpreter for a BDI programming language. The work on Coo-BDI has proposed an approach to plan exchange which applies to BDI agents in general. The other contribution is the introduction of special illocutionary forces for plan ex- change between AgentSpeak agents. This has been imple- mented in Jason, an interpreter for an extended version of AgentSpeak(L). Jason also provides mechanisms that allow the specification of plan permissions, which are important in the cooperation context. This paper shows how elaborate plan exchange can take place between AgentSpeak agents implemented with Jason. It also discusses an application in which plan sharing is essential. 1. Introduction Various agent-oriented programming languages have ap- peared in the literature since Shoham’s seminal work [12]. Typically, these languages concentrate on the programming of one individual autonomous agent, leaving it completely for the user to work out ways of developing multi-agent sys- tem where those agents interact. However, the advantage of the agent-oriented approach to software development re- sides precisely in the fact that computational systems for dynamic and complex scenarios can be designed more eas- ily by relying on various autonomous agents coordinating their actions. On the other hand, agent-oriented software engineering approaches (see, e.g., [14]) have focused mainly on soci- etal aspects of building multi-agent systems, such as groups and roles, taking for granted the development of individ- ual agents and the cognitive aspects of such agents. One of the first agent programming languages to move towards a more societal approach is Concurrent METATEM, where agents are specified directly in linear temporal logic: see their recent work on a general notion of groups [6]. There are sophisticated ways of developing teams of agents, such as STEAM [10] for example, but these are not program- ming languages as such, and do not have the same formal basis (e.g., formal semantics) as do most agent-oriented pro- gramming languages. In this work, we are interested in an important aspect of the necessary support for future work on programming teams of agents where each agent is programmed in an agent-oriented programming language. We consider here the necessary means for autonomous agents to exchange plans, so that agents can increase their know-how by ob- taining plans from other agents that might have the specific know-how in question. To the best of our knowledge, this issue has not been dealt with by other agent-oriented pro- gramming languages such as Dribble [13], 3APL [7], and ConGolog [5]. Our start point is Coo-BDI, an approach to cooperation for BDI agents by plan exchange, developed by Ancona and Mascardi and reported in [1]. In this paper, that ap- proach is applied specifically to a BDI agent-oriented pro- gramming language called AgentSpeak(L), in the context of Jason [3], an interpreter for that language recently made available. AgentSpeak(L) was devised by Rao [11] and later extended and formalised by Bordini and colleagues [2, 4]. In [9], the operational semantics of AgentSpeak(L) was ex- tended to account for speech-act based communication, in- cluding special illocutionary forces for the communication of plans. Jason implements the operational semantics given in [4] as well as the extensions in [9]. This gives the nec- essary formal and practical basis for plan exchange among BDI agent in the way required by the approach presented in this paper. This paper is organised as follows. In the next section, we summarise Coo-BDI, an approach to plan exchange among