Programming microcontrollers through high-level abstractions: The OMicroB project

IF 1.7 3区 计算机科学 Q3 COMPUTER SCIENCE, SOFTWARE ENGINEERING Journal of Computer Languages Pub Date : 2023-08-18 DOI:10.1016/j.cola.2023.101228
Steven Varoumas , Basile Pesin , Benoît Vaugon , Emmanuel Chailloux
{"title":"Programming microcontrollers through high-level abstractions: The OMicroB project","authors":"Steven Varoumas ,&nbsp;Basile Pesin ,&nbsp;Benoît Vaugon ,&nbsp;Emmanuel Chailloux","doi":"10.1016/j.cola.2023.101228","DOIUrl":null,"url":null,"abstract":"<div><p>In this paper, we present an approach for programming microcontrollers that provides more expressivity and safety than the low-level language approach traditionally used to program such devices. To this end, we provide various abstraction layers (abstraction of the microcontroller, of the electronic components of the circuit, and of concurrency) which, while being adapted to the scarce resources of the hardware, offer high-level programming traits for the development of embedded applications. The various presented abstractions make use of an OCaml virtual machine, called OMicroB, which is able to run on devices with limited resources. These take advantage of the expressivity and safety of the OCaml language (parameterized modules, advanced type system). Its extensibility allows to define a synchronous extension to manage concurrency while keeping a good level of efficiency at execution. We illustrate the value of our work on both entertainment applications and embedded software examples.</p></div>","PeriodicalId":48552,"journal":{"name":"Journal of Computer Languages","volume":"77 ","pages":"Article 101228"},"PeriodicalIF":1.7000,"publicationDate":"2023-08-18","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Journal of Computer Languages","FirstCategoryId":"94","ListUrlMain":"https://www.sciencedirect.com/science/article/pii/S2590118423000382","RegionNum":3,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"Q3","JCRName":"COMPUTER SCIENCE, SOFTWARE ENGINEERING","Score":null,"Total":0}
引用次数: 0

Abstract

In this paper, we present an approach for programming microcontrollers that provides more expressivity and safety than the low-level language approach traditionally used to program such devices. To this end, we provide various abstraction layers (abstraction of the microcontroller, of the electronic components of the circuit, and of concurrency) which, while being adapted to the scarce resources of the hardware, offer high-level programming traits for the development of embedded applications. The various presented abstractions make use of an OCaml virtual machine, called OMicroB, which is able to run on devices with limited resources. These take advantage of the expressivity and safety of the OCaml language (parameterized modules, advanced type system). Its extensibility allows to define a synchronous extension to manage concurrency while keeping a good level of efficiency at execution. We illustrate the value of our work on both entertainment applications and embedded software examples.

查看原文
分享 分享
微信好友 朋友圈 QQ好友 复制链接
本刊更多论文
通过高级抽象对微控制器进行编程:OMicroB项目
在本文中,我们提出了一种对微控制器进行编程的方法,与传统上用于对此类设备进行编程的低级语言方法相比,该方法提供了更多的表现力和安全性。为此,我们提供了各种抽象层(微控制器的抽象、电路的电子组件的抽象和并发的抽象),这些抽象层在适应硬件的稀缺资源的同时,为嵌入式应用程序的开发提供了高级编程特性。所呈现的各种抽象使用了一个名为OMicroB的OCaml虚拟机,该虚拟机能够在资源有限的设备上运行。这些利用了OCaml语言(参数化模块、高级类型系统)的表现力和安全性。它的可扩展性允许定义一个同步扩展来管理并发,同时保持良好的执行效率。我们展示了我们在娱乐应用程序和嵌入式软件示例方面的工作价值。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 去求助
来源期刊
Journal of Computer Languages
Journal of Computer Languages Computer Science-Computer Networks and Communications
CiteScore
5.00
自引率
13.60%
发文量
36
期刊最新文献
Editorial Board Code histories: Documenting development by recording code influences and changes in code A comprehensive meta-analysis of efficiency and effectiveness in the detection community MTable: Visual query interface for browsing and navigation in NoSQL data stores Mental stress analysis by measuring heart rate variability during learning programming: Comparison of visual- and text-based languages
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
现在去查看 取消
×
提示
确定
0
微信
客服QQ
Book学术公众号 扫码关注我们
反馈
×
意见反馈
请填写您的意见或建议
请填写您的手机或邮箱
已复制链接
已复制链接
快去分享给好友吧!
我知道了
×
扫码分享
扫码分享
Book学术官方微信
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术
文献互助 智能选刊 最新文献 互助须知 联系我们:info@booksci.cn
Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。
Copyright © 2023 Book学术 All rights reserved.
ghs 京公网安备 11010802042870号 京ICP备2023020795号-1