5
Generative Middleware Specializations for Distributed, Real-time and Embedded Systems Institute for Software Integrated Systems Dept of EECS, Vanderbilt University Nashville, TN, USA Akshay Dabholkar and Aniruddha Gokhale {aky,gokhale}@dre.vanderbilt.edu Research supported by NSF CAREER Award 0845789 To be submitted to ISORC 2011

Generative Middleware Specializations for Distributed, Real-time and Embedded Systems Institute for Software Integrated Systems Dept of EECS, Vanderbilt

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