Commonality and Variability in Software Engineering
IEEE Software
Proceedings of the 25th International Conference on Software Engineering
A tutorial on feature oriented programming and product-lines
Proceedings of the 25th International Conference on Software Engineering
Generating Product-Lines of Product-Families
Proceedings of the 17th IEEE international conference on Automated software engineering
Large-scale AOSD for middleware
Proceedings of the 3rd international conference on Aspect-oriented software development
Feature-Oriented Programming and the AHEAD Tool Suite
Proceedings of the 26th International Conference on Software Engineering
On adaptable middleware product lines
ARM '04 Proceedings of the 3rd workshop on Adaptive and reflective middleware
Overview of generative software development
UPP'04 Proceedings of the 2004 international conference on Unconventional Programming Paradigms
Applying aspects to a real-time embedded operating system
Proceedings of the 6th workshop on Aspects, components, and patterns for infrastructure software
Hi-index | 0.00 |
Standardized middleware is used to build large distributed real-time and enterprise (DRE) systems. These middleware are highly flexible and support a large number of features since they have to be applicable to a wide range of domains and applications. This generality and flexibility, however, often causes many performance and footprint overheads particularly for product line architectures, which have a well-defined scope smaller than that of the middleware yet must leverage its benefits, such as reusability. To alleviate this tension thus a key objective is to specialize the middleware, which comprises removing the sources of excessive generality while simultaneously optimizing the required features of middleware functionality. To meet this objective this paper describes how we have applied Aspect-Oriented Programming (AOP) in a novel manner to address these challenges. Although AOP is primarily used for separation of concerns, we use it to specialize middleware. Aspects are used to select the specific set of features needed by the product line. Aspect weaving is subsequently used to specialize the middleware. This paper describes the key motivation for our research, identifies the challenges developing middleware-based product lines and shows how to resolve those using aspects. The results applying our AOP-based specialization techniques to event demultiplexing middleware for the case of single threaded implementation showed 3% decrease in latency and 2% increase in throughput, while in the thread pool implementation showed 4% decrease in latency and 3% increase in throughput.