A Survey of Programming Languages and Platforms for Multi-Agent Systems
away from the underlying programming language in favour of using graphical means of programming, such as wizards and statecharts. Platforms. Closed frameworks such as DESIRE, strongly based on a platform, provide more complete solutions than others such as Jadex or TuCSoN. They usually offer an agent architecture and a system model, very useful for novel developers, together with the communication infrasA SURVEY OF LANGUAGES AND PLATFORMS. . . Informatica 30 (2006) 33–44 41 tructure and a range of robust services, such as directory facilitators, agent management services, and monitoring facilities. As a drawback, closed frameworks limit the development. For example, the design approach of the framework may not fit certain domain problems. Perhaps that is the reason why most researchers tend to use more open solutions. Currently, the most popular solution is to use JADE as underlying agent infrastructure combined with some other (higher-level) approach to program the agents’ behaviour. When dealing with more general frameworks (rather than tied to a platform), their use (i.e., defining the agents that will run within it, together with the required services and resources) should be automated as much as possible, in part to free the developer from low-level details (e.g. location of the configuration files, their concrete syntax, etc.). Despite this, few existing frameworks have IDE support. Concerning the paradigm of communication used, there are several on offer, often being an important issue when choosing which framework to adopt. TuCSoN is representative of tuple-centred communication, JADE of message passing, and DESIRE of data flow among processes. The various approaches mentioned along this survey indicate that there is still much work to be done. Among the major challenges faced by this research community are: – The conception and development of specialised debugging tools, in particular for cognitive agent languages; – The integration of agent tools into existing IDEs, rather than starting from scratch; – The separation of MAS frameworks from agent platforms, so that each framework can be used for deploying systems on a variety of platforms. – The dissemination of the MAS programming paradigm, so that programmers have a better understanding of its foundations as well as practical characteristics. We believe that the recent developments surveyed here show a lively interest in this area of research. Despite the large number of open issues and challenges, we expect that the experience gathered in developing MAS with these tools will take us closer to a more mature programming paradigm. Arguably, this is one of the few concrete ways for allowing wider audiences to use in practice, and in a systematic way, the various techniques that the MAS research community has developed over the last two decades.