Saved in:
Bibliographic Details
Main Authors: Redmond, Patrick, Castello, Jonathan, Trilla, José Manuel Calderón, Kuper, Lindsey
Format: Preprint
Published: 2025
Subjects:
Online Access:https://arxiv.org/abs/2508.15264
Tags: Add Tag
No Tags, Be the first to tag this record!
_version_ 1866916951873290240
author Redmond, Patrick
Castello, Jonathan
Trilla, José Manuel Calderón
Kuper, Lindsey
author_facet Redmond, Patrick
Castello, Jonathan
Trilla, José Manuel Calderón
Kuper, Lindsey
contents The Entity-Component-System (ECS) software design pattern, long used in game development, encourages a clean separation of identity (entities), data properties (components), and computational behaviors (systems). Programs written using the ECS pattern are naturally concurrent, and the pattern offers modularity, flexibility, and performance benefits that have led to a proliferation of ECS frameworks. Nevertheless, the ECS pattern is little-known and not well understood outside of a few domains. Existing explanations of the ECS pattern tend to be mired in the concrete details of particular ECS frameworks, or they explain the pattern in terms of imperfect metaphors or in terms of what it is not. We seek a rigorous understanding of the ECS pattern via the design of a formal model, Core ECS, that abstracts away the details of specific implementations to reveal the essence of software using the ECS pattern. We identify a class of Core ECS programs that behave deterministically regardless of scheduling, enabling use of the ECS pattern as a deterministic-by-construction concurrent programming model. With Core ECS as a point of comparison, we then survey several real-world ECS frameworks and find that they all leave opportunities for deterministic concurrency unexploited. Our findings point out a space for new ECS implementation techniques that better leverage such opportunities.
format Preprint
id arxiv_https___arxiv_org_abs_2508_15264
institution arXiv
publishDate 2025
record_format arxiv
spellingShingle Exploring the Theory and Practice of Concurrency in the Entity-Component-System Pattern
Redmond, Patrick
Castello, Jonathan
Trilla, José Manuel Calderón
Kuper, Lindsey
Programming Languages
The Entity-Component-System (ECS) software design pattern, long used in game development, encourages a clean separation of identity (entities), data properties (components), and computational behaviors (systems). Programs written using the ECS pattern are naturally concurrent, and the pattern offers modularity, flexibility, and performance benefits that have led to a proliferation of ECS frameworks. Nevertheless, the ECS pattern is little-known and not well understood outside of a few domains. Existing explanations of the ECS pattern tend to be mired in the concrete details of particular ECS frameworks, or they explain the pattern in terms of imperfect metaphors or in terms of what it is not. We seek a rigorous understanding of the ECS pattern via the design of a formal model, Core ECS, that abstracts away the details of specific implementations to reveal the essence of software using the ECS pattern. We identify a class of Core ECS programs that behave deterministically regardless of scheduling, enabling use of the ECS pattern as a deterministic-by-construction concurrent programming model. With Core ECS as a point of comparison, we then survey several real-world ECS frameworks and find that they all leave opportunities for deterministic concurrency unexploited. Our findings point out a space for new ECS implementation techniques that better leverage such opportunities.
title Exploring the Theory and Practice of Concurrency in the Entity-Component-System Pattern
topic Programming Languages
url https://arxiv.org/abs/2508.15264