Résumé |
Multimedia interaction systems are inherently concurrent. Developing correct concurrent systems is difficult because we need to consider all the possible interactions between processes. To reason formally about concurrent systems, there are several concurrent process calculi. We developed multiple prototypes for real-time capable interpreters for both, Concurrent Constraint Programming (CCP) and Non-deterministic Timed Concurrent Constraint (ntcc). We found out that using lightweight threads to implement these interpreters is not appropriate for real-time (RT) interaction. Instead, we recommend using event-driven programming. Using this model of concurrency, we developed Ntccrt, an interpreter for ntcc capable of RT interaction. Ntccrt is based on encoding ntcc processes as Gecode propagators. Using Ntccrt, we executed some models in Pure Data. Due to our success using Gecode, we upgraded Gelisp, providing a graphical interface to solve musical Constraint Satisfaction Problems (CSP) in OpenMusic based on Gecode. In Gelisp, constraints, search heuristics, and optimization criteria can be represented graphically. Using Gelisp, we successfully solved a CSP proposed by compositor Michael Jarrell. |