Session Title mbeddr C: an MPS and model based, extensible version of the C programming language

Session Type Tutorial

Duration 45 minutes

Session Description

For a long time, model-based technologies and code generation have been promising to raise the level of abstraction, allow better and faster development of software and integrate domain specific concepts into the development process. However, in reality, and especially in the domain of embedded software, the current status quo is quite different. Throughout the development phases different specialised tools are used for requirements management, design, modelling, coding, debugging and testing. Integrating these tools is non-trivial, often even impossible. A major reason for this integration nightmare is that a number of different languages are used, while the implementation language for most embedded systems is still C.

C is an efficient but limited language, performance is key and requirements such as like type safe units, support for state machines or interfaces and components as well as product line variability can add an additional level of complexity.

In this talk we will show a new approach of attacking these challenges: An incremental extension of the C programming language using the MPS language workbench.

Speaker(s) Bernhard Merkle (SICK AG)

Bernhard Merkle works as a Software Architect and Engineer for Software Engineering in the central Research & Development Department at SICK AG, one of the worlds leading producers of sensors and sensor solutions. He serves as internal consultant for the complete software development cycle and is responsible for process and methods selection as well as tool evaluation and introduction. In his spare time he gives a lecture about MDSD (Model Driven Software Development) at the University of Furtwangen in the Faculty Application Architecture Master.

Markus Voelter (Independent / itemis)

Markus Völter works as an independent researcher, consultant and coach for itemis AG in Stuttgart, Germany. His focus is on software architecture, model-driven software development and domain specific languages as well as on product line engineering. Markus also regularly  writes (articles, patterns, books) and speaks (trainings, conferences) on those subjects. Contact him via