Abstract
This paper is an overview of 15 years of collaboration between R&D teams at Dassault Aviation and several research projects at INRIA. This collaboration was related to Gilles Kahn's work on generic programming environments, program transformation, and user interfaces for proof assistants.
It is also an evocation of personal memories about Gilles, my perception of the impact of the research he carried out and supervised, and his dedication to INRIA.
Introduction
Since 1990, Dassault Aviation has been working on some formal methods and programming tools developed at INRIA by Gilles' research group (CROAP) or by other groups led by scientists close to him such as Gérard Berry and Gérard Huet.
Formal methods, more specifically the synchronous languages Esterel and Lustre or the proof assistant Coq, have been evaluated and introduced in our engineering processes to enhance our development tools for safety critical software, especially software embedded in flight control systems.
As for the programming tools developed by CROAP with the generative environment Centaur, it happened that in 1995 some of its language-specific instantiations were targeting scientific computation. More precisely, they were designed to assist some classical transformations of large Fortran codes (ports, parallelization, differentiation). Since Dassault Aviation has always developed its computational fluid dynamics (CFD) codes in-house, there was some motivation in our company to experiment tools that claim to partially automate some time consuming tasks done manually at that time.