Tags:Cognitive Agent Architecture, Computational Model of Emotion and Software Design Pattern
Abstract:
Computational models of emotion (CMEs) are software systems designed to imitate particular aspects of human emotions. The main purpose of this type of computational model is to capture the complexity of the human emotion process in a software system that is incorporated into a cognitive agent architecture. However, creating a CME that closely imitates the actual functioning of emotions demands to address some challenges associated with the design of CMEs and cognitive architectures alike. Among these challenges are i) sharing information among potentially independently developed cognitive and affective components, and ii) interconnecting complex cognitive and affective components that must interact with one another in order to generate realistic emotions, which may even affect agents' decision making. This paper proposes an architectural pattern aimed at cataloging and describing fundamental components of CMEs and their interrelationships with cognitive components. In this architectural pattern, external cognitive components and internal affective components of CMEs do not interact directly but are extended by including message exchange methods in order to use a publish-subscribe channel, which enables their intercommunication, thus attenuating issues such as software heterogeneity. This structural approach centralizes communication management and separates the inherent complexity of the cognitive and affective processes from the complexity of their interaction mechanisms. In so doing, it enables the design of CMEs' architectures composed of independently developed affective and cognitive components. The proposed architectural pattern attempts to make progress in capturing the complex process of human emotions in a software system that adheres to software engineering best practices and that incorporates quality attributes such as flexibility and interoperability.
Toward Integrating Cognitive Components with Computational Models of Emotion Using Software Design Patterns