Embedded Software Development with C for the next decade

Session Type: 
Standard [35 minutes]

Over the next decade, how will the embedded world be different? As the competitive pressure increases, time to market is reduced and product variability skyrockets, the need for tools that can be adapted to particular domains or platforms will increase. Such adaptability must go beyond adding a couple of new dialogs or data attributes in the repository --- the languages underlying the tools themselves must be extensible. Today, with software being written either in C or with inflexible and proprietary modeling tools, we are far from this state.

In this session we demonstrate mbeddr, an extensible version of the C programming language that supports incremental and modular extension, leading to real multi-paradigm programming. Domain-specific abstractions can directly be integrated with C. mbeddr comes with a set of default extensions for components and state machines, and supports advanced verification based on type checks for physical units and on model checking and SAT solving. All extensions include modern IDE support and are also integrated with the debugger.

mbeddr is built on JetBrains MPS, a language workbench that allows users to build their own extensions to C (or any other DSL) with the same toolkit that has been used to implement C and the existing extensions. Both MPS and mbeddr are open source software.

Schedule info

Time slot: 
6 June 15:15 - 15:50


Cool Stuff
Experience level: 

mbeddr and eclipse

mbeddr uses the CDT to provide debugging support. It is not yet an eclipse project but might be proposed as one over the summer. MPS will provide an Eclipse integration by end of this year.