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.

1 Follower
25 Reads
  • 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
    14th IEEE International Symposium on Object/Component/Service-Oriented Real-Time Distributed Computing, ISORC 2011, Newport Beach, California, USA, 28-31 March 2011; 01/2011
  • 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
  • Source
    • "2. Model-driven QA configuration specification, analysis , and synthesis. Today's software systems are characterized by myriad infrastructure and application variabilities that are typically configured and optimized manually [20]. Unfortunately, this ad hoc customization has no scientific basis for assuring that the resulting configuration delivers the required functionality or QoS performance . "
    [Show abstract] [Hide abstract]
    ABSTRACT: Software scale and complexity are growing by every measure: more hardware and software, more communication links, more interdependency, more lines of code, more storage and data, etc. At the same time business trends are increasingly squeezing development resources. In particular, development processes are straining under severe cost and time-to-market pressures. Global competition and market deregulation are shrinking profit margins and thus limiting budgets for the development and QA of software. In response to these trends, developers have begun to change the way they build and validate software systems by (among other things) moving towards more flexible product designs allowing dynamic reconfiguration. This approach promises to improve cost, quality, and development-time, but creates other problems, especially when used in the context of safety-critical systems. To realize this promise, however, effective certification becomes more important than ever since as static controls are removed or reduced, it becomes even more vital that (1) problems be caught as quickly as possible and (2) systems not be allowed to drift so far from their intended functional and performance requirements that rework costs overwhelm the hoped-for efficiencies. This article can present and discuss some of our recent efforts to address these problems.
    21th International Parallel and Distributed Processing Symposium (IPDPS 2007), Proceedings, 26-30 March 2007, Long Beach, California, USA; 01/2007
Show more

Similar Publications


25 Reads
Available from