🤖 AI Summary
This study systematically evaluates and enhances the computational expressiveness of the AuDaLa language. Addressing the absence of a rigorous verification of its Turing completeness, we formally construct and verify a universal Turing machine in AuDaLa—establishing its Turing completeness for the first time. Building upon the data-autonomous programming paradigm, we then propose a semantics-preserving, verifiable extension mechanism to augment AuDaLa’s parallel expressiveness, significantly improving its capability to model conventional parallel paradigms—including task and data parallelism. Our key contributions are: (1) the first formal proof of AuDaLa’s Turing completeness; (2) a verified framework for implementing universal Turing machines in AuDaLa; and (3) a principled, practically grounded pathway for extending AuDaLa into a general-purpose parallel programming language, supported by design guidelines and formal verification methodology. These results provide both theoretical foundations and practical tools for AuDaLa’s evolution toward a robust, expressive parallel programming language.
📝 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 expressiveness of the language and to create verification methods for it. 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 expressiveness, and by proving the implementation correct this contributes to the creation of verification methods for AuDaLa. Additionally, we give examples of how to add in possible extensions for AuDaLa to increase its expressivity to better match conventional parallel languages, allowing for a smoother and more performant implementation of algorithms.