A key component of effective multi-agent systems (MAS) software development is a set of models, technologies and tools that efficiently support flexible and precise specification and implementation of agent-to- agent conversations, standardized conversation protocols, and corresponding agent behaviors. This motivated a substantial extension to the JADE agent behavior model, which we call "HP SmartAgent." Previous experience with the ZEUS and JADE agent toolkits highlighted the need for more flexibility and precision in programming agent behavior and managing conversations. For example, the JADE infrastructure routes ACL messages in round-robin fashion to interested behavior "threads," making it hard to control ordering; reuse of behavior subclasses is difficult; and, support for default and exceptional behavior is inadequate. SmartAgent extends JADE behaviors with uniform message system events, a multi- level tree of dispatchers that match and route events, and a hierarchical state machine that is based on the UML statechart model. Adherence to the UML helps bridge object-oriented to agent-oriented programming using an industry familiar modeling language and tools. Combining events, dispatcher tree and hierarchical state machines simplifies programming of default and context dependent behavior. This hypothesis was confirmed in a meeting scheduler prototype where code previously written using pure JADE was refactored using SmartAgent. 10 Pages