: This paper proposes a formal methodology for designing multi-agent systems based on stepwise refinements. The main contribution consists in providing a set of methodological principles and hints which help the user to build, in a systematic and incremental way, a correct design ation starting from an abstract requirements one. This method will be illustrated by developing a multi-agent solution for an air traffic control application.