Extending Data Spatial Semantics for Scale Agnostic Programming
Jason Mars
TL;DR
This work tackles the semantic gap in programming language design for scale by proposing scale-agnostic programming through extensions to Data Spatial Programming (DSP). The core approach introduces a persistent root node, treats walkers as entry points, and adds topology-aware distribution to enable applications to run across single-user to distributed contexts without code changes. Key contributions include formal definitions for root-based persistence, per-user isolation, API-like walker entry points with parameter/result mappings, and flexible distribution strategies with fault tolerance, all integrated into a unified topological model. The framework aims to reduce boilerplate, simplify evolution from prototypes to production systems, and provide a cohesive programming experience across application scales.
Abstract
We introduce extensions to Data Spatial Programming (DSP) that enable scale-agnostic programming for application development. Building on DSP's paradigm shift from data-to-compute to compute-to-data, we formalize additional intrinsic language constructs that abstract persistent state, multi-user contexts, multiple entry points, and cross-machine distribution for applications. By introducing a globally accessible root node and treating walkers as potential entry points, we demonstrate how programs can be written once and executed across scales, from single-user to multi-user, from local to distributed, without modification. These extensions allow developers to focus on domain logic while delegating runtime concerns of persistence, multi-user support, distribution, and API interfacing to the execution environment. Our approach makes scale-agnostic programming a natural extension of the topological semantics of DSP, allowing applications to seamlessly transition from single-user to multi-user scenarios, from ephemeral to persistent execution contexts, and from local to distributed execution environments.
