UML 2.0 and Agents: How to Build Agent-based Systems with the