Integrating publisher/subscriber services in component middleware for distributed real-time and embedded systems

George T. Edwards, Douglas C. Schmidt, Aniruddha Gokhale
2004 Proceedings of the 42nd annual Southeast regional conference on - ACM-SE 42  
Although component-based software development has widespread acceptance in the enterprise business and desktop application domains, developers of distributed, real-time and embedded (DRE) systems have encountered limitations with the available component middleware platforms. These limitations often preclude developers of DRE systems from fully exploiting the benefits of component software. In particular, component middleware platforms lack standards-based publisher/subscriber communication
more » ... nisms that support key quality of service (QoS) requirements, such as low latency, bounded jitter, and end-to-end operation priority propagation. QoSenabled publisher/subscriber services are available in object middleware platforms, such as Real-time CORBA, but such services have not been integrated into component middleware due to a number of development and configuration challenges. This paper provides three contributions to the integration of publisher/subscriber services in component middleware. First, we outline key challenges associated with integrating publisher/subscriber services into component middleware. Second, we describe a methodology resolving these challenges based on software design patterns and Model-Driven Middleware (MDM). Third, we describe a pattern-oriented component middleware platform and a complementary MDM tool that we have developed to integrate publisher/subscriber services into component middleware applications. weight, power consumption, and memory footprint constraints. Over the past decade, middleware has evolved to support the creation of applications via composition of reusable and flexible software components [2]. Components are implementation/integration units with preciselydefined interfaces that can be installed in application server run-time environments. Examples of commercialoff-the-shelf (COTS) component middleware include the CORBA Component Model (CCM), J2EE, and .NET. Component middleware generally supports two models for component interaction: (1) a request-response communication model, in which a component invokes a point-to-point operation on another component, and (2) an event-based communication model, in which a component transmits arbitrarily-defined, strongly-typed mes-
doi:10.1145/986537.986577 dblp:conf/ACMse/EdwardsSG04 fatcat:a22y3eccnjgfxn42dhiuli3b5i