- Domain Specific Language (DSL)
- Unconventional models of computation/programing
- Space and time in programming
- Computer Music (performance, composition)
- Spatial Computing
- Synchronous and timed programming languages
- Simulation of complex dynamical systems
- Topological rewriting
- Implementation: evaluation, static analysis and compilation of programming languages
Spatial computing is an effort to make explicit space in computation because (1) space is used as a resource (e.g. as in parallelism or in hardware) or because (2) space is an input (e.g. sensor network, cyber physical systems) or an output (e.g. CAD systems, cyber physical systems) of the computation.
MGS is an experimental programming language used as a vehicle to study:
- the use of topological notions in programming (e.g. considering a data structure as a space where the computation moves);
- the modeling and the simulation of dynamical systems with a dynamical structure through the use of topological rewriting;
- the representation of spatio-temporal concept in a unified framework (future work);
- spatial representation for musical objects and processes.
There is an extensive tutorial on the ideas behind MGS given at UCNC'2012
UTopoIa relies on topological notions (cellular complex and other notions originated in algebraic topology) for knowledge representation. The underlying idea investigated here is that topological relationships (such as neighborhood, border, dimension, obstruction, deformation, separabitily, connexity, path, etc.) enable the building and the structuration of knowledge representations.
Recently, we have started a new investigation on the use of this approach for music (see below).
Usually, time is analyzed through two objects: instant and time interval, and three relationships: simultaneity, succession and duration. Time in computer languages is often viewed through the notion of event, which evacuates the notion of duration. The idea that it exists multiple time frame, that are only partially related, is better known by its immediate applications to distributed problem. However, the idea that the flow of time can be parameterized ('how time lasts a second?') seems at best, a curiosity. However, in music, we have to face duration, different time flows and multiple time frames at multiple scale, at real-time and just on time!
Otto e Mezzo (in short 8½) (see also this link). Otto is a declarative (dataflow) programming language for the parallel simulation of dynamical systems. Otto was inspired from multidimensional Lucid. It is a member of the synchronous programming language family. An instantaneous value is a data field: a collection of elements handled as a whole (and in parallel).
Antescofo is a score follower and much more: the system embeds a synchronous language that can be used to launch several processes in synchrony with the real-time interpretation of musicians. In this context, José Echeveste extends the available constructs in the direction of a full coordination language dedicated to the writing of time for composer of mixed music (electronics + human performance).
We investigate also in this project and in ANR project INEDIT new forms of interactions and the problematics of GALS/LAGS: how to couple systems that work on several time scales.
MuTant is a joint research project between Ircam, INRIA and CNRS since January 2012. In MuTant I focus on the development of a computer language for artists that reacts in live interaction with an outside environment. The language in Antescofo attempts to create such possibilities.
Spatial representation for music try to develop the approach initiated in UTopoIa and the use of MGS for developing new tools in musicology. This work has started with a with undergraduate project and now the PhD of Louis Bigo between the LACL and IRCAM.
An example of the current tool developed by Louis is shows here.
Examples of spatial transformations of musical pieces are given here.
The diagram below is the abstract representation of a Nachtleben a piece by composer Julia Blondeau. We work with Julia on spatial representation of musical qualities.
CHRONOS Time and Events in Computer Science, Control Theory, Signal Processing, Computer Music, and Computational Neurosciences and Biology.
The Chronos interdisciplinary network aims at placing in close contact and cooperation researchers of a variety of scientific fields: computer science, control theory, signal processing, computer music, neurosciences, and computational biology. The scientific object of study will be the understanding, modeling, and handling of time- and event-based computation across the fields.
Description of the project on the ANR site.
INEDIT (Interactivity in the Writing of Time and Interactions) is an ANR funded project launched in 2012. The project aims to provide a scientific view of the interoperability between common tools for music and audio productions, in order to open new creative dimensions coupling authoring of time and authoring of interaction. This coupling allows the development of novel dimensions in interacting with new media.
SynBioTIC is a long term project around the compilation of high-level abstractions towards bioware.
Workgroup CLASYCO: Conception de Langages dédiés au domaine des SYstèmes Complexes of the RNSC.
AutoChem aims at investigating and exploring an unconventional approach, based on chemical computing, to program complex computing infrastructures, such as autonomic systems. Chemical computing uses the chemical reaction metaphor to express the coordination of computations. This metaphor describes computation in terms of a chemical solution in which molecules (representing data) interact freely according to reaction rules. Chemical solutions are represented by multisets (data-structure that allows several occurrences of the same element). Computation proceeds by rewritings, which consume and produce new elements according to conditions and transformation rules. In this project, I am interested by : (1) adding more structure in the chemical approach (this can be done à la structured Gamma or à la MGS), and (2) : refining chemical programs into more efficient ones.
IRCAM is a singular place celebrating a fruitfull wedding between music and computer science (by Gérard Berry). (pdf file)
I started by extending the native functional language of a Lisp machine, Maia, build at Laboratoires de Marcoussis (LdM) by Jean-Paul Sansonnet towards parallelism and concurrency. The PhDs of William Clinger and Gul Agha just appeared and I embedded the actor paradigm in Lore, the object layer of the machine as well as a future construct and some user-programmable scheduler. (Incidentally, Lore, developed by Yves Caseau, becomes Claire and is still alive).
Hired at LdM, amongst other things I started to work on a new CASE tool in the context of an European project on formal methods. At this occasion, I developed one of the first persistent object databases in C++, using a technique called later smart-pointer.
I leave LdM to start a PhD at the University of Orsay (Paris 11) in the Laboratoire de Recherche en Informatique (LRI). I was amongst the few in France that had the opportunity to program a Connection Machine. I developed 81/2, a declarative data parallel and data flow language: a set of equations describes streams of arrays. The “stream part” was borrowed to synchronous data flow languages like Lucid, Lustre, or Signal, but with a model of time more flexible w.r.t. to the requirement of intensive physical simulations, our target applications. The "array part" was inspired by the intentional manipulation of arrays as found in APL or in the data parallel languages developed for the Connection Machine. The language was implemented on a sequential computer, the Connection Machine and also the Paragon. I developed some type inference algorithm to infer the size of arrays and several static analysis, for example to check that array recursive equations are progressive (that is, defines constructively the value of all array elements).
With Abderrahmane Mahiout, the first PhD student I have supervised, we have investigated automatic distribution and scheduling strategies for this kind of program. We developed a notion of elastic task, and captured the data dependency in the data parallel model in three kinds of relationships characterizing the map/reduce paradigm.
The work on 81/2 goes ahead with the PhD of Dominique De Vito with the development of an execution model for 8/1/2 programs on clusters and network of workstation. This kind of target developed a little latter with the expansion of the notion of grid.
At the same time, I become more and more interested in dynamic program, required for example in the simulation of morphogenesis (as in developmental biology or in plant growth). This line of research leads to the PhD thesis of Olivier Michel. The isomorphism between stream of array and array of stream cannot be longer maintained in presence of dynamicity and new resolution strategies to solve dynamic set of equation must be devised. We conceived a formalism, amalgams, to achieve this goal. Amalgams are a strange construction that is able to model dynamic linking as well as mixins. We also extended the notion of arrays to data fields to group based fileds (GBF).
Dynamic 81/2 programs are relevant to describe tree shaped structure. The description of arbitrary morphology remains painful and requires some encoding. This is why I become interested in cellular space and more precisely, in abstract simplicial complexes whose algebraic and combinatorial structure make very appealing for their computer handling. However, the first application I envisioned has been in the field of cognitive science, with the development of a topological (or diagrammatic) knowledge representation. This was the internship of Erika Valencia and the start of its PhD. A beautiful and original application was the resolution of Aristotelian analogies.
At this moment, I pass my teniure and leave the LRI for the LaMI (Laboratoire de méthodes informatiques) at the University of Evry. The University of Evry is strongly coupled with the Genopole and soon I wanted to apply this kind of device to simulation problems found in systems biology. It was an intense period of work with Olivier Michel which was lecturer at Evry leading to the development of MGS.
MGS unifies the various notions of data structure found in programming languages (from trees and algebraic data type to containers like arrays and graphs) through the notion of topological collection. Topological collections are the computer version of the notion of chain on a cellular complex in algebraic topology. The basic computation mechanism in MGS is the rewriting of such structure. The approach has been validated in numerous system's biology examples.
The PhD of Julien Cohen proposes a type system for the language, including heterogeneous data structure (e.g. vector containing both integer and string). At this time we collaborated with Przemek Prusinkiewics on plant modeling as well as with Christophe Godin. The PhD thesis of Pierre Barbier de Reuille used MGS as teh simulation engine of the model he developed for the growth of the apical meristeme in Arabidopsis at the cellular level.
We launched also the spatial computing community with a seminal seminar in Dagsthul, a memorable joint workshop between NSF and EC at the Mont Saint-Michel.
At the same time I become director of the LaMI and then I co-founded the IBISC laboratoyr. But this is another story.
Olivier gets his teniure and Antoine Spicher defended his PhD. The PhD of Antoine is the culmination of the topological approach in MGS. He implemented combinatorial complexes in MGS, quasi varieties and others kind of very generic and "universal" topological collections and their rewriting. The rewriting engine is a wonderful and marvelous piece of generic software, which still wonders me.
As a side work (!) Antoine was at the iGEM context with the first French team. They won the first prize in the category "theoretical model". All the model and simulation were done with MGS.
Thomas Louail finishes his PhD in the modeling of urban morphogenesis. The PhD was cosupervised by myself and Denise Pumain and Guillaume Hutzler. Thomas was awarded by geographer (the GDR MAGIS) for his PhD. It was a lot of fun to collaborated with geographers. It leads me to reinforce my links with the Institute of Complex Systems of Paris and to understand the challenges of modeling and simulation in the social sciences.
By 2010, Olivier and Antoine moved to the LACL, the computer science laboratory of the University of Paris-Est. I finished my second period as the director of IBISC and I wanted to renew my scientific landscape. As a result, for 2011 I moved to IRCAM.
Louis Bigo started his PhD between Ircam and LACL. The year before I co-supervised its internship at Ircam, on the use of topological collections to represent pitch space and the internal relationships of sequence or set of notes (chords, melody, etc.). This work was extended and deepened in its PhD, which won the prize of the young researcher in Computer Music in 2013. One of the interests of the topological approach is to propose new transformation that are inspired and founded by the topological structure and that have not yet been considered in music. Injection of a musical path in a Tonnetz into another Tonnetz is an example of such transformation. The paper presenting these results at ICMC 2014 wins the Best Paper Prize.
In addition to the work with Louis and Moreno Andreatta, I have worked with Jean Bresson to formalize the introduction of reactive evaluation mechanisms in OpenMusic.
I am also working a lot on the Antescofo domain specific language, with Arshia Cont and José Echeveste. José his currently finishing his PhD. He taught me how to think dynamically on time and not geometrically. One of our current research directions is the management of multiple times in the language.
And I also started to interact with composers, especially with the starting PhD of julia Blondeau.
- Former director of the LaMI (2004-2006). Cofounder, former deputy director and former director of the IBISC research laboratory (2006-2009).
- Julia Blondeau (CNSMD Lyon - Ircam, computer music)
- José Echeveste (IRCAM - UPMC, reactive and temporised language, Antescofo)
- Antoine Spicher (LACL, MGS & spatial computing & geometrization of computing)
- Jean Bresson (IRCAM, spatial, functional reactive systems)
- Florent Jacquemard (INRIA, formal methods, constraint)
- Louis Bigo (LACL, spatial computing and music)
- Arshia Cont (IRCAM, Antescofo)
- Moreno Andreatta (IRCAM - CNRS, spatial computing and music)
- Olivier Michel (LACL, MGS & spatial computing)
- Julien Cohen (LINA, type systems and combinotarization)
- René Doursat (ISC-PIF, computational morphogenesis)
- Pascal Fradet (INRIA Grenoble, programmation)
- Annick Lesne (IHES, stochastic simulation)
- Przemek Prusinkiewicz (Calgary, declarative modeling)
- Pierre Barbier de Reuille (meristeme model)
- Denise Pumain (Paris 1, geography)
- Arnaud Banos (GCNRS, Geographie-Cité, complex systems)
- René Doursat (ISC, morphogenetic engineering)
- Moreno Andreatta (IRCAM, formalisation spatiale de la musique)
- Hugues Berry (LRI, stochastic simulation)
- Christophe Godin (CIRAD, biological modeling)
- Jean-Pierre Banâtre (IRISA, programming)
- Jake Beal (BBN & MIT, Spatial computing)
- Frédéric Gruau (U. PXI, language and hardware)
- Grant Malcolm (Liverpool, rewriting)
- Franck Delaplace (IBISC, synthetic biology)
- Hanna Klaudel (IBISC, model-checking, formal methods)
- Franck Pommereau (IBISC, model-checking, formal methods)
I like the strange poem by R. Brautigan. I have tried to translate it.