mbeddr swMATH ID: 22663 Software Authors: Markus Voelter, Daniel Ratiu, Bernhard Schaetz, Bernd Kolb Description: mbeddr: an extensible C-based programming language and IDE for embedded systems. While the C programming language provides good support for writing efficient, low-level code, it is not adequate for defining higher-level abstractions relevant to embedded software. In this paper we present the mbeddr technology stack that supports extension of C with constructs adequate for embedded systems. In mbeddr, efficient low-level programs can be written using the well-known concepts from C. Higher-level domain-specific abstractions can be seamlessly integrated into C by means of modular language extension regarding syntax, type system, semantics and IDE. In the paper we show how language extension can address the challenges of embedded software development and report on our experience in building these extensions. We show that language workbenches deliver on the promise of significantly reducing the effort of language engineering and the construction of corresponding IDEs. mbeddr is built on top of the JetBrains MPS language workbench. Both MPS and mbeddr are open source software. Homepage: https://dl.acm.org/citation.cfm?id=2384767 Keywords: language extension; DSLs; development environments; embedded software; formal methods; ACM Digital Library Related Software: Cyclone; Hume; Cedalion; JastAdd; Feldspar; js_of_ocaml; TouchDevelop; Calcite; Lamdu; Hazelnut; Idris; Mtac; Agda Cited in: 1 Publication Standard Articles 1 Publication describing the Software Year Cited by 4 Authors 1 Aldrich, Jonathan 1 Hammer, Matthew A. 1 Omar, Cyrus 1 Voysey, Ian Cited in 0 Serials Cited in 1 Field 1 Computer science (68-XX) Citations by Year