Network


Latest external collaboration on country level. Dive into details by clicking on the dots.

Hotspot


Dive into the research topics where Louis Mandel is active.

Publication


Featured researches published by Louis Mandel.


principles and practice of declarative programming | 2005

ReactiveML: a reactive extension to ML

Louis Mandel; Marc Pouzet

We present ReactiveML, a programming language dedicated to the implementation of complex reactive systems as found in graphical user interfaces, video games or simulation problems. The language is based on the reactive model introduced by Boussinot. This model combines the so-called synchronous model found in Esterel which provides instantaneous communication and parallel composition with classical features found in asynchronous models like dynamic creation of processes.The language comes as a conservative extension of an existing call-by-value ML language and it provides additional constructs for describing the temporal part of a system. The language receives a behavioral semantics á la Esterel and a transition semantics describing precisely the interaction between ML values and reactive constructs. It is statically typed through a Milner type inference system and programs are compiled into regular ML programs. The language has been used for programming several complex simulation problems (e.g., routing protocols in mobile ad-hoc networks).


Proceedings of the first international conference on Integrated internet ad hoc and sensor networks | 2006

GLONEMO: global and accurate formal models for the analysis of ad-hoc sensor networks

Ludovic Samper; Florence Maraninchi; Laurent Mounier; Louis Mandel

We describe an approach for the formal modeling and analysis of ad-hoc sensor networks, at various levels of abstraction. It is global because it takes into account all the following aspects: a precise modeling of the hardware that implements a single node; the protocol layers; the application code; an abstract model of the physical environment as viewed by the sensors. The global model is executable, to enable validation by simulations, but we also aim at analyzing the global model with various formal validation tools (automatic test, runtime verification techniques, model-checking and abstract interpretations). Each technique or tool may need particular abstractions of the model. In this paper, we illustrate the whole approach with a simple model, and show what formal analysis can be performed on the model.


mathematics of program construction | 2010

Lucy-n: a n-synchronous extension of Lustre

Louis Mandel; Florence Plateau; Marc Pouzet

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 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 [5]. 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.


asian symposium on programming languages and systems | 2008

Abstraction of Clocks in Synchronous Data-Flow Systems

Albert Cohen; Louis Mandel; Florence Plateau; Marc Pouzet

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.


principles and practice of declarative programming | 2013

Time refinement in a functional synchronous language

Louis Mandel; Marc Pouzet

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 reactive domains, to simplify the programming of such systems. Reactive domains allow the creation of local time scales and enable 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.


Ibm Journal of Research and Development | 2016

META: Middleware for Events, Transactions, and Analytics

Matthew Arnold; David Grove; Benjamin Herta; Michael Hind; Martin Hirzel; Arun Iyengar; Louis Mandel; Vijay A. Saraswat; Avraham Shinnar; Jérôme Siméon; Mikio Takeuchi; Olivier Tardieu; Wei Zhang

Businesses that receive events in the form of messages and react to them quickly can take advantage of opportunities and avoid risks as they occur. Since quick reactions are important, event processing middleware is a core technology in many businesses. However, the need to act quickly must be balanced against the need to act profitably, and the best action often depends on more context than just the latest event. Unfortunately, the context is often too large to analyze in the time allotted to processing an event. Instead, out-of-band analytics can train an analytical model, against which an event can be quickly scored. We built middleware that combines transactional event processing with analytics, using a data store to bridge between the two. Since the integration happens in the middleware, solution developers need not integrate technologies for events and analytics by hand. At the surface, our Middleware for Events, Transactions, and Analytics (META) offers a unified rule-based programming model. Internally, META uses the X10 distributed programming language. A core technical challenge involved ensuring that the solutions are highly available on unreliable commodity hardware, and continuously available through updates. This paper describes the programming model of META, its architecture, and its distributed runtime system.


Electronic Notes in Theoretical Computer Science | 2009

Interactive Programming of Reactive Systems

Louis Mandel; Florence Plateau

ReactiveML is a synchronous reactive extension of the general purpose programming language OCaml. It allows to program reactive systems such as video games or simulators. This paper presents rmltop, the ReactiveML counterpart of the OCaml toplevel. This toplevel allows a programmer to interactively write ReactiveML programs which are type-checked, compiled and loaded on the fly. The user can then progressively run concurrent processes and observe the interactions between them. The main strength of rmltop is that all valid ReactiveML expressions are accepted in the toplevel with the same semantics as in the compiler. This allows to use the ReactiveML toplevel as a debugger. Furthermore, the interpreted code is as efficient as if it was compiled. Moreover, a toplevel interpreter being itself a reactive system, another originality of rmltop is its own implementation in ReactiveML which makes it relatively light.


Technique Et Science Informatiques | 2008

ReactiveML : un langage fonctionnel pour la programmation réactive

Louis Mandel; Marc Pouzet

e modele reactif synchrone de Boussinot. Ce modele reprend des principes du synchrone tel s que la composition parallele deterministe et la communication par diffusion. Il les comb ine a des mecanismes de creation dynamique de processus. Cet article presente le langage, so n systeme de type et sa semantique. ABSTRACT.The programming of reactive systems such as simulators of dy namic systems or video games is a difficult task. We introduce theREACTIVEML language as an alternative to classical techniques such as event loops or thread-based programming . REACTIVEML is an extension of OCaml founded on the synchronous reactive model of Boussi not. This model combines the synchronous model which provides parallel composition andinstantaneous communications with dynamic creation of processes. This paper presents thelanguage, its type system and its formal semantics. MOTS-CLES :programmation reactive synchrone, programmation fonctio nnelle, concurrence, ty- page, semantique formelle.


sigplan symposium on new ideas new paradigms and reflections on programming and software | 2017

Generating chat bots from web API specifications

Mandana Vaziri; Louis Mandel; Avraham Shinnar; Jérôme Siméon; Martin Hirzel

Companies want to offer chat bots to their customers and employees which can answer questions, enable self-service, and showcase their products and services. Implementing and maintaining chat bots by hand costs time and money. Companies typically have web APIs for their services, which are often documented with an API specification. This paper presents a compiler that takes a web API specification written in Swagger and automatically generates a chat bot that helps the user make API calls. The generated bot is self-documenting, using descriptions from the API specification to answer help requests. Unfortunately, Swagger specifications are not always good enough to generate high-quality chat bots. This paper addresses this problem via a novel in-dialogue curation approach: the power user can improve the generated chat bot by interacting with it. The result is then saved back as an API specification. This paper reports on the design and implementation of the chat bot compiler, the in-dialogue curation, and working case studies.


international conference on management of data | 2017

Handling Environments in a Nested Relational Algebra with Combinators and an Implementation in a Verified Query Compiler

Joshua S. Auerbach; Martin Hirzel; Louis Mandel; Avraham Shinnar; Jérôme Siméon

Algebras based on combinators, i.e., variable-free, have been proposed as a better representation for query compilation and optimization. A key benefit of combinators is that they avoid the need to handle variable shadowing or accidental capture during rewrites. This simplifies both the optimizer specification and its correctness analysis, but the environment from the source language has to be reified as records, which can lead to more complex query plans. This paper proposes NRAe, an extension of a combinators-based nested relational algebra (NRA) with built-in support for environments. We show that it can naturally encode an equivalent NRA with lambda terms and that all optimizations on NRA carry over to NRAe. This extension provides an elegant way to represent views in query plans, and can radically simplify compilation and optimization for source languages with rich environment manipulations. We have specified a query compiler using the Coq proof assistant with NRAe at its heart. Most of the compiler, including the query optimizer, is accompanied by a (machine-checked) correctness proof. The implementation is automatically extracted from the specification, resulting in a query compiler with a verified core.

Collaboration


Dive into the Louis Mandel's collaboration.

Top Co-Authors

Avatar

Marc Pouzet

École Normale Supérieure

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Guillaume Baudart

École Normale Supérieure

View shared research outputs
Top Co-Authors

Avatar

Adrien Guatto

École Normale Supérieure

View shared research outputs
Researchain Logo
Decentralizing Knowledge