HomeHomeHomeArchiteturMiddlewareMDSDBeratungCoachingTrainig
header

go back go up Publications :: mbeddr - an Extensible C-based Programming Languag...

dotted Line
dotted Line
menu not Selected Home
dotted Line
menu not Selected Services
dotted Line
menu not Selected Experience
dotted Line
menu not Selected New DSL Book
dotted Line
menu not Selected Conferences
dotted Line
menu selected Publications
   menu not Selected Papers
   menu not Selected Workshop Papers
   menu not Selected Patterns
   menu not Selected Books
   menu not Selected Articles
   menu not Selected Podcasts
   menu not Selected Videos
dotted Line
menu not Selected Vorlesungen
dotted Line
menu not Selected Site
dotted Line
dotted Line
magic Pixel

mbeddr - an Extensible C-based Programming Language and IDE for Embedded Systems

While the C programming language provides very good support for writing efficient, low-level code, it does not offer adequate means 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.

[Paper]
01.11.2012
../data/pub/wavefront-updatedSubmission2.pdf Download... Abstract... Abstract...
mbeddr - an Extensible C-based Programming Language and IDE for Embedded Systems
together with Daniel Ratiu , Bernd Kolb , Bernhard Schaetz
Conference: Wavefront/SPLASH 2012