mbeddr: an extensible C-based programming language and IDE for embedded systems

  • Authors:
  • Markus Voelter;Daniel Ratiu;Bernhard Schaetz;Bernd Kolb

  • Affiliations:
  • independent/itemis, Stuttgart, Germany;ForTISS, Muenchen, Germany;ForTISS, Muenchen, Germany;itemis, Stuttgart, Germany

  • Venue:
  • Proceedings of the 3rd annual conference on Systems, programming, and applications: software for humanity
  • Year:
  • 2012

Quantified Score

Hi-index 0.00

Visualization

Abstract

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.