• Aucun résultat trouvé

Formal Models to Compose and Execute Interactive Multimedia Scores in Real-Time

N/A
N/A
Protected

Academic year: 2021

Partager "Formal Models to Compose and Execute Interactive Multimedia Scores in Real-Time"

Copied!
2
0
0

Texte intégral

(1)

HAL Id: hal-01441583

https://hal.archives-ouvertes.fr/hal-01441583

Submitted on 19 Jan 2017

HAL is a multi-disciplinary open access

archive for the deposit and dissemination of sci-entific research documents, whether they are pub-lished or not. The documents may come from teaching and research institutions in France or abroad, or from public or private research centers.

L’archive ouverte pluridisciplinaire HAL, est destinée au dépôt et à la diffusion de documents scientifiques de niveau recherche, publiés ou non, émanant des établissements d’enseignement et de recherche français ou étrangers, des laboratoires publics ou privés.

Formal Models to Compose and Execute Interactive Multimedia Scores in Real-Time

Jaime Arias, Myriam Desainte-Catherine, Camilo Rueda

To cite this version:

Jaime Arias, Myriam Desainte-Catherine, Camilo Rueda. Formal Models to Compose and Execute Interactive Multimedia Scores in Real-Time. Journée de l’École doctorale de mathématiques et infor-matique, Oct 2014, Bordeaux, France. �hal-01441583�

(2)

FORMAL MODELS TO COMPOSE AND EXECUTE INTERACTIVE MULTIMEDIA SCORES IN REAL-TIME

Jaime Arias, Myriam Desainte-Catherine and Camilo Rueda

LaBRI - Université de Bordeaux

INTRODUCTION

CONCLUSIONS

Nowadays, the design of interactive multimedia systems based on a written sce-nario is a challenge that requires to handle dynamic and static events as well as dynamic and static data. Interactive scores (IS) [8] propose a model to write and execute interactive scenarios comprised of several multimedia processes. In IS, multimedia processes are temporal objects, represented as boxes, whose tempo-ral organization is defined by asserting tempotempo-ral relations those objects should obey. IS may also contain interactive points. These are used as triggers to modify temporal relations during execution. An important requirement of this model is that the temporal constraints defined by the composer must be preserved during the execution of the scenario.

Currently, the software i-score implements the model described above in a visual environment. Its execution model is based on Hierarchical Time Stream Petri Nets (HTSPNs) [11]. Places and transitions of Petri nets model temporal aspects of the scenario (i.e., they define a partial order between static and dynamic events) de-fined during its composition. Such implementation provides an efficient and safe execution, but implies some limitations: (1) it presents a quite static structure and doest not support dynamic creation of processes; (2) it does not support condi-tionals and loops; (3) it cannot handle complex data; and (4) the visual language complicates the representation of some abstract programming concepts such as control structures, recursion and variables, and also limits the ability of expres-sion in the temporal organization of scores. In this poster, we present some ap-proaches to overcome the above limitations in the execution model of i-score.

ACKNOWLEDGMENTS

The authors would like to thank Carlos Olarte and Sylvain Salvati who helped us a lot in the development of these ideas. Also, we would like to thank Louis Mandel for his valuable remarks about the implementation in ReactiveML. This work has been supported by the OSSIA (ANR-12-CORD-0024) project and SCRIME.

BIBLIOGRAPHY

1. D. Fober, Y. Orlarey, and S. Letz, “An Environment for the Design of Live Music Scores,” in Proceedings of the Linux Audio Conference, 2012, pp. 47–54.

2. F. Boussinot and R. de Simone, “The SL Synchronous Language,” IEEE Trans. Softw. Eng., vol. 22, no. 4, pp. 256–266, Apr. 1996.

3. J. Arias, M. Desainte-Catherine, and C. Rueda, “Modelling Data Processing for Interactive Scores Using Coloured Petri Nets,” in Proceedings of the14th International Conference On Applications Of Concurrency To System Design (ACSD’14), 2014, pp. 186–195.

4. J. Arias, M. Desainte-Catherine, C. Rueda, and S. Salvati, “Executing Hierarchical Interactive Scores in Re-activeML,” in Actes des Journées d’Informatique Musicale, 2014, pp. 25–34.

5. J. Echeveste, A. Cont, J.-L. Giavitto, and F. Jacquemard, “Operational Semantics of a Domain Specific Lan-guage for Real Time Musician–Computer Interaction,” Discrete Event Dynamic Systems, vol. 23, no. 4, pp. 343–383, 2013.

6. K. Jensen and L. M. Kristensen, Coloured Petri Nets. Modelling and Validation of Concurrent Systems. Dordrecht; NewYork: Springer, 2009.

7. L. Mandel and M. Pouzet, “ReactiveML: a Reactive Extension to ML,” in Proceedings of the 7th ACM SIG-PLAN International Conference on Principles and Practice of Declarative Programming, 2005, pp. 82–93. 8. M. Desainte-Catherine, A. Allombert, and G. Assayag, “Towards a Hybrid Temporal Paradigm for Musical Composition and Performance: The Case of Musical Interpretation,” Comput. Music J., vol. 37, no. 2, pp. 61–72, Jun. 2013.

9. M. Erwig and B. Meyer, “Heterogeneous Visual Languages-Integrating Visual and Textual Programming,” in Proceedings of Symposium on Visual Languages, pp. 318–325.

10. N. Halbwachs, F. Lagnier, and P. Raymond, “Synchronous Observers and the Verification of Reactive Sys-tems,” in Algebraic Methodology and Software Technology, Springer London, 1994, pp. 83–96.

11. P. Sénac, P. de Saqui-Sannes, and R. Willrich, Hierarchical Time Stream Petri Net: A Model for Hypermedia Systems, ser. Lecture Notes in Computer Science. Springer Berlin Heidelberg, vol. 935, pp. 451–470.

12. R. Alur and D. L. Dill, “A Theory of Timed Automata,” Theoretical Computer Science, vol. 126, no. 2, pp. 183–235, 1994.

13. T. De la Hogue, P. Baltazar, M. Desainte-Catherine, J. Chao, and C. Bossut, “OSSIA : Open Scenario System for Interactive Applications,” in Actes des Journées d’Informatique Musicale, 2014, pp. 78–84.

We presented several approaches to overcome the current limitations of the execution model of interactive scores. Moreover, we extended the model with some features such as the notion of asynchronous functional composition and a real-time visualization system. Finally, we introduced a complete framework that allows to compose, verify and execute (on a physical platform) open scenarios.

We extend the current execution model of interactive scores with the capability to handle complex data [3]. For that, we used Colored Petri Nets (CPNs) [6] to model both complex data and the dynamic aspect of the functional composition of processes.

Multimedia streams are often cut into temporal frames to be carried from one process to another. Thus, we model frames as colored tokens that are handled by processes. Our approach provides the notion of asynchronous functional com-position. This corresponds to the case where the composed processes are not executed at the same time. Then, it requires to buffer the output data stream of processes in order to hold data until another process read them.

We used CPN tools for prototyping and simulating our model and we imple-mented modules for reading, appending and reversing audio files.

COLORED PETRI NETS

The graphical environment of i-score provides composers with a visual environ-ment to design, create and modify scenarios in an intuitive way. However, in visual programming the representation of some abstract programming concepts such as data structures, control structures, functions, recursion and variables is very hard or sometimes impossible [9]. In addition, in the case of i-score, it also limits the ability of expression in the temporal organization of scores [13].

Therefore, we introduced a new programming language, called ReactiveIS, that allows to take advantage and extend the full capacity of temporal organization during the composition and execution of interactive scores. For that, we present a clear and extensive syntax, and also the operational semantics of the program-ming language.

The operational semantics is defined using tree structures and simple operations on them, which provides a practical and intuitive formalization of the behavioral and the hierarchical aspects of interactive scores. Moreover, the definition of a formal semantics will allow a static and dynamic analysis of the written scores.

DOMAIN-SPECIFIC PROGRAMMING LANGUAGE

The current implementation of i-score (version 0.2) includes conditional relation-ships between boxes. However, this new feature lacks of a well-defined formal semantics. Timed Automata (TA) [12] have been previously used in music appli-cations showing to be a powerful model for describing both the logical ordering of events and also the durations between them [5]. Thus, TA are well suitable for expressing the timing constraints appearing in interactive scores. In this new ap-proach, we define interactive scores equipped with conditionals as a network of

timed automata. Moreover, we have preliminary results on modeling loops. Unlike

CPN, TA have a variety of powerful multi-platform tools (e.g., UPPAAL) to design, simulate and verify real-time systems modeled as TA.

Our aim is to develop a framework that start with the composition of the in-teractive score in i-score, followed by the translation of the scenario into a TA in order to verify some important properties such as playability and the maximum number of boxes executed simultaneously. Finally, the verified model is translated into an executable code that enables a physical implementation (i.e., a chip). We pay special attention to the true parallelism offered by a Field Programmable Gate Array (FPGA). Compared to the operating system based platforms, the FPGA plat-form is able to achieve a much faster sampling frequency, and it is not affected by the rather complex behavior of the operating system services.

TIMED AUTOMATA

A disadvantage of the model based on Petri Nets is that the model is very static and modeling new features would require a complete redesign of the network or sometimes they cannot be expressed. Additionally, a problem of i-score is that it does not provide a good visual feedback in real-time of the execution of the sce-nario. Therefore, we explored a new way to define and execute interactive scores aiming at a more dynamic model [4].

For this purpose, we used ReactiveML [7], a functional programming language for implementing interactive systems (e.g., video games and graphical user interfaces). This language is based on the synchronous reactive model of Boussinot [2], then it provides a global discrete model of time, clear semantics, and unlike Petri nets, synchronous and deterministic parallel composition and features such as dynamic creation of processes.

We took advantage of the synchronous model of ReactiveML and developed a vi-sualization system in INScore [1] that behaves like a synchronous observer of our interpreter [10]. Therefore, it listens the events emitted by the interpreter and changes the temporal organization of the score in the graphical interface.

REACTIVE PROGRAMMING LANGUAGE

Declarations

colset TIME = time;

colset UNIT = unit;

colset INT = int;

colset BOOL = bool;

colset DATA = INT;

colset DURATION = TIME timed;

colset FILE = product INT*DATA;

var f_dur : TIME;

var e : BOOL;

var n_max : INT;

var n : INT; var f : DATA; TIME frame duration start INT max number frames f_dur n_max f_dur get frame DURATION f_dur f_dur@+f_dur max num INT n_max n_max n_max file FILE (n,f) continue stop next frame INT n+1 n receive frame FILE [n <= n_max] (n,f) (n,f) n_max n_max 1 if (n = n_max) then 1`() else empty (n,f) end EOF wait sync next frame f_dur R E A D limit if (n = n_max) then 1`() else empty if (e = true) then 1`() else empty 2`() n frames read n-1 INT stop enabled BOOL output FILE e 1`false e 1`false true Conditions start: True stop: EndScenario Conditions

start: WaitFromEnd (A, 5, 5) ^ WaitFromEnd (B, 3, 3) stop: WaitFromEnd (C.D, 1, ∞) ^ WaitFromEnd (C.E, 1, ∞)

C Conditions start: WaitFromStart (ε, 3, 3) stop: WaitFromStart (B, 2, 2) Messages start: /light/2 on stop: /light/2 off

B

Conditions

start: WaitFromStart (ε, 1, 1) stop: WaitFromStart (A, 2, 2)

Messages

start: /light/1 on stop: /light/1 off A

Conditions

start: WaitFromStart (C, 1, 1) stop: WaitFromStart (C.E, 2, 2)

Messages

start: /sound/2 on stop: /sound/2 off

E

Conditions

start: WaitFromStart (C, 2, 5) ^ WaitEvent (/mouse 1) stop: WaitFromStart (C.D, 1, 1)

Messages

start: /sound/1 on stop: /sound/1 off

D Composition IS2UPP Verification Property Checking

C/C++ Code VHDL/System Verilog Code

UPP2C UPP2HDL i-score scenario UPPAAL model Interpretation

Example of an interactive score with five process boxes and two hierarchical boxes (Box. 5 and the whole scenario). Box.3 has an interaction point at the end whereas Box.5 has two interaction points.

CPN module for reading an audio file. Reading audio files consists in acquiring audio frames from a file with a determined frequency (i.e., duration between frames).

Graphical interface in INScore. Colored boxes represent the boxes that are currently executing.

Tree representation of a scenario wrote in ReactiveIS. Nodes with messages represent process boxes while the others represent hierarchical boxes. Each node has both a condition to start and a condition to stop.

Framework flow: composition, verification and re-al-time execution.

Références

Documents relatifs

Figure 6C shows that inducing Pura RNAi along with Rho1 (Pdf, tub- Gal80 ts &gt; Rho1 + Pura RNAi ) restored the axonal volume and 3D spread of s-LNv projections to control

In accordance with the enhanced adipose tissue in- flammation with aging, an increase in levels of active p38mapk (p-p38mapk) in adipose tissues of the old WT mice was observed,

The time evolution of the dependency ratio (i.e. the number of individuals aged above 65 divided by the individuals between 15 and 65) already provides many insights regarding the

Avec une médiane de survie de 6 à 9 mois pour les formes métastatiques et une incidence en constante augmentation, le mélanome malin (MM) est un problème de santé publique mondial

We propose to illustrate the relevance of the aforementioned criteria through the reassem- bly of fractured objects. In particular, we deal with a real-world dataset composed of

We propose, therefore, that Dilepis maxima Goss, 1940 become a synonym of Paradilepis kempi (Southwell, 1921) Joyeux &amp; Baer, 1950.. The hosts and localities from which this worm

- the Aerial-Painting-Hands system which detects positions and movements of a performer’s hands: the performer wears two ordinary cloth gloves of different colours and moves the

The scenario is a process and a particular setup (fig. 1) of the elements of the i-score model: time constraint (a span of time, contains temporal processes), time node (synchro-