OCaLustre : une extension synchrone d'OCaml pour la programmation de microcontrôleurs

Conference object French OPEN
Varoumas , Steven ; Vaugon , Benoît ; Chailloux , Emmanuel (2017)
  • Publisher: HAL CCSD
  • Subject: [ INFO ] Computer Science [cs]

International audience; Les microcontrôleurs sont des circuits intégrés programmables dont le domaine d'application se concentre essentiellement dans le contrôle d'objets interagissant avec leur environnement. En effet, les programmes exécutés sur microcontrôleurs ont souvent pour rôle de réagir rapidement avec les composants qui les entourent, et de modifier leurs signaux de sortie dès lors que les signaux qu'ils reçoivent en entrée changent. Ainsi, la programmation synchrone à flots de données semble être un candidat de choix pour le développement de tels systèmes qui peuvent être parfois critiques. Nous proposons alors une extension du langage multi-paradigmes OCaml offrant la possibilité de manipuler des noeuds synchrones inspirés du langage Lustre tout en conservant les caractéristiques avantageuses du langage hôte. Destinée à être exécutée sur des microcontrôleurs aux capacités mémoires limitées, cette extension produit un code OCaml de faible taille, et peu gourmand en ressources mémoire. Nos travaux tirent particulièrement profit de la machine virtuelle OCaPIC permettant l'exécution de code-octet OCaml sur les microcontrôleurs de la famille PIC18 qui possèdent des ressources matérielles particulièrement faibles.
Share - Bookmark