Emmanuel Chailloux

dblp:44/1940 · DBLP profile ↗
← Back
13ranked-venue papers
1as first author
4since 2021 · last 2024
0000-0002-2400-9523ORCID · corroborated

Domains — the database's venue-derived domains; a paper can count in several

Software engineering, systems software and programming languages · 10 · 2 since 2021Artificial intelligence and machine learning · 1 · 1 first-authorSystems, architecture and hardware · 1 · 1 since 2021Theory of computation · 1 · 1 since 2021Applied, interdisciplinary, general and emerging computing · 1 · 1 since 2021
YearPublicationVenuePosition
2024 Hardware Implementation of OCaml Using a Synchronous Functional Language
Loïc Sylvestre, Jocelyn Sérot, Emmanuel Chailloux
PADL3
2023 Work-in-Progress: mixing computation and interaction on FPGA
abstract
This paper presents a programming language for the design and implementation of reactive embedded applications. The language is compiled to hardware descriptions for reconfiguring Field-Programmable Gate Arrays (FPGAs) using logic synthesis toolchains. It features synchronous semantics for fine-grained control on timing and parallelism in the applications. This enables interactions with physical I/Os to be safely composed with algorithms.
Loïc Sylvestre, Emmanuel Chailloux, Jocelyn Sérot
EMSOFT2
2023 A Reusable Machine-Calculus for Automated Resource Analyses
Hector Suzanne, Emmanuel Chailloux
LOPSTR2
2022 A Virtual Machine Approach for High-level FPGA Programming
abstract
We introduce a virtual machine approach to pro-gram FPGAs using a high-level programming language (with automatic memory management) while hardware-accelerating a subset of it. This offers an interesting trade-off between high-level synthesis tools and pure software approaches. We describe a preliminary implementation of this hybrid approach using the OCaml language on Intel FPGAs. The associated toolset fully automatizes the compilation process from the OCaml source program to the SoPC hardware and software configuration. First results are encouraging, both for programmability and efficiency.
Loïc Sylvestre, Jocelyn Sérot, Emmanuel Chailloux
FCCM3
2019 A Mechanized Theory of Program Refinement
Boubacar Demba Sall, Frédéric Peschanski, Emmanuel Chailloux
ICFEM3
2017 Static Analysis of Communicating Processes Using Symbolic Transducers
Vincent Botbol, Emmanuel Chailloux, Tristan Le Gall
VMCAI2
2015 Programming Microcontrollers in OCaml: The OCaPIC Project
Benoît Vaugon, Philippe Wang, Emmanuel Chailloux
PADL3
2013 A Declarative-Friendly API for Web Document Manipulation
Benjamin Canou, Emmanuel Chailloux, Vincent Balat
PADL2
2012 Typing unmarshalling without marshalling types
abstract
Unmarshalling primitives in statically typed language require, in order to preserve type safety, to dynamically verify the compatibility between the incoming values and the statically expected type. In the context of programming languages based on parametric polymorphism and uniform data representation, we propose a relation of compatibility between (unmarshalled) memory graphs and types. It is defined as constraints over nodes of the memory graph. Then, we propose an algorithm to check the compatibility between a memory graph and a type. It is described as a constraint solver based on a rewriting system. We have shown that the proposed algorithm is sound and semi-complete in presence of algebraic data types, mutable data, polymorphic sharing, cycles, and functional values, however, in its general form, it may not terminate. We have implemented a prototype tailored for the OCaml compiler [17] that always terminates and still seems sufficiently complete in practice.
Grégoire Henry, Michel Mauny, Emmanuel Chailloux, Pascal Manoury
ICFP3
2009 Experience report: using objective caml to develop safety-critical embedded tools in a certification framework
abstract
High-level tools have become unavoidable in industrial software development processes. Safety-critical embedded programs don't escape this trend. In the context of safety-critical embedded systems, the development processes follow strict guidelines and requirements. The development quality assurance applies as much to the final embedded code, as to the tools themselves. The French company Esterel Technologies decided in 2006 to base its new SCADE SUITE 6TM certifiable code generator on Objective Caml. This paper outlines how it has been challenging in the context of safety critical software development by the rigorous norms DO-178B, IEC 61508, EN 50128 and such.
Bruno Pagano, Olivier Andrieu, Thomas Moniot, Benjamin Canou, Emmanuel Chailloux, Philippe Wang, Pascal Manoury, Jean-Louis Colaço
ICFP5
2008 Certified Development Tools Implementation in Objective Caml
Bruno Pagano, Olivier Andrieu, Benjamin Canou, Emmanuel Chailloux, Jean-Louis Colaço, Thomas Moniot, Philippe Wang
PADL4
1996 Benchmarking Implementations of Functional Languages with 'Pseudoknot', a Float-Intensive Benchmark
abstract
Abstract Over 25 implementations of different functional languages are benchmarked using the same program, a floating-point intensive application taken from molecular biology. The principal aspects studied are compile time and execution time for the various implementations that were benchmarked. An important consideration is how the program can be modified and tuned to obtain maximal performance on each language implementation. With few exceptions, the compilers take a significant amount of time to compile this program, though most compilers were faster than the then current GNU C compiler (GCC version 2.5.8). Compilers that generate C or Lisp are often slower than those that generate native code directly: the cost of compiling the intermediate form is normally a large fraction of the total compilation time. There is no clear distinction between the runtime performance of eager and lazy implementations when appropriate annotations are used: lazy implementations have clearly come of age when it comes to implementing largely strict applications, such as the Pseudoknot program. The speed of C can be approached by some implementations, but to achieve this performance, special measures such as strictness annotations are required by non-strict implementations. The benchmark results have to be interpreted with care. Firstly, a benchmark based on a single program cannot cover a wide spectrum of ‘typical’ applications. Secondly, the compilers vary in the kind and level of optimisations offered, so the effort required to obtain an optimal version of the program is similarly varied.
Pieter H. Hartel, Marc Feeley, Martin Helmut Alt, Lennart Augustsson, Marcel Beemster, Emmanuel Chailloux, Christine H. Flood, Wolfgang Grieskamp, John H. G. van Groningen, Kevin Hammond, Bogumil Hausman, Melody Y. Ivory, Richard E. Jones, Jasper Kamperman, Peter Lee 0001, Xavier Leroy, Rafael Dueire Lins, Sandra Loosemore, Niklas Röjemo, Manuel Serrano, Jean-Pierre Talpin, Jon Thackray, Pum Walters, Pierre Weis, Peter Wentworth
J. Funct. Program.7
1994 Finite Domain Constraints in the ML Functional Language
abstract
We propose an extension of the ML language for handling constraints in finite domains, as originally proposed by the CHIP Constraint Logic Programming Language, following and attending techniques originating from Constraint Satisfaction Problems. This makes it possible for the programmer to declaratively combine in a single application both purely functional parts and constraint solving parts for efficient handling of discrete search problems. In order to show the effectiveness of this approach, we present a simple demonstrative problem-solving example using finite domain constraints such as linear equations and disequations.>
Emmanuel Chailloux, Christian Codognet, Philippe Codognet
ICTAI1