32. A method for causing a processor to execute computer-readable instructions stored on a non-transitory computer-readable medium, the computer readable instructions comprising: generating emotional responses for a software agent, comprising: receiving and interpreting an input event based on stored social characteristics and outputting a social event based on the interpretation of the input event; receiving the social event, an output from an emotional state register and an output from a predefined personality trait register, and updating at least one of a current state of the emotional state register and a social response message stored an event buffer; outputting 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; and receiving the emotion response message output from the emotion generator and converting the emotion response message into a behavior message based on stored social characteristics.
49. The method according to claim 32 , further comprising a determination if an input event requires processing using information from at least one of the role database, the emotional state register and the predefined personality trait register, and, if the determination is negative, converting the input event into a social event and outputting the social event to the social response generator.