150 likes | 277 Views
POSAML: A Visual Language for Middleware Provisioning. Dimple Kaul, Arundhati Kogekar, Aniruddha Gokhale {dkaul,akogekar,gokhale}@vanderbilt.edu ISIS, Dept. of EECS Vanderbilt University Nashville, Tennessee. Jeff Gray gray@cis.uab.edu Asst. Professor of CIS
E N D
POSAML: A Visual Language for Middleware Provisioning Dimple Kaul, Arundhati Kogekar, Aniruddha Gokhale {dkaul,akogekar,gokhale}@vanderbilt.edu ISIS, Dept. of EECS Vanderbilt University Nashville, Tennessee Jeff Gray gray@cis.uab.edu Asst. Professor of CIS Univ. of Alabama at Birmingham Birmingham, AL Swapna Gokhale ssg@engr.uconn.edu Asst. Professor of CSE, University of Connecticut, Storrs, CT Presented at HICSS VISA 07 Work supported by NSF CSR-SMA CNS-0406376, CNS-0509271, CNS-0509296, CNS-0509342
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
Middleware Structure & Functionality • There are layers of middleware, just like there are layers of networking protocols • 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 Need an intuitive, visual and declarative mechanism for middleware provisioning.
Visual Provisioning Tool Requirements 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 Reactor • 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
system workload Visual Provisioning Tool Requirements Criteria 2: Unified framework for middleware provisioning and QoS validation • 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 • 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
Decorator Decorator Application Developers (Modelers) XML XML MDE Tool Developer (Metamodeler) … … DB #n DB #1 Storage Options Technology Enabler: Generic Modeling Environment “Write Code That Writes Code That Writes Code!” GME Architecture COM COM GME Editor ConstraintManager Browser Translator(s) COM Add-On(s) Metamodel GModel GMeta XML UML / OCL CORE Paradigm Definition XML ODBC Goal: Correct-by-construction distributed systems www.isis.vanderbilt.edu/Projects/gme/default.htm
Metamodel DEFINE Model Meta-Level Translation INTERPRET Interpreter void CComponent::InvokeEx(CBuilder &buil der,CBuilderObject *focus, CBui lderObjectList &selected, long param) { CString DMSRoot = ""; DMSRoot = SelectFolder("Please Select DMS Root Folder:"); if (DMSRoot != "") { DMSRulePath = DMSRoot + RULESPATH + "Rules\\"; MSRuleApplierPath = DMSRoot + RULESPATH + "RuleApplier\\"; AfxMessageBox("DMSRulePath = " + DMSRulePath , MB_OK); CString OEPRoot = ""; OEPRoot = SelectFolder("Please Selec Model Interpreters Models Metamodel Definition Model Interpretation Model Integrated Computing (MIC) with GME Metamodeling Interface Application Domain Application Evolution Environment Evolution App 1 App 2 App 3 Modeling Environment Model Builder The Generic Modeling Environment (GME) adopts the MIC approach and provides a plug-in mechanism for extension.
POSAML: A Visual Provisioning Tool Metamodel for the POSA pattern language • 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. Feature modeling metamodel in POSAML
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.
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
POSAML Availability • POSAML incorporated within CoSMIC • CoSMIC project focuses on separation of deployment and configuration concerns • Model-driven generative programming framework • Complementary technology to component middleware www.dre.vanderbilt.edu/cosmic
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
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.
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