Exploiting Template Metaprogramming to customize an object-oriented operating system - Pinto, Sandro (2013)
Nowadays, the growing complexity of embedded systems demands for configurability, variability and reuse. Conditional compilation and object-orientation are two of the most applied approaches in the management of system variability. While the former increases the code management complexity, the latter leverages the needed modularity and adaptability to simplify the development of reusable and customizable software at the expense of performance and memory penalty. This paper shows how C++ TMP (Template Metaprogramming) can be applied to manage the variability of an object-oriented operating system and at the same time get ride out of the performance and memory footprint overhead. In doing so, it will be statically generated only the desired functionalities, thus ensuring that code is optimized and adjusted to application requirements and hardware resources.