Upload
juniper-oliver
View
230
Download
1
Embed Size (px)
Citation preview
Generative Middleware Specializations for Distributed, Real-
time and Embedded Systems
Institute for Software Integrated Systems
Dept of EECS, Vanderbilt UniversityNashville, TN, USA
Akshay Dabholkar and Aniruddha Gokhale
{aky,gokhale}@dre.vanderbilt.eduResearch supported by NSF CAREER
Award 0845789To be submitted to ISORC 2011
Motivation: Why Specialize Middleware?• General-purpose
middleware offer a number of features to support a wide range of applications
• In general, the application & middleware design forces are antagonistic
• Middleware features are organized into cooperating layers
• But the rigid layered processing adds time and space overhead
Impediments to Middleware Specialization• Identification of
specialization invariants• Inference of the
specialization opportunities from the context
• Selection of specialization points and paths in middleware
• Realization of the specializations
Node ANode B
1 Collocated Components
2 Redundant Request Creation
2
2
3
Resolution of the same dispatch
4 Redundant de-marshaling checks
5Component Generality
3
Approach based on blending together Aspect-oriented and Featured-oriented Programming; Generative Programming; and Model-driven Engineering
• Non intrusive – no drastic changes to middleware API interfaces, and application implementations
• Maintain Portability, Interoperability of middleware
• Automatic – Manual approaches are tedious and error prone when applied to mature middleware
• Evolvable with the middleware sources
Requirements for a Middleware Specialization Approach
Generative Middleware Specializations (GeMS) GeMS leverages existing system
modeling and specialization engines based on FOP/AOP
Generator uses a generic specialization algorithm that supports pattern and framework specialization plugins
Code is inputted back to FORMS once FOCUS is done with its transformations
FORMSMiddleware
Features
Feature Implementations
Pruned Middleware
Source
GeneratorSpecialization
Algorithms
Specialization Transformations
Selected Specializations
FOCUS
Specialized Framework
Sources
Pruned MPC Files
Compiler
REXECUTE
Identify Invariants
Intuitive System Modeling
Structural Models
QoS Models
Deployment Models
Specialized Middleware
Infer Specializations
System Invariants
SN DB
UPDATE