C Will Live Forever but in the 21st Century it Looks Like This...

By Bernhard Merkle

There is nothing like C when it comes to the bare metal and real embedded development. It is still one of the most popular languages and unlikely to be replaced in the near future. However there are quite a few problems in the language and especially for developers in the embedded area. Problems are: missing encapsulation concepts, unsafe operation and types, no physical units and quantities, no support for common concepts in the embedded area like tasks, messages or state-machines. In this session I will show how it is possible to build modular languages which special emphasis for developing software for embedded systems. (The principle however can I domain independent).

We show how to extend the C Programming Language e.g. we will add: real module/encapsulation concepts, support for interface/implementation and component base development. Furthermore typesafe physical units and quantities as a C language extension will be shown.

Embedded systems often support state-machines so there will be direct support for programmes with states, triggers, events and actions as first level concepts. Also different syntax (like textual, graphical, tabular) can be mixed here.

I will present the power of modular languages and illustrate and show the idea with an Open Source Projectional Language Workbench MPS in a real-world embedded software development scenario. Modular languages and Projectional workbenches enable us to grow and extend languages easily.

Despite the usual drawbacks of internal DSLs we will build "first class" language extensions with full IDE comfort and debugging support. Combined with the tool support, it is really easy to combine modular languages based on the user needs and build convenient IDE support at the same time.

The samples will run on a Lego/NXT robot, running a OSEK/RTOS with C as programming language. In the talk I will demonstrate the new approach, while in the tutorial the idea is that people build themselves new language extensions a try them out with the Lego/NXT robot or a similar embedded real device.





Your Privacy

By clicking "Accept Non-Essential Cookies" you agree ACCU can store non-essential cookies on your device and disclose information in accordance with our Privacy Policy and Cookie Policy.

Current Setting: Non-Essential Cookies REJECTED


By clicking "Include Third Party Content" you agree ACCU can forward your IP address to third-party sites (such as YouTube) to enhance the information presented on this site, and that third-party sites may store cookies on your device.

Current Setting: Third Party Content EXCLUDED



Settings can be changed at any time from the Cookie Policy page.