with Myriam Desainte-Catherine, Sylvain Salvati and Camilo Rueda Laboratoire Bordelais de Recherche en Informatique (LaBRI) Université de Bordeaux Journées d’Informatique Musicale Bourges, May 2014 1
and executing interactive scenarios. • A wide range of application such as video games and museum installations. ◦ Non-linear behaviour ⇝ conditionals, loops . • I-score1. The execution model is based on Hierarchical Time Stream Petri Nets [19]. ◦ Very static. ◦ New features would require a complete redesign of the network. • There are some problems: ◦ Hierarchical aspects. ◦ Feedback during execution. ◦ Complexity of the network. 1http://i-score.org Jaime Arias (LaBRI) Executing Hierarchical Interactive Scores in ReactiveML 1/18 1/18
systems [16]. • Synchronous reactive model of Boussinot [8]. • It provides a discrete model of time, clear semantics, synchronous, deterministic and dynamic features. • It has been previously used in music applications [4] showing to be ◦ Very expressive. ◦ Efficient. ◦ Capable of interacting with the environment during the performance of complex scores. ◦ Well suited for building prototypes easily. Jaime Arias (LaBRI) Executing Hierarchical Interactive Scores in ReactiveML 2/18 2/18
to define and implement interactive scores, aiming at a more dynamic and simple model. Jaime Arias (LaBRI) Executing Hierarchical Interactive Scores in ReactiveML 3/18 3/18
A synchronous model for IS Improving the visualization Demo Summary Future work Jaime Arias (LaBRI) Executing Hierarchical Interactive Scores in ReactiveML 4/18 4/18
period tic = 2 let start = Unix.gettimeofday () in 3 let next = ref (start +. period) in 4 loop 5 let current = Unix.gettimeofday() in 6 if (current >= !next) then begin 7 emit tic (); 8 next := !next +. period 9 end; 10 pause 11 end Figure: Example of ReactiveML language.2 2Based on the work of Baudart et al. [5] Jaime Arias (LaBRI) Executing Hierarchical Interactive Scores in ReactiveML 7/18 7/18
r1 r2 Figure: Example of a box with two preceding temporal relations. Jaime Arias (LaBRI) Executing Hierarchical Interactive Scores in ReactiveML 12/18 12/18
scores. • We showed that the model is simple. • Contrary to the Petri Net model, our approach allows to model precisely the hierarchical behaviour of boxes. • We could prototype new features easily and execute living code using the toplevel of ReactiveML. • We explored the use of INScore to develop a graphical interface that provides a real-time visualization of the execution of the score. • Our approach would allow to execute dynamic processes unlike Petri Nets. Jaime Arias (LaBRI) Executing Hierarchical Interactive Scores in ReactiveML 16/18 16/18
Take advantage of ReactiveML properties for prototyping new features. ◦ Add conditionals and loops for describing non-linear behaviour. • Analyze data-flow programming languages like Lucid Synchrone for handling streams. • Carry out a performance testing. • Implement a compiler i-score ⇝ Rml-score • Verification of properties. • Improve the visual environment in INScore. Jaime Arias (LaBRI) Executing Hierarchical Interactive Scores in ReactiveML 17/18 17/18
with Myriam Desainte-Catherine, Sylvain Salvati and Camilo Rueda Laboratoire Bordelais de Recherche en Informatique (LaBRI) Université de Bordeaux Journées d’Informatique Musicale Bourges, May 2014 1
the ACM, ACM, vol. 26 (11), New York, NY, USA, 1983, p. 832–843. Allombert, A., ‹Aspects temporels d’un système de partitions musicales interactives pour la composition et l’exécution›, Ph.D. Thesis, Bordeaux, France, 2009. Allombert, A., Desainte-Catherine, M., and Assayag, G., ‹Iscore: A system for writing interaction›, Proceedings of the Third International Conference on Digital Interactive Media in Entertainment and Arts, ACM, New York, NY, USA, 2008, p. 360–367. Baudart, G., Jacquemard, F., Mandel, L., and Pouzet, M., ‹A synchronous embedding of Antescofo, a domain-specific language for interactive mixed music›, Proceedings of the Thirteen International Conference on Embedded Software, Montreal, Canada, 2013.
music in ReactiveML›, Proceedings of the First ACM SIGPLAN Workshop on Functional Art, Music, Modeling, Boston, USA, 2013. Benveniste, A., Caspi, P., Edwards, S., Halbwachs, N., Le Guernic, P., and De Simone, R., ‹The synchronous languages 12 years later›, Proceedings of the IEEE, IEEE, vol. 91 (1), 2003, p. 64–83. Berry, G., and Gonthier, G., ‹The Esterel synchronous programming language, design, semantics, implementation›, Science of Computer Programming, Elsevier, vol. 19 (2), Amsterdam, The Netherlands, 1992, p. 87–152. Boussinot, F., and De Simone, R., ‹The SL synchronous language›, IEEE Transactions on Software Engineering, IEEE Press, vol. 22 (4), Piscataway, USA, 1996, p. 256–266.
parameters in computer music›, Proceedings of International Computer Music Conference, Belfast, Ireland, 2008. Desainte-Catherine, M., Allombert, A., and Assayag, G., ‹Towards a hybrid temporal paradigm for musical composition and performance: The case of musical interpretation›, Computer Music Journal, MIT Press, vol. 37 (2), Cambridge, MA, USA, 2013, p. 61–72. Fober, D., Orlarey, Y., and Letz, S., ‹An environment for the design of live music scores›, Proceedings of the Linux Audio Conference, CCRMA, Stanford University, California, US, 2012, p. 47–54. Halbwachs, N., Caspi, P., Raymond, P., and Pilaud, D., ‹The synchronous dataflow programming language lustre›, Proceedings of the IEEE, IEEE, vol. 79 (9), 1991, p. 1305–-1320.
and the verification of reactive systems›, Proceedings of the Third International Conference on Methodology and Software Technology, Springer-Verlag, London, UK, 1994, p. 83–96. Halbwachs, N., and Raymond, P., ‹Validation of synchronous reactive systems: From formal verification to automatic testing›, Proceedings of the Fifth Asian Computing Science Conference on Advances in Computing Science, Springer-Verlag, 1999, p. 1–12. Mandel, L., and Plateau, F., ‹Interactive programming of reactive systems›, Electronic Notes in Theoretical Computer Science, Elsevier, vol. 238 (1), Amsterdam, The Netherlands, 2009, p. 21–36.
to ML›, Proceedings of the Seventh ACM SIGPLAN International Symposium on Principles and Practice of Declarative Programming, Lisbon, Portugal, 2005. Marczak, R., Desainte-Catherine, M., and Allombert, A., ‹Real-time temporal control of musical processes›, The Third International Conferences on Advances in Multimedia, Budapest, Hungary, 2011, p. 12–17. Pouzet, M., ‹Lucid Synchrone, version 3. Tutorial and reference manual›, http://www.di.ens.fr/~pouzet/lucid-synchrone/ lucid-synchrone-3.0-manual.pdf.
Time Stream Petri Net: A model for hypermedia systems›, Proceedings of the Sixteenth International Conference on Application and Theory of Petri Nets, Springer, Turin, Italy, 1995, p. 451–470.