Print Email Facebook Twitter Using C Language Extensions for Developing Embedded Software: A Case Study Title Using C Language Extensions for Developing Embedded Software: A Case Study Author Voelter, M. Van Deursen, A. Kolb, B. Eberle, S. Faculty Electrical Engineering, Mathematics and Computer Science Department Software Technology Date 2015-12-31 Abstract We report on an industrial case study on developing the embedded software for a smart meter using the C programming language and domain-specific extensions of C such as components, physical units, state machines, registers and interrupts. We find that the extensions help significantly with managing the complexity of the software. They improve testability mainly by supporting hardware-independent testing, as illustrated by low integration efforts. The extensions also do not incur significant overhead regarding memory consumption and performance. Our case study relies on mbeddr, an extensible version of C. mbeddr, in turn, builds on the MPS language workbench which supports modular extension of languages and IDEs Subject embedded softwarelanguage engineeringlanguage extensiondomain-specific languagecase study To reference this document use: http://resolver.tudelft.nl/uuid:f4900d74-d24a-4533-9f41-3891558c4bfd Publisher Delft University of Technology, Software Engineering Research Group ISSN 1872-5392 Source http://swerl.tudelft.nl/bin/view/Main/TechnicalReports Source Report TUD-SERG-2015-010 Preprint accepted for publication in: To appear in Proceedings of the 30th Annual ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications, OOPSLA 2015, part of SPLASH 2015 Part of collection Institutional Repository Document type report Rights © 2015 The Author(s) . Software Engineering Research Group, Department of Software Technology, Faculty of Electrical Engineering, Mathematics and Computer Science, Delft University of Technology Files PDF TUD-SERG-2015-010.pdf 733.31 KB Close viewer /islandora/object/uuid:f4900d74-d24a-4533-9f41-3891558c4bfd/datastream/OBJ/view