A reactive extension of the OpenMusic visual programming language

Jean Bresson, Jean-Louis Giavitto
2014 Journal of Visual Languages and Computing  
This is an updated and slighly corrected version of the article A Reactive Extension of the OpenMusic Visual Programming Language published in Journal of Visual Languages and Computing (2014)http://dx. Abstract Objectives: OpenMusic (OM) is a domain-specific visual programming language designed for computeraided music composition. This language based on Common Lisp allows composers to develop functional processes generating or transforming musical data, and to execute them locally by
more » ... en evaluations. As most historical computer-aided composition environments, OM relies on a transformational declarative paradigm, which is hard to conciliate with reactive data-flow (an evaluation scheme more adequate to the development of interactive systems). We propose to link these two evaluation paradigms in a consistent visual programming framework. Methods: We establish a denotational semantics of the visual language, which gives account for its demand-driven evaluation mechanism and the incremental construction of programs. We then extend this semantics to enable reactive computations in the functional graphs. Results: The resulting language merges data-driven executions with the existing demand-driven mechanism. A conservative implementation is proposed. Conclusions: We show that the incremental construction of programs and their data-driven and demand-driven evaluations can be smoothly integrated in the visual programming workflow. This integration allows for the propagation of changes in the programs, and the evaluation of graphically-designed functional expressions as a response to external events, a first step in bridging the gap between computerassisted composition environments and real-time musical systems.
doi:10.1016/j.jvlc.2014.03.003 fatcat:b7rxpu2yhrdm7ealcbitsgl7du