posaml: a visual language for middleware provisioning dimple kaul, arundhati kogekar, aniruddha...
Post on 12-Jan-2016
228 Views
Preview:
TRANSCRIPT
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 ssg@engr.uconn.edu
Asst. Professor of CSE, University of
Connecticut, Storrs, CT
Jeff Gray gray@cis.uab.edu
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
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
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.
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
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
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
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.
8
Example DSMLs (not UML)
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
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.
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
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
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
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.
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
top related