70 likes | 212 Views
Architecture-driven, Context-specific Middleware Specializations for Distributed, Real-time and Embedded Systems . Akshay Dabholkar and Aniruddha Gokhale { aky, gokhale }@ dre.vanderbilt.edu. Presented at LCTES WIP 2010 Stockholm, Sweden Research supported by NSF CAREER Award 0845789.
E N D
Architecture-driven, Context-specific Middleware Specializations for Distributed, Real-time and Embedded Systems Akshay Dabholkar and Aniruddha Gokhale {aky,gokhale}@dre.vanderbilt.edu Presented at LCTES WIP 2010 Stockholm, Sweden Research supported by NSF CAREER Award 0845789 Institute for Software Integrated Systems Dept of EECS, Vanderbilt University Nashville, TN, USA
1. Motivation: Why Specialize Middleware? • General-purpose middleware offer a number of features to support a wide range of applications • Middleware features are organized into cooperating layers
1. Motivation: Why Specialize Middleware? • General-purpose middleware offer a number of features to support a wide range of applications • Middleware features are organized into cooperating layers • But the rigid layered processing adds time and space overhead
1. Motivation: Why Specialize Middleware? • General-purpose middleware offer a number of features to support a wide range of applications • Middleware features are organized into cooperating layers • But the rigid layered processing adds time and space overhead • In general, the application & middleware design forces are antagonistic
2. What is Middleware Specialization? Middleware Feature Layers • Prune away unnecessary features based on domain requirements , desired configurations, platform constraints and physics of operating environment. • Optimize performance by moving away from the rigid layer processing • Incorporate domain-specific semantics through AOP and FOSD techniques • Correct-by-construction of specialized middleware stacks RTCORBAFeatures Key goal: Automation of all stages of specializations Memory Resources Processor Resources Communication Resources
3. Impediments to Middleware Specialization • Number of How To?s • Identification of execution context • Inference of the specialization opportunities from the context • Selection of specialization points and paths in middleware • Realization of the specializations • Automate all of the above Approach based on blending together Aspect-oriented and Featured-oriented Programming; Generative Programming; and Model-driven Engineering
4. GAMMA Approach to Middleware Specialization Generators and Aspects for Manipulation of Middleware Architectures • GAMMA leverages existing system modeling and specialization engines based on FOP/AOP, D&C and runtime weavers • Specializations need to be validated to ensure that they meet the end-to-end requirements of the application. • GAMMA allows pluggability of language-specific transformations as well as middleware platforms