ABSTRACT

Programming languages for multi-agent system have received enormous research attention in the last few years. Such languages are now very expressive yet with practical interpreters and reasonably user-friendly platforms for developing multi-agent systems based on such languages. One advantage of these languages for developing multi-agent systems is that the language provides constructs for several concepts and abstractions used in designing or specifying sophisticated multi-agent systems. So not only are these languages suitable for implementing designs created with agent-oriented software engineering methodologies, but they are also ideal for developing simulations with cognitive agents. In particular, the use of such languages gives a direct declarative representation for an agent’s mental states, for example the beliefs it currently holds about its environment or other agents sharing the environment (e.g., in a particular simulation) or the goals it is currently trying to achieve, as well as how the agent has decided to act upon the environment so as to bring about those goals. As a consequence, human observers of a simulation developed with an agent programming language can check not only how social phenomena emerge but also what are the agents’ mental attitudes that emerged at the same time or led to the observed social phenomena. This is of fundamental importance for future trends in social simulation aiming at investigating the micro-macro link problem; that is, how social interaction and organizations affect mental states and vice-versa.