Introducing Stateful Conditional Branching in Ciaramella

Authors
Paolo Marrone1, Stefano D'Angelo1, Federico Fontana2
Status
Published in Proceedings of the 20th Sound and Music Computing Conference (SMC-23), pp. 21–26, Stockholm, Sweden, June 2023
1
Orastron Srl, Sessa Cilento, Italy
2
Università degli Studi di Udine, Udine, Italy
BibTeX
@inproceedings{marrone23ciaramellaif,
  title={Introducing stateful conditional branching in Ciaramella},
  author={Marrone, Paolo and D'Angelo, Stefano and Fontana, Federico},
  booktitle={Proc. 20\textsuperscript{th} Sound and Music Comp. Conf. (SMC-23)},
  pages={21--26},
  month={June},
  year={2023},
  address={Stockholm, Sweden}
}

Abstract

Conditional branching in Synchronous Data Flow (SDF) networks is a long-standing issue as it clashes with the underlying synchronicity model. For this reason, conditional update of state variables is rarely implemented in data flow programming environments, unlike simpler selection operators that do not execute code conditionally. We propose an extension to SDF theory to represent stateful conditional branching. We prove the effectiveness of such approach by adding conditional constructs to the Ciaramella programming language without compromising its modular declarative paradigm and maintaining domain-specific optimizations intact. This addition enables easy implementation of common DSP algorithms and helps in writing efficient complex programs.