VAROUMAS Steven
Supervision : Tristan CROLARD
Co-supervision : TREBUCHET Philippe , CHAILLOUX Emmanuel
High-level programming models for microcontrollers with scarce resources
Microcontrollers are programmable integrated circuit embedded in multiple everyday objects. Due to their scarce resources, they often are programmated using low-level languages such as C or assembly languages. These languages don't provide the same abstractions and guarantees than higher-level programming languages, such as OCaml. This thesis offers a set of solutions aimed at extending microcontrollers programming with high-level programming paradigms. These solutions provide multiple abstraction layers which, in particular, enable the development of portable programs, free from the specifics of the hardware. We thus introduce a layer of hardware abstraction through an OCaml virtual machine, that enjoys the multiple benefits of the language, while keeping a low memory footprint. We then extend the OCaml language with a synchronous programming model inspired from the Lustre dataflow language, which offers abstraction over the concurrent aspects of a program. The language is then formally specified and various typing properties are proven. Moreover, the abstractions offered by our work induce portability of some static analyses that can be done over the bytecode of programs. We thus propose such an analysis that consists of estimating the worst case execution time (WCET) of a synchronous program. All the propositions of this thesis form a complete development toolchain, and several practical examples that illustrate the completeness of the given solutions are thus provided.
Defence : 11/05/2019
Jury members :
PAGETTI Claire, ONERA [rapporteur]
SCHMITT Alan, INRIA Rennes [rapporteur]
SIGHIREANU Mihaela, Université Paris Diderot
BOURKE Timothy, INRIA Paris
AGON Carlos, Sorbonne Université
CROLARD Tristan, CNAM
CHAILLOUX Emmanuel, Sorbonne Université
TRÉBUCHET Philippe, Sorbonne Université
2016-2023 Publications
-
2023
- S. Varoumas, B. Pesin, B. Vaugon, E. Chailloux : “Programming microcontrollers through high-level abstractions: The OMicroB project”, Journal of Computer Languages, vol. 77, pp. 101228, (Elsevier) (2023)
-
2020
- S. Varoumas, B. Pesin, B. Vaugon, E. Chailloux : “Programming microcontrollers through high-level abstractions”, VMIL 2020: Proceedings of the 12th ACM SIGPLAN International Workshop on Virtual Machines and Intermediate Languages, Chicago / Virtual, United States, pp. 5-14, (Association for Computing Machinery) (2020)
- Th. Lecomte, D. Déharbe, D. Sabatier, E. Prun, P. Péronne, E. Chailloux, S. Varoumas, A. Susungi, S. Conchon : “Low Cost High Integrity Platform: regular paper”, ERTS 2020 - 10th European Congress on Embedded Real Time Systems, Toulouse, France (2020)
-
2019
- S. Varoumas : “Modèles de programmation de haut niveau pour microcontrôleurs à faibles ressources”, thesis, phd defence 11/05/2019, supervision Crolard, Tristan, co-supervision : Trebuchet, Philippe, Chailloux, Emmanuel (2019)
- S. Varoumas, T. Crolard : “WCET of OCaml Bytecode on Microcontrollers: An Automated Method and Its Formalisation”, 19th International Workshop on Worst-Case Execution Time Analysis (WCET 2019), vol. 72, OpenAccess Series in Informatics (OASIcs), Stuttgart, Germany, pp. 5:1-5:12, (Schloss Dagstuhl--Leibniz-Zentrum fuer Informatik) (2019)
-
2018
- S. Varoumas, B. Vaugon, E. Chailloux : “A Generic Virtual Machine Approach for Programming Microcontrollers: the OMicroB Project”, Proceedings of the 9th European Congress on Embedded Real Time Software and Systems (ERTS 2018), Toulouse, France (2018)
- S. Varoumas, B. Vaugon, E. Chailloux : “La programmation de microcontrôleurs dans des langages de haut niveau - Cours invité: Tutorial”, JFLA 2018 - Journées Francophones des Langages Applicatifs, Vingt-neuvièmes Journées Francophones des Langages Applicatifs (JFLA 2018), BANYULS, France (2018)
-
2017
- S. Varoumas, B. Vaugon, E. Chailloux : “OCaLustre : une extension synchrone d’OCaml pour la programmation de microcontrôleurs”, JFLA 2017 - Vingt-huitièmes Journées Francophones des Langages Applicatifs, Gourette, France (2017)
-
2016
- S. Varoumas, B. Vaugon, E. Chailloux : “Concurrent Programming of Microcontrollers, a Virtual Machine Approach”, Proceedings of the 8th European Congress on Embedded Real Time Software and Systems (ERTS 2016), TOULOUSE, France, pp. 711-720 (2016)