Mainstreaming and industrialising agent technologies requires suitable methodological and technological support for the various engineering activities associated with managing the complexity of any software system development. Despite its origins in object oriented software engineering the UML provides a rich and extensible set of modelling constructs that can be applied to agent oriented technologies. This paper provides details of extensions to the UML for the design of agents that are to be implemented in the JACK language. These extensions provide the capacity to model the behaviour of agents for the purposes of design and, though the extensions are language specific, future generalisation and application to other agent languages can be supported as a industry-wide consensus about the nature of agency emerges over the next few years. This research builds on previously proposed extensions to the UML and moves a step closer to the goal of providing through-life engineering support t...