To gain wider acceptance for the use of agents in industry, it is a necessity to relate it to the nearest antecedent technology (object-oriented software development) and to introduce appropriate artifacts to support the development environment throughout the full system life cycle. We address both of these requirements by presenting AGENT UML, the Agent UML (Unified Modeling Language) — a set of UML idioms and extensions. This paper provides an AGENT UML representation of the internal behavior of an agent; it then relates this internal description to the external behavior of the agent by using and extending UML class diagrams and by describing agent interaction protocols in a new way. Our claim is that by extending the de-facto standard representation for object-oriented modeling to agents, the learning curve for object-oriented developers to adopt aspects of agent-based programming becomes much less steep. Thus, agent-oriented programming as a whole will become more amenable to mainstream software engineering.