Middleware for parallel and distributed systems is designed to virtualize computation and communication resources so that a more and consistent view of those resources is presented to the applications that use them. Providing such a consistent virtualization in distributed real-time and embedded systems becomes increasingly challenging due to application constraints such as timeliness and resource constraints such as CPU speed, power, memory, and bandwidth limitations, which also must be considered. This paper describes several examples of real-time CORBA middleware and examines how different constraints impact the way in which resources are virtualized in each case. Particular attention is paid to which details are hidden from users of the middleware, which details are exposed in the middleware’s programming model, and how the hidden and exposed details interact to shape middleware design and implementation choices. Categories and Subject Descriptors: D.2.11 [Software Architectures...
Christopher D. Gill