Abstract. Software engineering describes a system at different levels of abstraction. Agent-oriented software engineering introduces a new level, called the agent level, to allow the software architect modelling a system in terms of ing agents. This level of abstraction is not yet supported by an accepted diagrammatic notation even if a number of proposals are available. This paper shows how UML can be exploited to design a multi-agent system at the agent level. In particular, it presents a set of agent-oriented diagrams intended to provide an UML-based notation to model: the architecture of the multi-agent system, the ontology followed by agents and the interaction protocols used to coordinate agents. The presented notation exploits stereotypes to associate an agent-oriented semantic with class and collaboration diagrams. Therefore, it can be managed with any off-the-shelf CASE tool supporting UML.