1. A computer system comprising a processor configured to execute computer-readable instructions stored on a non-transitory computer-readable medium, the computer-readable instructions being configured to implement an agent comprising: an interpreter that receives an input event and outputs a social event based on the interpretation of the input event; a social response generator that receives the social event, an output from an emotional state register and an output from a predefined personality trait register, and updates at least one of a current state of the emotional state register and a social response message stored an event buffer; an emotion generator that outputs an emotion response message based on at least one of the social response message stored in the event buffer, one or more outputs of the predefined personality trait register, or one or more outputs of the emotional state register; a manifester that receives the emotion response message output from the emotion generator and converts the emotion response message into a behavior message; and a role database comprising social characteristics used by the interpreter to create social events and data used by the manifester to convert the emotion response message into the behavior message.
23. The computer system according to claim 1 , wherein the social response generator signals the interpreter after the social response generator has processed the social event and updated at least one of the emotional state register and the event buffer.