Skip to Main Content
General-purpose middleware must often be specialized for resource-constrained, real-time and embedded systems to improve their response-times, reliability, memory footprint, and even power consumption. Software engineering techniques, such as aspect-oriented programming (AOP), feature-oriented programming (FOP), and reflection make the specialization task simpler, albeit still requiring the system developer to manually identify the system invariants, and sources of performance and memory footprint bottlenecks that determine the required specializations. Specialization reuse is also hampered due to a lack of common taxonomy to document the recurring specializations. This paper presents the GeMS (Generative Middleware Specialization) framework to address these challenges. We present results of applying GeMS to a Distributed Real-time and Embedded (DRE) system case study that depict a 21-35% reduction in footprint, and a 3̃6% improvement in performance while simultaneously alleviating 9̃7% of the developer efforts in specializing middleware.