CORBA middleware supporting a wide variety of distributed, real-time, and embedded (DRE) systems must provide a full set of standardized features and services. However, each specific application typically requires only a small subset of these features. Embedded systems, with their limited memory, cannot afford to waste space on unneeded features. DRE middleware, therefore, should be custom-tailored to provide only the features required for each application.
This project, in its current stage, makes two contributions to easily customizable, statically configured, small-footprint middleware for DRE systems. First, we show that two specific techniques, Aspect-oriented Programming and code shrinking, can be combined to achieve substantial reduction in middleware footprint. Second, we demonstrate empirically the effectiveness of this combination, by identifying key middleware features that can be removed when not needed, and by measuring their impact on memory footprint. Our results indicate that automated feature removal reduces footprint substantially, enabling static, automatic customization of CORBA middleware. Specifically, removal of certain features reduces Zen's footprint to less than 5% of its original size, enabling the middleware's use in memory-limited embedded devices.