Programming Languages and Development Tools for Multi-Agent Systems

            Brief Description and Target Audience
            With the significant advances in the area of autonomous agents and multi-agent systems in the last few years, promising technologies have emerged as a sensible alternative for the design of systems that can operate in complex and dynamic scenarios. However, in order for this technology to become accessible to the multi-agent research community in Academia and practitioners in Industry, it is necessary that programming languages and tools that are appropriate for developing such systems become widely known and thoroughly understood. This course aims at introducing novices, researchers, and developers (from both Academia and Industry) who already have basic notions of multi-agent systems to some of the languages, techniques, and tools that are currently available to support the effective implementation of multi-agent systems. The course will have a practical part where participants will learn and practice basic programming skills in the agent programming language 2APL.

            Proposed Tutorial
            We propose a full-day tutorial to teach some of the existing programming languages and development tools that support the implementation of multi-agent systems. This course will consist of an eight-hour lecture, which will include some practical examples and lab exercises. At AAMAS-2008, Bordini, Dastani, Hindriks and Leite gave a tutorial which discussed the state of the art in agent-oriented programming, including an overview of the area and a discussion of languages such as 3APL/2APL, ConGolog, Goal, IMPACT, Jason, Jack, Jadex, Jade, and Minerva. This year, it is planned to give a similarly broad overview of the issues in programming and developing multi-agent systems, but more emphasis will be put into the tutorial on learning basic practical programming skills by means of bringing more focus into the tutorial and by providing a tutorial example with which the participants will be able to practice some basic programming skills related to agent-oriented programming. Also, in this way more emphasis will be put on explaining tools for development, testing and debugging of such systems. The focus moreover will be on logic-based agent programming languages as most of the agent-oriented languages of interest for this tutorial are logic-based, and quite a few of them are based on the BDI architecture.
            In particular, we will discuss the aim and characteristics of various languages, their syntax and styles of programming, and how multi-agent applications can be implemented using these programming languages. In order to clarify some of the basic differences that exist between these languages, we will also briefly discuss the formal basis of the main concepts incorporated into agent programming languages. The programme of this tutorial will include: a general introduction of agent-oriented software engineering methodologies and their relation to the work on programming languages and tools; an overview and discussion of the basic theory and concepts of agent-oriented programming for designing and building agents (including a small programming exercise); an overview and introduction into programming multi-agent systems, including issues such as communication, and social concepts, as well as a discussion of various well-known agent languages such as 2APL, Jason, Jack, Minerva, Jadex, and possibly others (to be decided; again we will include one or two programming exercises); an overview of tools for the development, testing and debugging of multi-agent systems; a programming exercise that will allow participants to practice with the agent programming language 2APL, after having been introduced to this example by the tutorial organizers; the tutorial will be closed with a brief discussion of some typical agent-based applications and the advantages of using agent-oriented programming for such development. This tutorial will be accessible for both novices as well as experts in the area of multi-agent programming; all that is required as a background is some acquantaince with the basic notions of BDI agents and some experience with logic programming.

            Why the Tutorial is of Interest
            Only recently researchers on Multi-Agent Systems have started to give appropriate attention to the practical use of multi-agent systems, more particularly in transferring technology that has emerged in this area to Industry. In order for this to happen to the extent that the research community expects, it is important that such technology is made available in the form of appropriate programming languages and development tools. There has been significant progress in the state of the art of such languages and tools, but a proportion of our research community has not yet been sufficiently introduced to these techniques. The tutorial will benefit the multiagent systems research and development community at large by introducing these important recent advances in programming theory and technology for multi-agent systems. The presenters' short bios, addresses, and selected publications are attached.

            Mehdi Dastani


            Mehdi Dastani is a lecturer in computer science at the Utrecht University. He is working in the area of multi-agent systems and multi-agent programming for the last six years and has published many papers on these sub jects. He has been involved in the design, development, and extensions of BOID and 3APL languages which can support the implementation of multi-agent systems. These languages are based on the BDI paradigm and provide programming constructs to implement BDI-concepts directly. He has given many courses on these sub jects, among which “Intelligent Information Agent”, “Multi-agent systems”, and “Multi-Agent Programming”. He is one of the organisers of ProMAS (The International Workshop on Programming Multi-Agent Systems: Languages and Tools). He is the PC member of various international conferences and workshops such as AAMAS (International Joint Conference on Autonomous Agents and Multi-Agent Systems), JELIA (European Conference on Logics in Artificial Intelligence), DALT (Declarative Agent Languages and Technologies), MATES (German Conference on Multiagent Systems Technologies). He has edited, together with the ProMAS organisers, a book on Programming Multi-Agent Systems published by Springer.

            Koen Hindriks (corresponding presenter)

            Koen Hindriks is Assistant Professor at the Computer Science Department at the Delft University of Technology. His research interests are focussed in particular on agent-oriented programming using common sense concepts like beliefs and goals, verification and specification of such agents, and, more application-oriented, on negotiating software agents. He has worked on and helped develop several agent programming languages such as 3APL and GOAL.
            He has co-organised the Eleventh International Workshop on Cooperative Information Agents (CIA’07) and is organizing the Sixth International Workshop on Programming MultiAgent Systems (ProMAS’08).

            João Leite

            João Leite is Assistant Professor at the Computer Science Department at the New University of Lisbon. His research interests focus on Knowledge Representation and Non-Monotonic Reasoning with Logic Programming for Multi-Agent Systems. He has been involved in the design of several extensions of Answer Set Programming for Agent Systems, such as EVOLP, DLP, MDLP and KABUL, and the logic programming based agent architecture Minerva.
            He has co-organised the Third, Fourth and Fifth International Workshops on Computational Logic in Multi-Agent Systems (CLIMA III, CLIMA IV and CLIMA V), the First and Second Workshops on Declarative Agent Languages and Technologies (DALT’03 and DALT’04), and was Conference Chair of the Nineth International Conference on Logics in Artificial Intelligence (JELIA’04), held in Lisbon in 2004.
            He has authored one book, edited several books published by Springer and three journal special issues, and co-authored more than 30 scientific papers published internationally (cf.˜jleite for details). He has been Program Committee Member for ECAI’06, JELIA’06, CLIMA VII, AAMAS’05, IAT’05, CLIMA VI, EPIA’05, PRO-MAS’05, CC’05, AAMAS’04, JELIA’04, CLIMA V, PROMAS’04, DALT’04, CC’04, CLIMA IV, DALT’03, IJCAI’03, EPIA’03, CLIMA III and AGP’02.