Conference Paper

Context-specific middleware specialization techniques for optimizing software product-line architectures

DOI: 10.1145/1218063.1217955 Conference: Proceedings of the 2006 EuroSys Conference, Leuven, Belgium, April 18-21, 2006
Source: DBLP


Product-line architectures (PLAs) are an emerging paradigm for developing software families for distributed real-time and embedded (DRE) systems by customizing reusable artifacts, rather than hand-crafting software from scratch. To reduce the effort of developing software PLAs and product variants for DRE systems, developers are applying general-purpose -- ideally standard -- middleware platforms whose reusable services and mechanisms support a range of application quality of service (QoS) requirements, such as low latency and jitter. The generality and flexibility of standard middleware, however, often results in excessive time/space overhead for DRE systems, due to lack of optimizations tailored to meet the specific QoS requirements of different product variants in a PLA.This paper provides the following contributions to the study of middleware specialization techniques for PLA-based DRE systems. First, we identify key dimensions of generality in standard middleware stemming from framework implementations, deployment platforms, and middleware standards. Second, we illustrate how context-specific specialization techniques can be automated and used to tailor standard middleware to better meet the QoS needs of different PLA product variants. Third, we quantify the benefits of applying automated tools to specialize a standard Realtime CORBA middleware implementation. When applied together, these middleware specializations improved our application product variant throughput by ~65%, average- and worst-case end-to-end latency measures by ~43% and ~45%, respectively, and predictability by a factor of two over an already optimized middleware implementation, with little or no effect on portability, standard middleware APIs, or application software implementations, and interoperability.

Full-text preview

Available from:
  • Source
    • "We leverage FOCUS [13] to execute the generated specialization advice on the middleware source code. The FOCUS source transformation rules for specializing the design patterns and middleware frameworks are represented in XML. "
    [Show abstract] [Hide abstract]
    ABSTRACT: General-purpose middleware must often be special- ized for resource-constrained, real-time and embedded systems to improve their response-times, reliability, memory footprint, and even power consumption. Software engineering techniques, such as aspect-oriented programming (AOP), feature-oriented programming (FOP), and reflection make the specialization task simpler, albeit still requiring the system developer to manually identify the system invariants, and sources of performance and memory footprint bottlenecks that determine the required specializations. Specialization reuse is also hampered due to a lack of common taxonomy to document the recurring specializa- tions. This paper presents the GeMS (Generative Middleware Specialization) framework to address these challenges. We present results of applying GeMS to a Distributed Real-time and Embedded (DRE) system case study that depict a 21-35% reduction in footprint, and a ˜ 36% improvement in performance while simultaneously alleviating ˜ 97% of the developer efforts in
    Full-text · Conference Paper · Mar 2011
  • Source
    • "Mostly, the interfaces include GUI [13] for users to pose queries against the database schema and visualize their results. It also includes APIs [14] for programmers to develop complicated applications. Queries are formulated in a generic form and evaluated by the system. "
    [Show abstract] [Hide abstract]
    ABSTRACT: Middleware has become an essential component for almost every distributed database system. It uses wrappers when integration is achieved for heterogeneity. Different middleware systems have been produced aiming for a better performance. In this paper a new middleware system for heterogeneous distributed databases (HDDBs) called Open-Gate is proposed. Its main objective is to provide an efficient system with the characteristics of autonomy, scalability, reliability, and high performance. In addition, it can handle a huge number of users overcoming the bottleneck problem or loss of user's queries. Experimental results show that, the proposed system achieved high performance compared to other systems.
    Full-text · Article · Jan 2010
  • Source
    • "[13] "
    [Show abstract] [Hide abstract]
    ABSTRACT: Product Line Engineering (PLE) is an increasingly important paradigm in software development whereby commonalities and variations among similar systems are systematically identi ed and exploited. PLE covers a large spectrum of activities, from domain analysis to product validation and testing. Variability is manifested throughout this spectrum in artifacts such as requirements, models, code and documentation and it is often of crosscutting nature. These characteristics promote di erent kinds of modularization and composition techniques (e.g., objects, components, aspects, features, subjects, frames, etc.) as suitable candidates to manage variability. Prior work on Generative Programming (GP) and Component Engineering (CE) has shown their successful applicability to PLE and the potential bene ts of modularization and composition techniques. The Workshop on Modularization, Composition, and Generative Techniques for Product Line Engineering (McGPLE) aims at expanding and capitalizing on the increasing interest of researchers from these communities. It builds on the success of the Aspect-oriented Product Line (AOPLE) workshop which has run
    Full-text · Article · Aug 2009
Show more