"uuid","repository link","title","author","contributor","publication year","abstract","subject topic","language","publication type","publisher","isbn","issn","patent","patent status","bibliographic note","access restriction","embargo date","faculty","department","research group","programme","project","coordinates" "uuid:f4900d74-d24a-4533-9f41-3891558c4bfd","http://resolver.tudelft.nl/uuid:f4900d74-d24a-4533-9f41-3891558c4bfd","Using C Language Extensions for Developing Embedded Software: A Case Study","Voelter, M.; Van Deursen, A.; Kolb, B.; Eberle, S.","","2015","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","embedded software; language engineering; language extension; domain-specific language; case study","en","report","Delft University of Technology, Software Engineering Research Group","","","","","","","","Electrical Engineering, Mathematics and Computer Science","Software Technology","","","",""