Post-Image

Marie-Pierre OUDOT

Post-Image Post-Image Post-Image

Marie-Pierre Oudot holds an engineering degree from Enseirb-Matmeca in information and communication technologies. She has held several positions in digital services companies and at the French Atomic Energy Commission (CEA) in the fields of business computing and software engineering. She is currently working in an R&D team at CEA whose objective is to develop meshing methods and tools for HPC numerical simulation codes.

After numerous works in model-driven engineering, including the development of DSLs for numerical simulation and their software environments to generate efficient code in an HPC context, her main mission today concerns Magix3D, a 3D meshing tool. Marie-Pierre is in charge of documentation, testing, follow-up of user requests, and other activities that contribute to guarantee the level of software quality.

Marie-Pierre Oudot has (co-)supervised a dozen students and is co-author of several articles published in international scientific journals.

Some research topics

Modeling, language engineering, performance portability

Co-supervised internships

  • U. BATTISTON, Introduction of domain decomposition in the Arcane code generation process from NabLab, CEA, 2022.

  • N. LEMAIRE, High performance calculation of tsunami propagation with NabLab, CEA, 2021.

  • G. LESCROART, Simulation of Monai Valley Tsunami with NabLab, CEA, 2020.

  • X. GARCIA, Realization of a chain of generation of XML and C# codes from UML models, CEA, 2010.

  • D. CSERY, Development of an information integration and analysis application, CEA, 2007.

Co-supervised postdoctorals

  • D. LEROY, Domain-specific language debugging activities in the context of scientific computing and numerical analysis, INRIA Rennes/CEA, 2022.
Practical Runtime Instrumentation of Software Languages: The Case of SciHook
Dorian Leroy   Benoit Combemale   Benoît Lelandais   Marie-Pierre Oudot  
SLE '23: 16th ACM SIGPLAN International Conference on Software Language Engineering, 2023

abstract

Abstract

Software languages have pros and cons, and are usually chosen accordingly. In this context, it is common to involve different languages in the development of complex systems, each one specifically tailored for a given concern. However, these languages create de facto silos, and offer little support for interoperability with other languages, be it statically or at runtime. In this paper, we report on our experiment on extracting a relevant behavioral interface from an existing language, and using it to enable interoperability at runtime. In particular, we present a systematic approach to define the behavioral interface and we discuss the expertise required to define it. We illustrate our work on the case study of SciHook, a C++ library enabling the runtime instrumentation of scientific software in Python. We present how the proposed approach, combined with SciHook, enables interoperability between Python and a domain-specific language dedicated to numerical analysis, namely NabLab, and discuss overhead at runtime.

Monilogging for executable domain-specific languages
Dorian Leroy   Benoît Lelandais   Marie-Pierre Oudot   Benoit Combemale  
Proceedings of the 14th ACM SIGPLAN International Conference on Software Language Engineering, p. 2-15, 2021

abstract

Abstract

Runtime monitoring and logging are fundamental techniques for analyzing and supervising the behavior of computer programs. However, supporting these techniques for a given language induces significant development costs that can hold language engineers back from providing adequate logging and monitoring tooling for new domain-specific modeling languages. Moreover, runtime monitoring and logging are generally considered as two different techniques: they are thus implemented separately which makes users prone to overlooking their potentially beneficial mutual interactions. We propose a language-agnostic, unifying framework for runtime monitoring and logging and demonstrate how it can be used to define loggers, runtime monitors and combinations of the two, aka. moniloggers. We provide an implementation of the framework that can be used with Java-based executable languages, and evaluate it on 2 implementations of the NabLab interpreter, leveraging in turn the instrumentation facilities offered by Truffle, and those offered by AspectJ.

Applying model-driven engineering to high-performance computing: Experience report, lessons learned, and remaining challenges
Benoı̂t Lelandais   Marie-Pierre Oudot   Benoit Combemale  
Journal of Computer Languages, Elsevier, p. 100919, 2019

Fostering metamodels and grammars within a dedicated environment for HPC: the NabLab environment (tool demo)
Benoı̂t Lelandais   Marie-Pierre Oudot   Benoit Combemale  
Proceedings of the 11th ACM SIGPLAN International Conference on Software Language Engineering, p. 200-204, 2018

Modane: a design support tool for numerical simulation codes
Benoı̂t Lelandais   Marie-Pierre Oudot  
Oil & Gas Science and Technology--Revue d'IFP Energies nouvelles, EDP Sciences, p. 57, 2016