pouzet.bib
@comment{{This file has been generated by bib2bib 1.98}}
@comment{{Command line: /usr/bin/bib2bib -q -oc pouzet.cite -ob pouzet.bib -c 'author : "pouzet"' ../../biblio/abbrevs.bib ../../biblio/demons.bib ../../biblio/demons2.bib ../../biblio/demons3.bib ../../biblio/team.bib ../../biblio/crossrefs.bib}}
@article{pouzet85go,
author = {M. Pouzet},
title = {Applications of Well Quasi-Ordering and Better
Quasi-Ordering },
journal = {I. Rival (ed.), Graphs and Orders},
year = 1985,
pages = {503-519}
}
@misc{pouzet91,
author = {Maurice Pouzet and Faouzi Sa{\"\i}dane},
title = {Propri{\'e}t{\'e} de Church-Rosser d'un ordre sur les mots},
year = 1991,
location = {Biblioth{\`e}que D{\'e}mons.}
}
@inproceedings{lucy:icfp96,
author = {Paul Caspi and Marc Pouzet},
title = {{Synchronous Kahn Networks}},
booktitle = {ACM SIGPLAN International Conference on
Functional Programming},
year = 1996,
month = {May},
address = {Philadelphia, Pensylvania},
url = {http://www.lri.fr/~pouzet/bib/icfp96.ps.gz}
}
@inproceedings{Biernacki07apges,
author = {Dariusz Biernacki and Jean-Louis Cola\c{c}o and Marc Pouzet},
title = {{Clock-directed Modular Code Generation from Synchronous Block Diagrams}},
booktitle = {{Workshop on Automatic Program Generation for Embedded
Systems (APGES 2007)}},
year = 2007,
address = {Salzburg, Austria},
month = {October},
type_publi = {icolcomlec},
type_digiteo = {conf_autre},
x-equipes = {demons PROVAL EXT},
x-type = {article},
x-support = {actes_aux},
x-pdf = {http://www-fp.dcs.st-and.ac.uk/APGES/OnlineProceedings/11-Pouzet.pdf},
url = {http://www-fp.dcs.st-and.ac.uk/APGES/OnlineProceedings/11-Pouzet.pdf},
topics = {team, lri}
}
@inbook{caspi06,
author = {Paul Caspi and Gr\'egoire Hamon and Marc Pouzet},
editor = {Nicolas Navet},
title = {Syst\`emes Temps-r\'eel~: Techniques de Description et
de V\'erification -- Th\'eorie et Outils},
chapter = {Lucid Synchrone, un langage de programmation des
syst\`emes r\'eactifs},
publisher = {Hermes},
volume = {1},
year = 2006,
topics = {team},
x-equipes = {demons PROVAL EXT},
x-type = {chapitre},
x-support = {ouvrage},
pages = {217-260}
}
@inbook{caspi07,
author = {Paul Caspi and Gr\'egoire Hamon and Marc Pouzet},
editor = {Nicolas Navet},
title = {Real-Time Systems: Models and verification --- Theory
and tools},
chapter = {Synchronous Functional Programming with Lucid Synchrone},
publisher = {ISTE},
year = 2007,
type_publi = {chapitre},
type_digiteo = {chapitre},
topics = {team},
x-equipes = {demons PROVAL EXT},
x-type = {chapitre},
x-support = {ouvrage}
}
@inproceedings{labbe07,
author = {S\'ebastien Labb\'e and Jean-Pierre Gallois and
Marc Pouzet},
title = {Slicing Communicating Automata Specifications
For Efficient Model Reduction},
booktitle = {18th Australian Conference on Software Engineering (ASWEC)},
year = 2007,
type_publi = {icolcomlec},
type_digiteo = {conf_autre},
topics = {team},
x-equipes = {demons PROVAL EXT},
x-type = {article},
x-support = {actes},
x-cle-support = {ASWEC}
}
@inproceedings{lucy:lctes09,
author = {Paul Caspi and Jean-Louis Cola\c{c}o and L\'eonard G\'erard
and Marc Pouzet and Pascal Raymond},
title = {{Synchronous Objects with Scheduling Policies}:
Introducing safe shared memory in {Lustre}},
year = {2009},
month = jun,
address = {Dublin},
booktitle = {ACM International Conference on
Languages, Compilers, and Tools for Embedded Systems
(LCTES)},
x-type = {article},
topics = {team},
x-support = {actes},
x-equipes = {demons PROVAL ext}
}
@inproceedings{lucy:emsoft09,
author = {Marc Pouzet and Pascal Raymond},
title = {Modular Static Scheduling of Synchronous Data-flow
Networks: An efficient symbolic representation},
booktitle = {ACM International Conference on
Embedded Software (EMSOFT'09)},
address = {Grenoble, France},
month = {October},
year = 2009,
topics = {team},
x-type = {article},
x-support = {actes},
x-equipes = {demons PROVAL ext}
}
@inproceedings{MandelPlateau09_HFL,
address = {York, UK},
author = {Albert Cohen and Louis Mandel and Florence Plateau and Marc Pouzet},
booktitle = {Hardware Design using Functional languages (HFL 09)},
month = mar,
title = {Relaxing Synchronous Composition with Clock Abstraction},
year = {2009},
pages = {35-52},
x-international-audience = {yes},
x-proceedings = {yes},
topics = {team},
x-support = {actes_aux},
x-equipes = {demons PROVAL alchemy},
x-type = {article},
type_publi = {icolcomlec}
}
@inproceedings{MandelPlateauPouzet-DCC-10,
author = {Louis Mandel and Florence Plateau and Marc Pouzet},
title = {Clock Typing of n-Synchronous Programs},
booktitle = {Designing Correct Circuits ({DCC 2010})},
year = 2010,
month = mar,
address = {Paphos, Cyprus},
topics = {team},
x-equipes = {demons PROVAL},
x-support = {actes_aux},
x-cle-support = {DCCircuits},
x-type = {article},
x-international-audience = {yes},
x-proceedings = {yes},
x-editorial-board = {yes}
}
@inproceedings{Pouzet08c,
author = {Albert Cohen and Louis Mandel and Florence Plateau and
Marc Pouzet},
title = {{Abstraction of Clocks in Synchronous Data-flow Systems}},
booktitle = {The Sixth ASIAN Symposium on Programming Languages and Systems
(APLAS)},
abstract = { Synchronous data-flow languages such as Lustre manage infinite
sequences or streams as basic values. Each stream is
associated to a clock which defines the instants where the
current value of the stream is present. This clock is a type
information and a dedicated type system --- the so-called
clock-calculus --- statically rejects programs which cannot be
executed synchronously. In existing synchronous languages, it
amounts at asking whether two streams have the same clocks and thus
relies on clock equality only. Recent works have shown the interest
of introducing some relaxed notion of synchrony, where two streams can
be composed as soon as they can be synchronized through the
introduction of a finite buffer (as done in the SDF model of Edward
Lee). This technically consists in replacing typing by
subtyping. The present paper introduces a simple way to achieve
this relaxed model through the use of clock
envelopes. These clock envelopes are sets of concrete clocks which
are not necessarily periodic. This allows to model various features
in real-time embedded software such as bounded jitter as found in
video-systems, execution time of real-time processes and
scheduling resources or the communication through buffers. We
present the algebra of clock envelopes and its main theoretical
properties.},
x-pdf = {http://www.lri.fr/~plateau/papers/aplas08.pdf},
url = {http://www.lri.fr/~plateau/papers/aplas08.pdf},
year = 2008,
month = dec,
date = {9--11},
series = {Lecture Notes in Computer Science},
volume = {5356},
pages = {237--254},
address = {Bangalore, India},
type_publi = {icolcomlec},
x-equipes = {demons PROVAL EXT},
x-type = {article},
x-support = {actes},
x-cle-support = {APLAS},
x-editorial-board = {yes},
x-international-audience = {yes},
x-proceedings = {yes},
topics = {team}
}
@inproceedings{Pouzet08b,
author = {Gwenael Delaval and Alain Girault and Marc Pouzet},
title = {{A Type System for the Automatic Distribution
of Higher-order Synchronous Dataflow Programs}},
booktitle = {ACM International Conference on
Languages, Compilers, and Tools for Embedded Systems
(LCTES)},
year = 2008,
type_publi = {icolcomlec},
x-equipes = {demons PROVAL EXT},
x-type = {article},
x-support = {actes},
x-cle-support = {LCTES},
address = {Tucson, Arizona},
month = jun,
x-editorial-board = {yes},
x-international-audience = {yes},
x-proceedings = {yes},
topics = {team}
}
@inproceedings{Pouzet08a,
author = {Dariusz Biernacki and Jean-Louis Cola\c{c}o and Gr\'egoire Hamon
and Marc Pouzet},
title = {{Clock-directed Modular Code Generation of Synchronous Data-flow
Languages}},
booktitle = {ACM International Conference on
Languages, Compilers, and Tools for Embedded Systems
(LCTES)},
year = 2008,
address = {Tucson, Arizona},
month = jun,
type_publi = {icolcomlec},
x-equipes = {demons PROVAL EXT},
x-type = {article},
x-support = {actes},
x-cle-support = {LCTES},
x-editorial-board = {yes},
x-international-audience = {yes},
x-proceedings = {yes},
topics = {team}
}
@inproceedings{mandel05ppdp,
author = {Louis Mandel and Marc Pouzet},
title = {{ReactiveML, a Reactive Extension to ML}},
booktitle = {ACM International Conference
on Principles and Practice of Declarative Programming
(PPDP)},
year = 2005,
pages = {82--93},
x-pdf = {http://www.lri.fr/~mandel/papers/MandelPouzet-PPDP-2005.pdf},
url = {http://www.lri.fr/~mandel/papers/MandelPouzet-PPDP-2005.pdf},
topics = {team},
type_publi = {icolcomlec},
x-equipes = {demons PROVAL},
x-type = {article},
x-support = {actes},
x-cle-support = {PPDP},
address = {Lisboa},
month = jul
}
@article{MandelPouzet2007TSI,
author = {Louis Mandel and Marc Pouzet},
title = {{ReactiveML} : un langage fonctionnel pour la programmation r{\'e}active},
journal = {Technique et Science Informatiques ({TSI})},
year = {2008},
volume = 27,
number = {9--10/2008},
pages = {1097--1128},
x-pdf = {http://www.lri.fr/~mandel/papers/MandelPouzet-TSI-2007.pdf},
url = {http://www.lri.fr/~mandel/papers/MandelPouzet-TSI-2007.pdf},
topics = {team},
x-equipes = {demons PROVAL},
x-type = {article},
x-support = {revue},
x-cle-support = {TSI},
x-editorial-board = {yes},
x-international-audience = {no}
}
@inproceedings{MandelPouzet2005JFLA,
author = {Louis Mandel and Marc Pouzet},
title = {{ReactiveML}, un langage pour la programmation r{\'e}active en {ML}},
crossref = {jfla05},
pages = {1-16},
url = {http://www.lri.fr/~mandel/papers/MandelPouzet-JFLA-2005.ps},
topics = {team},
type_publi = {colcomlec},
x-equipes = {demons PROVAL EXT},
x-type = {article},
x-support = {actes_aux},
x-cle-support = {JFLA}
}
@unpublished{rml:simulation06,
author = {Farid Benbadis and Louis Mandel and Marc Pouzet
and Ludovic Samper},
title = {Simulation of Ad hoc Networks in {ReactiveML}},
note = {Submitted to publication},
year = 2006,
month = jun
}
@article{girault06tecs,
author = {Alain Girault and Xavier Nicollin and Marc Pouzet},
title = {{Automatic Rate Desynchronization of Embedded Reactive
Programs}},
journal = {ACM Transactions on Embedded Computing Systems (TECS)},
volume = 5,
number = 3,
topics = {team},
year = 2006,
type_publi = {irevcomlec},
x-equipes = {demons PROVAL EXT},
x-type = {article},
x-support = {revue},
x-cle-support = {TECS}
}
@inproceedings{cohen05emsoft,
crossref = {pouzet05emsoft}
}
@inproceedings{pouzet05emsoft,
author = {Albert Cohen and Marc Duranton and Christine Eisenbeis
and Claire Pagetti and Florence Plateau and Marc Pouzet},
title = {Synchronizing Periodic Clocks},
booktitle = {ACM International Conference on
Embedded Software (EMSOFT'05)},
address = {Jersey city, New Jersey, USA},
month = sep,
topics = {team},
type_publi = {icolcomlec},
x-equipes = {demons PROVAL EXT},
x-type = {article},
x-support = {actes},
x-cle-support = {EMSOFT},
year = 2005
}
@inproceedings{colaco05emsoft,
author = {Jean-Louis Cola\c{c}o and Bruno Pagano and Marc Pouzet},
title = {{A Conservative Extension of Synchronous Data-flow with
State Machines}},
booktitle = {ACM International Conference on
Embedded Software (EMSOFT'05)},
address = {Jersey city, New Jersey, USA},
month = sep,
topics = {team},
type_publi = {icolcomlec},
x-equipes = {demons PROVAL EXT},
x-type = {article},
x-support = {actes},
x-cle-support = {EMSOFT},
year = 2005
}
@inproceedings{cohen06popl,
crossref = {pouzet06popl}
}
@inproceedings{pouzet06popl,
author = {Albert Cohen and Marc Duranton and Christine Eisenbeis
and Claire Pagetti and Florence Plateau and Marc Pouzet},
title = {{N-Synchronous Kahn Networks: a Relaxed Model of Synchrony for Real-Time Systems}},
booktitle = {ACM International Conference on
Principles of Programming Languages (POPL'06)},
address = {Charleston, South Carolina, USA},
month = {January},
topics = {team},
x-equipes = {demons PROVAL EXT},
x-type = {article},
x-support = {actes},
x-cle-support = {POPL},
year = 2006
}
@inproceedings{colaco03emsoft,
author = {Jean-Louis Cola\c{c}o and Marc Pouzet},
title = {{Clocks as First Class Abstract Types}},
booktitle = {Third International Conference on
Embedded Software (EMSOFT'03)},
address = {Philadelphia, Pennsylvania, USA},
month = oct,
year = 2003,
abstract = {Clocks in synchronous data-flow languages are the natural way to
define several time scales in reactive systems.
They play a fundamental role during the specification of
the system and are largely used in the compilation process
to generate efficient sequential code.
Based on the formulation of clocks as {\em dependent types},
the paper presents a simpler clock calculus reminiscent to ML type
systems with first order abstract types {\em \`a la}
Laufer \& Odersky.
Not only this system provides clock inference, it shares efficient
implementations of ML type systems and appears to be expressive
enough for many real applications.}
}
@inproceedings{colaco06emsoft,
author = {Jean-Louis Cola\c{c}o and Gr\'egoire Hamon and Marc Pouzet},
title = {{Mixing Signals and Modes in Synchronous
Data-flow Systems}},
booktitle = {ACM International Conference on
Embedded Software (EMSOFT'06)},
address = {Seoul, South Korea},
month = {October},
type_publi = {icolcomlec},
x-equipes = {demons PROVAL EXT},
x-type = {article},
x-support = {actes},
x-cle-support = {EMSOFT},
topics = {team},
year = 2006
}
@article{colaco04sttt,
author = {Jean-Louis Cola\c{c}o and Marc Pouzet},
title = {{Type-based Initialization Analysis of a
Synchronous Data-flow Language}},
journal = {International Journal on Software Tools
for Technology Transfer (STTT)},
year = {2004},
month = aug,
volume = {6},
number = {3},
pages = {245--255}
}
@inproceedings{lucy:cmcs98,
author = {Paul Caspi and Marc Pouzet},
title = {{A Co-iterative Characterization of
Synchronous Stream Functions}},
booktitle = {Coalgebraic Methods in Computer Science
(CMCS'98)},
series = {Electronic Notes in Theoretical Computer Science},
year = 1998,
month = {March},
note = {Extended version available as a VERIMAG tech. report
no. 97--07 at \url{http://www.lri.fr/~pouzet}}
}
@article{lucy:jdaes10,
author = {Marc Pouzet and Pascal Raymond},
title = {{Modular Static Scheduling of Synchronous Data-flow
Networks: An efficient symbolic representation}},
journal = {Journal of Design Automation for Embedded Systems},
year = 2010,
note = {Special issue of selected papers from
\url{http://esweek09.inrialpes.fr/}{Embedded System Week}},
x-equipes = {demons PROVAL EXT},
x-support = {revue},
x-cle-support = {JDAES},
x-type = {article},
topics = {team}
}
@inproceedings{lucy:cdc10,
author = {Albert Benveniste and Benoit Caillaud and Marc Pouzet},
title = {{The Fundamentals of Hybrid Systems Modelers}},
booktitle = {49th IEEE International Conference on Decision and
Control (CDC)},
year = {2010},
address = {Atlanta, Georgia, USA},
month = {December 15-17},
topics = {team},
x-equipes = {demons PROVAL EXT},
x-international-audience = {yes},
x-proceedings = {yes},
x-support = {actes},
x-cle-support = {CDC},
x-type = {article}
}
@misc{lucy:ode11,
author = {Albert Benveniste and Tim Bourke and
Benoit Caillaud and Marc Pouzet},
title = {{Non-standard semantics of hybrid systems: ODE}},
howpublished = {Submitted for publication},
month = {October},
year = 2010
}
@misc{lucy:dae11,
author = {Albert Benveniste and
Benoit Caillaud and Marc Pouzet},
title = {{Non-standard semantics of hybrid systems: DAE}},
howpublished = {Submitted for publication},
month = {October},
year = 2010
}
@misc{lucy:divideandrecycle11,
author = {Albert Benveniste and Tim Bourke and
Benoit Caillaud and Marc Pouzet},
title = {{Divide and recycle: types and compilation for a
hybrid synchronous language}},
howpublished = {Submitted for publication},
month = {October},
year = 2010
}
@manual{lucy:manual06,
author = {Marc Pouzet},
title = {{Lucid Synchrone}, version 3.
Tutorial and reference manual},
organization = {Universit\'e Paris-Sud, LRI},
month = apr,
year = 2006,
topics = {team},
type_publi = {autre},
x-equipes = {demons PROVAL},
x-type = {manuel},
x-support = {diffusion},
url = {http://www.lri.fr/~pouzet/lucid-synchrone}
}
@inproceedings{MandelPlateauPouzet-MLworkshop-2009,
author = {Louis Mandel and Florence Plateau and Marc Pouzet},
title = {The {ReactiveML} Toplevel (Tool Demonstration)},
booktitle = {ACM SIGPLAN Workshop on ML},
address = {Edinburgh, Scotland, UK},
topics = {team, lri},
type_publi = {icolcomlec},
month = aug,
year = 2009,
x-type = {article},
x-support = {actes_aux},
x-equipes = {demons PROVAL},
x-cle-support = {ML},
x-international-audience = {yes},
x-proceedings = {no},
x-editorial-board = {yes}
}
@inproceedings{MandelPlateau10jfla,
author = {Louis Mandel and Florence Plateau and Marc Pouzet},
title = {{Lucy-n}~: une extension n-synchrone de {Lustre}},
url = {http://www.lri.fr/~mandel/papiers/MandelPlateau-JFLA-2010.pdf},
abstract = {Les langages synchrones flot de donn\'ees permettent de programmer
des r\'eseaux de processus communicant sans buffers.
Pour cela, chaque
flot est associ\'e \`a un type d'horloges, qui indique les instants de
pr\'esence de valeurs sur le flot. La communication entre deux
processus \verb+f+ et \verb+g+ peut \^etre faite sans buffer si le
type du flot de sortie de \verb+f+ est \'egal au type du flot d'entr\'ee
de~\verb+g+.
Un syst\`eme de type, le calcul d'horloge, inf\`ere des types tels que
cette condition est v\'erifi\'ee.
Le mod\`ele n-synchrone a pour but de rel\^acher ce mod\`ele de
programmation en autorisant les communications \`a travers des buffers
de taille born\'ee. En pratique, cela consiste \`a introduire une
r\`egle de sous-typage dans le calcul d'horloge.
Nous avons pr\'esent\'e l'ann\'ee derni\`ere un article d\'ecrivant comment
abstraire des horloges pour v\'erifier la relation de
sous-typage. Cette ann\'ee, nous pr\'esentons un langage de
programmation n-synchrone~: Lucy-n. Dans ce langage, l'inf\'erence
des types d'horloges est param\'etrable par l'algorithme de r\'esolution
des contraintes de sous-typage. Nous montrons ici un algorithme
bas\'e sur les travaux de
l'an dernier et comment programmer en Lucy-n \`a travers l'exemple
d'une application de traitement multim\'edia.},
topics = {team, lri},
type_publi = {colcomlec},
x-equipes = {demons PROVAL},
x-type = {article},
x-support = {actes_aux},
x-cle-support = {JFLA},
crossref = {jfla10}
}
@inproceedings{MandelPlateau10gpl,
author = {Louis Mandel and Florence Plateau and Marc Pouzet},
title = {{Lucy-n~:} une extension n-synchrone de {Lustre}},
booktitle = {{Journ\'ees nationales du GDR-GPL}},
year = {2010},
editor = {\'Eric Cariou and Laurence Duchien and Yves Ledru},
address = {{Pau, France}},
month = mar,
organization = {{GDR GPL}},
topics = {team},
x-equipes = {demons PROVAL},
x-support = {actes_aux},
x-cle-support = {JGDRGPL},
x-type = {article},
annote = {Invited, selected paper}
}
@inproceedings{MandelPlateauPouzet-MPC-2010,
author = {Louis Mandel and Florence Plateau and Marc Pouzet},
title = {{Lucy-n}: a n-Synchronous Extension of {Lustre}},
booktitle = {Tenth International Conference on Mathematics of Program Construction ({MPC 2010})},
year = 2010,
month = jun,
address = {Qu{\'e}bec, Canada},
url = {http://www.lri.fr/~mandel/papiers/MandelPlateauPouzet-MPC-10.pdf},
abstract = {Synchronous functional languages such as Lustre
or Lucid Synchrone define a
restricted class of Kahn Process Networks which can be executed with
no buffer.
Every expression is associated to a clock indicating the instants
when a value is present. A dedicated type system, the clock
calculus, checks that the actual clock of a stream equals its
expected clock and thus does not need to be buffered.
The n-synchrony relaxes synchrony by allowing the
communication through bounded buffers whose size is computed at
compile-time.
It is obtained by extending the clock calculus with
a subtyping rule which defines buffering points.
This paper presents the first implementation of the n-synchronous
model inside a Lustre-like language called Lucy-n. The language
extends Lustre with an explicit \verb-buffer- construct whose size
is automatically computed during the clock calculus.
This clock calculus is defined as an inference type system and is
parametrized by the clock language and the algorithm used to solve
subtyping constraints. We detail here one algorithm based on the
abstraction of clocks, an idea originally introduced
in~\cite{Pouzet08c}. The paper presents a simpler, yet more
precise, clock abstraction for which the main algebraic properties have
been proved in Coq. Finally, we illustrate the language on various
examples including a video application.},
topics = {team},
x-equipes = {demons PROVAL},
x-type = {article},
x-support = {actes},
x-cle-support = {MPC},
x-international-audience = {yes},
x-proceedings = {yes}
}
@inproceedings{Pouzet-lctes09,
author = {Paul Caspi and Jean-Louis Cola\c{c}o and L\'eonard G\'erard
and Marc Pouzet and Pascal Raymond},
title = {{Synchronous Objects with Scheduling Policies}:
Introducing safe shared memory in {Lustre}},
year = {2009},
month = jun,
address = {Dublin},
booktitle = {ACM International Conference on
Languages, Compilers, and Tools for Embedded Systems
(LCTES)},
url-useless-since-prefix-missing = {lctes09.pdf},
x-proceedings = {yes},
x-international-audience = {yes},
x-type = {article},
x-support = {actes},
topics = {team}
}
@inproceedings{Pouzet-emsoft09,
author = {Marc Pouzet and Pascal Raymond},
title = {Modular Static Scheduling of Synchronous Data-flow
Networks: An efficient symbolic representation},
booktitle = {ACM International Conference on
Embedded Software (EMSOFT'09)},
address = {Grenoble, France},
month = {October},
x-proceedings = {yes},
x-international-audience = {yes},
year = 2009,
url-useless-since-prefix-missing = {emsoft09.pdf},
x-type = {article},
x-support = {actes},
topics = {team}
}
@inproceedings{lucy:lctes11,
author = {Albert Benveniste and Timothy Bourke and
Benoit Caillaud and Marc Pouzet},
title = {{Divide and recycle: types and compilation for a
hybrid synchronous language}},
booktitle = {ACM SIGPLAN/SIGBED Conference on Languages,
Compilers, Tools and Theory for Embedded Systems (LCTES'11)},
month = {April},
address = {Chicago, USA},
year = 2011,
url = {lctes11.pdf},
abstract = {Hybrid modelers such as Simulink have become corner stones of embedded
systems development.
They allow both \emph{discrete} controllers and their \emph{continuous}
environments to be expressed \emph{in a single language}.
Despite the availability of such tools, there remain a number of issues
related to the lack of reproducibility of simulations and to the
separation of the continuous part, which has to be exercised by a
numerical solver, from the discrete part, which must be guaranteed not to
evolve during a step.
Starting from a minimal, yet full-featured, Lustre-like synchronous
language, this paper presents a conservative extension
where data-flow equations can be mixed with ordinary differential
equations (ODEs) with possible reset.
A type system is proposed to statically distinguish discrete computations
from continuous ones and to ensure that signals are used in their proper
domains.
We propose a semantics based on \emph{non-standard analysis} which gives a
synchronous interpretation to the whole language, clarifies the
discrete/continuous interaction and the treatment of zero-crossings, and
also allows the correctness of the type system to be established.
The extended data-flow language is realized through a source-to-source
transformation into a synchronous subset, which can then be compiled using
existing tools into routines that are both efficient and bounded in their
use of memory.
These routines are orchestrated with a single off-the-shelf numerical
solver using a simple but precise algorithm which treats causally-related
cascades of zero-crossings.
We have validated the viability of the approach through experiments with
the SUNDIALS library.},
x-type = {article},
x-support = {actes},
x-proceedings = {yes},
x-international-audience = {yes},
topics = {team}
}
@inproceedings{mandel11fmcad,
author = {Louis Mandel and Florence Plateau and Marc Pouzet},
title = {Static Scheduling of Latency Insensitive Designs with {Lucy-n}},
booktitle = {Formal Methods in Computer Aided Design ({FMCAD 2011})},
year = 2011,
month = oct,
address = {Austin, TX, USA},
hal = {http://hal.inria.fr/hal-00654843},
url = {http://www.lri.fr/~mandel/papiers/MandelPlateauPouzet-FMCAD-2011.pdf},
webpage = {http://www.lri.fr/~mandel/lucy-n/fmcad11/},
abstract = {Lucy-n is a dataflow programming language similar to Lustre
extended with a buffer operator. This language is based on the
n-synchronous model which was initially introduced for programming
multimedia streaming applications. In this article, we show that
Lucy-n is also applicable to model Latency Insensitive
Designs~(LID). In order to model relay stations, we have to
introduce a delay operator. Thanks to this new operator, a LID can be
described by a Lucy-n program. Then, the Lucy-n compiler
automatically provides static schedules for computation nodes and
buffer sizes needed in the shell wrappers.},
topics = {team},
x-teams = {demons PROVAL},
x-type = {article},
x-support = {actes},
x-cle-support = {FMCAD},
x-international-audience = {yes},
x-proceedings = {yes}
}
@inproceedings{BaudartJacquemardMandelPouzet-EMSOFT-2013,
hal = {http://hal.inria.fr/hal-00850299},
author = {Guillaume Baudart and Florent Jacquemard and Louis Mandel and Marc Pouzet},
title = {A Synchronous Embedding of {Antescofo}, a Domain-Specific Language for Interactive Mixed Music},
booktitle = {Thirteen International Conference on Embedded Software (EMSOFT'13)},
year = 2013,
month = sep,
address = {Montreal, Canada},
topics = {team},
type_publi = {icolcomlec},
x-equipes = {demons PROVAL ext},
x-type = {article},
x-support = {actes},
url = {http://reactiveml.org/publications/BaudartJacquemardMandelPouzet-EMSOFT-2013.pdf},
webpage = {http://reactiveml.org/emsoft13},
abstract = {Antescofo is recently developed software for \emph{musical score
following} and \emph{mixed music}: it automatically, and in
real-time, synchronizes electronic instruments with a musician playing
on a classical instrument. Therefore, it faces some of the same major
challenges as embedded systems.
The system provides a programming language used by composers to
specify musical pieces that mix interacting electronic and classical
instruments. This language is developed with and for musicians and it
continues to evolve according to their needs. Yet its semantics has
only recently been formally defined. This paper presents a
\emph{synchronous semantics} for the core language of Antescofo and
an alternative implementation based on an embedding inside an
existing synchronous language, namely ReactiveML.
The semantics reduces to a few rules, is mathematically precise and
leads to an interpretor of only a few hundred lines. The efficiency of this
interpretor compares well with that of the actual implementation: on
all musical pieces we have tested, response times have been less than
the reaction time of the human ear. Moreover, this embedding
permitted the prototyping of several new programming constructs, some
of which are described in this paper.}
}
@inproceedings{BaudartMandelPouzet-FARM-2013,
hal = {http://hal.inria.fr/hal-00850294},
author = {Guillaume Baudart and Louis Mandel and Marc Pouzet},
title = {Programming Mixed Music in {ReactiveML}},
booktitle = {ACM SIGPLAN Workshop on Functional Art, Music, Modeling and Design ({FARM'13})},
year = 2013,
month = sep,
address = {Boston, USA},
note = {Workshop ICFP 2013},
url = {http://reactiveml.org/publications/BaudartMandelPouzet-FARM-2013.pdf},
topics = {team},
type_publi = {icolcomlec},
x-equipes = {demons PROVAL ext},
x-type = {article},
x-support = {actes},
webpage = {http://reactiveml.org/farm13},
abstract = {Mixed music is about live musicians interacting with electronic
parts which are controlled by a computer during the performance.
It allows composers to use and combine traditional instruments with
complex synthesized sounds and other electronic devices.
There are several languages dedicated to the writing of mixed music
scores. Among them, the Antescofo language coupled with an
advanced score follower allows a composer to manage the reactive
aspects of musical performances: how electronic parts interact with
a musician.
However these domain specific languages do not offer the
expressiveness of functional programming.
We embed the Antescofo language in a reactive functional
programming language, ReactiveML. This approach offers to the composer
recursion, higher order, inductive types, as well as a
simple way to program complex reactive behaviors thanks to the
synchronous model of concurrency on which ReactiveML is built.
This article presents how to program mixed music in ReactiveML through
several examples.}
}
@inproceedings{MandelPasteurPouzet-PPDP-2013,
hal = {http://hal.inria.fr/hal-00850290},
author = {Louis Mandel and C{\'e}dric Pasteur and Marc Pouzet},
title = {Time Refinement in a Functional Synchronous Language},
booktitle = {Proceedings of 15th {ACM SIGPLAN} International Symposium on Principles and Practice of Declarative Programming ({PPDP'13})},
year = 2013,
address = {Madrid, Spain},
month = sep,
topics = {team},
type_publi = {icolcomlec},
x-equipes = {demons PROVAL ext},
x-type = {article},
x-support = {actes},
url = {http://reactiveml.org/publications/MandelPasteurPouzet-PPDP-2013.pdf},
webpage = {http://reactiveml.org/ppdp13},
abstract = {Concurrent and reactive systems often exhibit multiple time scales. For instance, in a discrete simulation, the scale at which agents communicate might be very different from the scale used to model the internals of each agent.
We propose an extension of the synchronous model of concurrency, called \emph{reactive domains}, to simplify the programming of such systems. Reactive domains allow the creation of local time scales and enable \emph{refinement}, that is, the replacement of an approximation of a system with a more detailed version without changing its behavior as observed by the rest of the program.
Our work is applied to the ReactiveML language, which extends ML with synchronous language constructs. We present an operational semantics for the extended language and a type system that ensures the soundness of programs.}
}
@proceedings{jfla05,
title = {Journ\'ees Francophones des Langages Applicatifs},
year = 2005,
booktitle = {Seizi\`emes Journ\'ees Francophones des Langages Applicatifs},
month = mar,
publisher = {INRIA}
}
@proceedings{jfla10,
title = {Journ\'ees Francophones des Langages Applicatifs},
year = 2010,
booktitle = {Vingt-et-uni\`emes Journ\'ees Francophones des Langages Applicatifs},
month = jan,
address = {Vieux-Port La Ciotat, France},
publisher = {INRIA},
x-international-audience = {no},
x-editorial-board = {yes},
x-proceedings = {yes}
}