Model-Based Programming for Multi-Processor Platforms with TTool/DIPLODOCUS and OMC
Résumé
Abstract. The complexity of today's multi-processor architectures raises the need to increase the level of abstraction of software development paradigms above third-generation programming languages (e.g., C/C++). Code generation from model-based specifications is considered to be more efficient with respect to traditional paradigms where software is mainly developed from code. However, existing model-based approaches typically generate application software in SoC-programming languages (e.g., C/C++, OpenCL, Verilog/VHDL) without considering the optimization of non-functional properties (e.g., memory footprint, scheduling). This paper proposes a novel approach and tools where system-level models are compiled into standard C code while optimizing the systems memory footprint. We show the effectiveness of our approach with the model-based programming of UML/SysML diagrams for a 5G decoder. From the compiled C code, we generate both a software implementation for a Digital Signal Processor platform and a hardware-software implementation for a platform based on hardware Intellectual Property (IP) blocks. Overall, our optimizations achieve a memory footprint reduction of 80.07% in the first case and 88.93% in the second case.