Abstract. The notions of role and organization have often been emphasized in several agent oriented methodologies. Sadly, the notion of interaction has seldom been reified in these methodologies. We define here a model of runnable specification of interaction protocols. Then, we propose a methodology for the design of open multi-agent systems based on an engineering of interaction protocols. These interaction protocols are described in term of conversation between micro-roles characterized by their skills, then micro-roles are gathered in composite roles. Then, e roles are used to build abstract agents. Lastly, these latter can be distributed on running agents of a multi-agent system.