Decoupling the entity-component-system pattern using semantic traits for reusable realtime interactive systems - Wiebusch, Dennis; Latoschik, Marc Erich (2015 IEEE 8th Workshop on Software Engineering and Architectures for Realtime Interactive Systems (SEARIS), 2015)
The Entity-Component-System (ECS) pattern has become a major design pattern used in modern architectures for Real-Time Interactive System (RIS) frameworks. The pattern decouples different aspects of a simulation like graphics, physics, or AI vertically. Its main purpose is to separate algorithms, provided by high-level tailored simulation modules or engines, from the object structure of the low-level entities simulated by those engines. In this context, it retains advantages of object-oriented programming (OOP) like encapsulation and access control. Still, the OOP paradigm introduces coupling when it comes to the low-level implementation details, thus negatively affecting reusability of such systems. To address these issues we propose a semantics-based approach which facilitates to escape the rigid structures imposed by OOP. Our approach introduces the concept of semantic traits, which enable retrospective classification of entities. The utilization of semantic traits facilitates reuse in the context of ECS-based systems by further decoupling objects from their class definition. The applicability of the approach is validated by examples from a prototypical integration into a recently developed RIS.