Deployment and configuration of component-based distributed, real-time and embedded systems
Deng, Gan
:
2008-02-27
Abstract
Component-based software engineering (CBSE) is increasingly being adopted for large-scale software systems, particularly for large-scale distributed real-time and embedded (DRE) systems. One of the most challenging -- and often most neglected -- problems in CBSE for large-scale DRE systems is the system deployment and configuration (D&C) process, where the increasing heterogeneity and versatility of application domains requires support for an unprecedented level of configurability and adaptability. Existing D&C middleware technologies suffer from three major challenges: (1) insufficient ability to evolve in the face of quality of service (QoS) diversification due to the interaction with systemic concerns imposed by a wide range of application requirements, (2) complexities of integrating, configuring and deploying different real-time publish/subscribe services in QoS-enabled component middleware, and (3) ensuring the predictability of D&C in the face of complex dependency relationships among components in large scale DRE systems.
This dissertation provides three contributions to the D&C middleware research for large-scale component-based DRE systems. First, we describe the design and implementation of Deployment And Configuration Engine (DAnCE), which is QoS-enabled component D&C framework that alleviates key inherent and accidental complexities for automated D&C of component-based DRE systems. Our results show that DAnCE provides an effective platform for deploying DRE system components using a standard runtime environment and metadata. Second, we evaluate different architectural design choices for integrating, configuring, and deploying publish/subscribe services in component middleware for DRE systems, and develop a combined solution approach based on a pattern language and model-driven engineering (MDE) technique. Our results reveal that both the performance and scalability of our design and implementation are comparable to its object-oriented counterpart, which provides a key guidance to the suitability of component technologies for DRE systems. Third, we describe how we identify key sources of deployment-time priority inversion and how we apply a multi-graph based algorithm called PARIGE to avoid deployment priority inversion. Our results show that PARIGE incurs negligible ~1% D&C performance overhead and avoids unbounded deployment time priority inversion when operational strings with different priorities have dependencies among each other, thereby significantly improving the responsiveness of high priority mission-critical tasks.
The results presented in the dissertation show that the capabilities provided by the DAnCE framework -- combined with its associated component middleware infrastructure and MDE tools – significantly improves the reusability of components and the productivity of D&C process of component-based DRE systems compared to conventional D&C approaches. Moreover, the PARIGE algorithm in DAnCE significantly improves the predictability of D&C of large-scale component-based DRE systems than conventional D&C QoS assurance techniques.