Table of Contents
Fetching ...

Expressivity of AuDaLa: Turing Completeness and Possible Extensions

Tom T. P. Franken, Thomas Neele

TL;DR

The paper investigates the expressivity of AuDaLa, a data-autonomous, parallel language, by constructing a full implementation of a Turing machine within its semantics and proving Turing completeness. It introduces a self-contained semantic framework and uses TapeCell/Control abstractions to mirror TM transitions, establishing an equivalence between TM steps and AuDaLa steps. Beyond the completeness result, the authors propose three extensions—parameter-specific fixpoints, iterators, and arrays—to enhance practical expressivity and discuss their potential benefits and trade-offs. The work situates AuDaLa among data-parallel and actor-like systems, arguing that its simple design remains broadly expressive and adaptable, while outlining future directions like garbage collection and packaging to broaden applicability.

Abstract

AuDaLa is a recently introduced programming language that follows the new data autonomous paradigm. In this paradigm, small pieces of data execute functions autonomously. Considering the paradigm and the design choices of AuDaLa, it is interesting to determine the expressivity of the language. In this paper, we implement Turing machines in AuDaLa and prove that implementation correct. This proves that AuDaLa is Turing complete, giving an initial indication of AuDaLa's expressivity. Additionally, we give examples of how to add extensions to AuDaLa to increase its practical expressivity and to better match conventional parallel languages, allowing for a more straightforward and performant implementation of algorithms.

Expressivity of AuDaLa: Turing Completeness and Possible Extensions

TL;DR

The paper investigates the expressivity of AuDaLa, a data-autonomous, parallel language, by constructing a full implementation of a Turing machine within its semantics and proving Turing completeness. It introduces a self-contained semantic framework and uses TapeCell/Control abstractions to mirror TM transitions, establishing an equivalence between TM steps and AuDaLa steps. Beyond the completeness result, the authors propose three extensions—parameter-specific fixpoints, iterators, and arrays—to enhance practical expressivity and discuss their potential benefits and trade-offs. The work situates AuDaLa among data-parallel and actor-like systems, arguing that its simple design remains broadly expressive and adaptable, while outlining future directions like garbage collection and packaging to broaden applicability.

Abstract

AuDaLa is a recently introduced programming language that follows the new data autonomous paradigm. In this paradigm, small pieces of data execute functions autonomously. Considering the paradigm and the design choices of AuDaLa, it is interesting to determine the expressivity of the language. In this paper, we implement Turing machines in AuDaLa and prove that implementation correct. This proves that AuDaLa is Turing complete, giving an initial indication of AuDaLa's expressivity. Additionally, we give examples of how to add extensions to AuDaLa to increase its practical expressivity and to better match conventional parallel languages, allowing for a more straightforward and performant implementation of algorithms.

Paper Structure

This paper contains 22 sections, 10 theorems, 22 equations, 2 figures.

Key Result

Lemma 4.4

An AuDaLa step $F$ is deterministic for some state $P$ if $F$ does not contain a race condition starting in $P$.

Figures (2)

  • Figure 1: The semantics of AuDaLa, ordered by category.
  • Figure 2: The Turing Machine of Example \ref{['ex:tm']} with input string '$1121$'.

Theorems & Definitions (24)

  • Definition 2.1: Turing machine transition
  • Definition 2.2: Interpretation function franken-autonomous-2025
  • Definition 2.3: Initial state franken-autonomous-2025
  • Example 3.1
  • Definition 4.1: Reference Notation
  • Definition 4.2: Determinism
  • Definition 4.3: Race Conditions
  • Lemma 4.4: AuDaLa Determinism franken-autonomous-2025
  • Corollary 4.5: Progress
  • Corollary 4.6: Expression Results
  • ...and 14 more