Optimization Techniques for Enhancing Middleware Quality of Service for Product-line Architectures
Date
Authors
Journal Title
Journal ISSN
Volume Title
Publisher
Abstract
Product-line architectures (PLA)s are an emerging paradigm for developing software families by customizing reusable artifacts, rather than hand-crafting the software from scratch. In this paradigm, each product variant is assembled, configured, and deployed based on specifications of the required features and service-level agreements. To reduce the effort of developing software PLAs and product variants, it is common to leverage general-purpose -- ideally standard -- middleware platforms. These middleware platforms provide reusable services and mechanisms (such as connection management, data transfer protocols, concurrency control, demultiplexing, marshaling/demarshaling, and error-handling) that support a broad range of application requirements (such as efficiency, predictability, and minimizing end-to-end latency). A key challenge faced by developers of software PLAs is how to optimize standards-based -- and thus largely application-independent -- middleware to support the application-specific quality of service (QoS) needs of different product variants created atop a PLA.
This dissertation provides four contributions to research on optimizing middleware for PLAs. First, it describes the evolution of optimization techniques for enhancing application-independent middleware to support the application-specific QoS needs of PLAs. Second, it presents a taxonomy that categorizes the evolution of this research in terms of (1) applicability, i.e., are the optimizations applicable across variants or specific to a variant, and (2) binding time, i.e., when are the optimizations applied during the middleware development lifecycle. Third, this taxonomy is applied to identify key challenges that have not been resolved by current research on PLAs, including reducing the complexity of subsetting, configuring, and specializing middleware for PLAs to satisfy the QoS requirements of product variants. Finally, the dissertation describes the OPTEML solution approach that synergistically addresses key unresolved research challenges via optimization strategies that encompass pattern-oriented, model-driven development, and specialization techniques to enhance the QoS and flexibility of middleware for PLAs. These optimizations have been prototyped, integrated, and validated in the context of several representative applications using middleware developed with Real-time Java and C++.