A framework for creating instant messaging Bots that autonomously operate
within an instant messaging sessions to respond to requests from other
user(s) or Bot(s). Bot operation is defined by a state machine with one
or more states that are described in XML documents. These XML documents
abide by the grammar of a Bot Transition Definition Language (BTDL) that
is defined in an XML schema. A Bot developer creates a state transition
diagram via a Graphical User Interface. The state transition diagram
defines states, transitions between states, and conditions for each of
those state transitions and methods to be performed upon each state
transition. An XML document that conforms to BTDL format is created from
the state transition definition diagram. Both stateful and stateless Bots
are defined using XML documents abiding to a BTDL format. A runtime
environment implements the Bots, accepts runtime inputs and generates
responses.