1 / 15

POSAML: A Visual Language for Middleware Provisioning

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

palti
Download Presentation

POSAML: A Visual Language for Middleware Provisioning

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 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

  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 • 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.

  4. 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

  5. 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

  6. 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

  7. 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.

  8. Example DSMLs (not UML)

  9. 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

  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 • 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

  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

More Related