Title
mbeddr: instantiating a language workbench in the embedded software domain.
Abstract
Tools can boost software developer productivity, but building custom tools is prohibitively expensive, especially for small organizations. For example, embedded programmers often have to use low-level C with limited IDE support, and integrated into an off-the-shelf tool chain in an ad-hoc way.To address these challenges, we have built mbeddr, an extensible language and IDE for embedded software development based on C. mbeddr is a large-scale instantiation of the Jetbrains MPS language workbench. Exploiting its capabilities for language modularization and composition, projectional editing and multi-stage transformation, mbeddr is an open and modular framework that lets third parties add extensions to C with minimal effort and without invasive changes. End users can combine extensions in programs as needed.To illustrate the approach, in this paper we discuss mbeddr’s support for state machines, components, decision tables, requirements tracing, product line variability and program verification and outline their implementation. We also present our experience with building mbeddr, which shows that relying on language workbenches dramatically reduces the effort of building customized, modular and extensible languages and IDEs to the point where this is affordable by small organizations. Finally, we report on the experience of using mbeddr in a commercial project, which illustrates the benefits to end users.
Year
DOI
Venue
2013
10.1007/s10515-013-0120-4
Autom. Softw. Eng.
Keywords
Field
DocType
Language workbenches,Domain specific languages and tooling,Synthesis of tailored tools,Embedded systems
Programming language,Embedded software,Systems engineering,Computer science,Language workbench,Software
Journal
Volume
Issue
ISSN
20
3
0928-8910
Citations 
PageRank 
References 
19
1.14
43
Authors
4
Name
Order
Citations
PageRank
Markus Voelter132129.85
Daniel Ratiu249338.87
Bernd Kolb315113.29
Bernhard Schätz460494.43