+ All Categories
Home > Documents > POSAML: A Visual Language for Middleware Provisioning Dimple Kaul, Arundhati Kogekar, Aniruddha...

POSAML: A Visual Language for Middleware Provisioning Dimple Kaul, Arundhati Kogekar, Aniruddha...

Date post: 12-Jan-2016
Category:
Upload: amberlynn-west
View: 218 times
Download: 0 times
Share this document with a friend
Popular Tags:
15
POSAML: A Visual Language POSAML: A Visual Language for Middleware Provisioning for Middleware Provisioning Dimple Kaul, Arundhati Kogekar, Aniruddha Gokhale { dkaul,akogekar,gokhale}@vanderbil t.edu ISIS, Dept. of EECS Vanderbilt University Nashville, Tennessee Swapna Gokhale [email protected] u Asst. Professor of CSE, University of Connecticut, Storrs, CT Jeff Gray [email protected] Asst. Professor of CIS Univ. of Alabama at Birmingham Birmingham, AL Presented at HICSS VISA 07 Work supported by NSF CSR-SMA CNS-0406376, CNS-0509271, CNS-0509296, CNS-0509342
Transcript
Page 1: POSAML: A Visual Language for Middleware Provisioning Dimple Kaul, Arundhati Kogekar, Aniruddha Gokhale {dkaul,akogekar,gokhale}@vanderbilt.edu ISIS, Dept.

POSAML: A Visual Language for POSAML: A Visual Language for Middleware ProvisioningMiddleware Provisioning

Dimple Kaul, Arundhati Kogekar, Aniruddha Gokhale

{dkaul,akogekar,gokhale}@vanderbilt.edu

ISIS, Dept. of EECS Vanderbilt University Nashville, Tennessee

Swapna Gokhale [email protected]

Asst. Professor of CSE, University of

Connecticut, Storrs, CT

Jeff Gray [email protected]

Asst. Professor of CISUniv. of Alabama at

BirminghamBirmingham, AL

Presented at HICSS VISA 07Work supported by NSF CSR-SMA

CNS-0406376, CNS-0509271, CNS-0509296, CNS-0509342

Page 2: POSAML: A Visual Language for Middleware Provisioning Dimple Kaul, Arundhati Kogekar, Aniruddha Gokhale {dkaul,akogekar,gokhale}@vanderbilt.edu ISIS, Dept.

2

Provisioning Issues in Distributed Systems

• Next generation distributed systems– Exhibit service-oriented architectural style– Hosted on heterogeneous software and

hardware infrastructure– Must satisfy tradeoffs between multiple

(often conflicting) QoS demands• e.g., secure, real-time, reliable, etc.

– Must satisfy QoS demands in face of fluctuating and/or insufficient resources

• e.g., mobile ad hoc networks (MANETs)

Appropriate middleware provisioning that host these systems is a key challenge

Page 3: POSAML: A Visual Language for Middleware Provisioning Dimple Kaul, Arundhati Kogekar, Aniruddha Gokhale {dkaul,akogekar,gokhale}@vanderbilt.edu ISIS, Dept.

3

Middleware Structure & Functionality

• Standards-based COTS middleware helps:• Control end-to-end resources & QoS• Leverage hardware & software technology advances

• Evolve to new environments & requirements

• Provide a wide array of reusable, off-the-shelf developer-oriented services

• Problem• Manually provisioning

middleware is tedious, error-prone, & costly over system lifecycles

• There are layers of middleware, just like there are layers of networking protocols

Need an intuitive, visual and declarative mechanism for middleware provisioning.

Page 4: POSAML: A Visual Language for Middleware Provisioning Dimple Kaul, Arundhati Kogekar, Aniruddha Gokhale {dkaul,akogekar,gokhale}@vanderbilt.edu ISIS, Dept.

4

Visual Provisioning Tool Requirements

•Must account for Per-Block Configuration Variability

– Incurred due to variations in implementations & configurations for a patterns-based building block

– E.g., single threaded versus thread-pool based reactor implementation dimension that crosscuts the event demultiplexing strategy (e.g., select, poll, WaitForMultipleObjects

Criteria 1: Intuitive management of middleware variabilities that impact performance in significant ways

•Tool must account for Compositional Variability

– Incurred due to variations in the compositions of mw building blocks

– Need to address compatibility in the compositions and individual configurations

– Dictated by needs of the domain– E.g., Leader-Follower makes no sense

in a single threaded ReactorReactor

event demultiplexing strategy

event handling strategy

single threaded

thread pool

select poll WaitForMultipleObjects

Qt Tk

Page 5: POSAML: A Visual Language for Middleware Provisioning Dimple Kaul, Arundhati Kogekar, Aniruddha Gokhale {dkaul,akogekar,gokhale}@vanderbilt.edu ISIS, Dept.

5

Visual Provisioning Tool Requirements

•Separation of concerns– Unified framework must separate the

provisioning and validating stages– Different actors should be able to use

the visual aids in different stages of the application lifecycle

Criteria 2: Unified framework for middleware provisioning and QoS validation

•Unified framework for provisioning and validating

– Provisioning decisions should be coupled with QoS validation

– Decisions at one stage drive decisions at the next stage

Criteria 3: Visual separation of concerns within the Unified Framework

workload 0

50

100

150

200

system

Page 6: POSAML: A Visual Language for Middleware Provisioning Dimple Kaul, Arundhati Kogekar, Aniruddha Gokhale {dkaul,akogekar,gokhale}@vanderbilt.edu ISIS, Dept.

6

MDE Tool Developer (Metamodeler)

Application Developers (Modelers)

Technology Enabler: Generic Modeling Environment

www.isis.vanderbilt.edu/Projects/gme/default.htm

“Write Code That Writes Code That Writes Code!”

Decorator Decorator

GModel GMeta

CORE

MetamodelXML

Paradigm Definition

Storage Options… DB #nDB #1 XML …

UML / OCL

COM

COMCOM

XML

XML

ODBC

ConstraintManagerBrowser

Translator(s)Add-On(s)

GME Editor

GME Architecture

Goal: Correct-by-construction distributed systems

Page 7: POSAML: A Visual Language for Middleware Provisioning Dimple Kaul, Arundhati Kogekar, Aniruddha Gokhale {dkaul,akogekar,gokhale}@vanderbilt.edu ISIS, Dept.

7

ModelInterpretation

Model Interpreters

Models

Modeling Environment

ApplicationDomain

App1

App2

App3

Application Evolution

Environment Evolution

MetamodelingInterface

Metamodel Definition

Meta-LevelTranslation

Model Builder

Model Integrated Computing (MIC) with GME

Metamodel

Model

Interpreter

void CComponent::InvokeEx(CBuilder &builder,CBuilderObject *focus, CBuilderObjectList &selected, long param) {CString DMSRoot = "";DMSRoot = SelectFolder("Please Select DMSRoot Folder:");if (DMSRoot != "") {DMSRulePath = DMSRoot + RULESPATH + "Rules\\";MSRuleApplierPath = DMSRoot + RULESPATH + "RuleApplier\\";AfxMessageBox("DMSRulePath = " + DMSRulePath , MB_OK);CString OEPRoot = "";OEPRoot = SelectFolder("Please Selec

DEFINE

INTERPRET

The Generic Modeling Environment (GME) adopts the MIC approach and provides a plug-in mechanism for extension.

Page 8: POSAML: A Visual Language for Middleware Provisioning Dimple Kaul, Arundhati Kogekar, Aniruddha Gokhale {dkaul,akogekar,gokhale}@vanderbilt.edu ISIS, Dept.

8

Example DSMLs (not UML)

Page 9: POSAML: A Visual Language for Middleware Provisioning Dimple Kaul, Arundhati Kogekar, Aniruddha Gokhale {dkaul,akogekar,gokhale}@vanderbilt.edu ISIS, Dept.

9

POSAML: A Visual Provisioning Tool

• POSAML – GME-based modeling language for middleware composition

• Provides a structural composition model• Captures variability in blocks• Generative programming capabilities to

synthesize different artifacts e.g., benchmarking, configuration, performance modeling.

Metamodel for the POSA pattern language

Feature modeling metamodel in POSAML

Page 10: POSAML: A Visual Language for Middleware Provisioning Dimple Kaul, Arundhati Kogekar, Aniruddha Gokhale {dkaul,akogekar,gokhale}@vanderbilt.edu ISIS, Dept.

10

POSAML Unified Framework

• Unified visual view enables modeling the middleware composition as a set of interacting patterns

• Individual patterns can be visually configured• E.g., reactor and acceptor-connector patterns

• POSAML conforms to the POSA pattern language enabling error-free composition of building blocks.

Page 11: POSAML: A Visual Language for Middleware Provisioning Dimple Kaul, Arundhati Kogekar, Aniruddha Gokhale {dkaul,akogekar,gokhale}@vanderbilt.edu ISIS, Dept.

11

POSAML Separation of Concerns

• POSAML separates pattern feature modeling from pattern benchmarking

• Feature model allows selecting features of each pattern• E.g., reactor and acceptor-connector

shown with concurrency models

• Benchmarking view separated from feature view• E.g., selecting parameters for

elements of the pattern

• Views are unified under the hood

Page 12: POSAML: A Visual Language for Middleware Provisioning Dimple Kaul, Arundhati Kogekar, Aniruddha Gokhale {dkaul,akogekar,gokhale}@vanderbilt.edu ISIS, Dept.

12

POSAML Availability

Component

ResourceRequirements

Impl

Impl

Impl

Properties

Component Assembler

Component Assembly

Component Component

Component Component

Component Package

Component Assembly

Component Component

Component Component

Component Assembly

Component Component

Component Component

(1) d

evel

ops

(2) assembles

(3) packages

(4) c

onfig

ures

(6) deployment

Assembly

DeploymentApplication

Assembly

Assembly

CoSMIC

(8) reconfiguration &

replanningAnalysis & Benchmarking

packaging

asse

mbl

y

specification

configuration

plan

ning

feedback

(7) analysis & benchmarking

(IDM

L &

PIC

ML)

(PICML)

(PIC

ML)

(OC

ML,

QoS

ML)

(Cadena & BGML)

DAnCE Framework

(5) planning

Component Developer

RACE Framework

),...,( 21 nxxxfy

Deployment Planner

Component Packager

Component Configurator

Systemanalyzer

ComponentDeployer

(9) design

feedback

www.dre.vanderbilt.edu/cosmic

• POSAML incorporated within CoSMIC

• CoSMIC project focuses on separation of deployment and configuration concerns

• Model-driven generative programming framework

• Complementary technology to component middleware

Page 13: POSAML: A Visual Language for Middleware Provisioning Dimple Kaul, Arundhati Kogekar, Aniruddha Gokhale {dkaul,akogekar,gokhale}@vanderbilt.edu ISIS, Dept.

13

Future Work

•Short term goals• Generalization and decomposition of models of Proactor

and Active Object patterns.• Empirical validation of the models using the ACE/TAO

framework (CORBA).• Development of methodologies to compose models

mirroring the composition of patterns.

•Long term goals• Build reusable libraries of models• Build higher level reusable frameworks (e.g., for fault

tolerance)• Identify reusable patterns of performance models for

middleware configurations• Extend generators to multiple middleware platforms

Page 14: POSAML: A Visual Language for Middleware Provisioning Dimple Kaul, Arundhati Kogekar, Aniruddha Gokhale {dkaul,akogekar,gokhale}@vanderbilt.edu ISIS, Dept.

14

Future Trend: Aspect Modeling

Challenge: Crosscutting Models• Base models become constrained to

capture a particular design• Concerns that are related to some

global property are dispersed across the model

Solution: Model Weaving• C-SAW is an aspect-oriented

weaver at the modeling level• Implemented as a GME plug-in

to assist in the rapid adaptation and evolution of models by weaving crosscutting changes into models.

Page 15: POSAML: A Visual Language for Middleware Provisioning Dimple Kaul, Arundhati Kogekar, Aniruddha Gokhale {dkaul,akogekar,gokhale}@vanderbilt.edu ISIS, Dept.

15

Conclusion• Significant challenges exist in provisioning middleware

solutions that involve QoS concerns• Typical provisioning performed through low-level mechanisms that

are not reusable and have many accidental complexities• Such mechanisms are error prone, tedious and time consuming.

This limits the ability to explore design alternatives amid possible solution spaces.

• Visual modeling can assist in the following criteria to assist in addressing the key challenges• Accounting for variability across a range of middleware technologies• Need for a unified framework• Separation of application concerns from provisioning and

benchmarking concerns

• POSAML is a domain-specific modeling language that has associated tools to address these challenges


Recommended