Agent Oriented Software Engineering (AOSE) emerged after the autonomous agents and multi-agent systems was established as a research field of the computer science/artificial intelligence discipline. The first workshop with this name took place in 2001, although the term had already appeared in earlier works.
The new characteristics and concepts of multi-agent systems and autonomous agents needed to be integrated in a software engineering methodology. AOSE came to cover this need. Until today, a number of methodologies have been proposed each supporting different styles of agent programming and different agent architectures.
In this tutorial, we present several innovative AOSE methodologies found in the literature. The methodologies are viewed from the perspective of the papers and books that proposed them, but also from the perspective of the speaker and other works that compare AOSE methodologies.
Moreover, we present important works in the area of modeling inter-agent protocols. One of the major issues in Agent Oriented Software Engineering (AOSE) is the modeling, representation and implementation of agent interaction protocols. A wide range of methodologies for AOSE adopt one existing model (most usually AUML), while others employ UML models (like activity diagrams); or instead simply define messages that the agents send to each other (allowing the modeling of simple protocols).
Finally, we will be discussing the integration of trends in mainstream Software Engineering such as modularity, model-driven development and meta-modeling, agile processes by the existing methodologies.