POSAML A Visual Language for Middleware Provisioning Dimple

  • Slides: 15
Download presentation
POSAML: A Visual Language for Middleware Provisioning Dimple Kaul, Arundhati Kogekar, Aniruddha Gokhale {dkaul,

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 Swapna Gokhale ssg@engr. uconn. edu Asst. Professor of CSE, University of Connecticut, Presented at HICSS VISA 07 Storrs, CT Work supported by NSF CSR-SMA CNS-0406376, CNS-0509271, CNS-0509296, CNS-0509342 Jeff Gray gray@cis. uab. edu Asst. Professor of CIS Univ. of Alabama at Birmingham, AL

Provisioning Issues in Distributed Systems • Next generation distributed systems – Exhibit service-oriented architectural

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) Qo. S demands • e. g. , secure, real-time, reliable, etc. – Must satisfy Qo. S 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 2

Middleware Structure & Functionality • There are layers of middleware, just like there are

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 & Qo. S • Leverage hardware & software technology advances • Evolve to new environments & requirements • Provide a wide array of reusable, offthe-shelf developer-oriented services • Problem • Manually provisioning middleware is tedious, errorprone, & costly over system lifecycles Need an intuitive, visual and declarative mechanism for middleware provisioning. 3

Visual Provisioning Tool Requirements Criteria 1: Intuitive management of middleware variabilities that impact performance

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, 4 Wait. For. Multiple. Objects

Visual Provisioning Tool Requirements Criteria 2: Unified framework for middleware provisioning and Qo. S

Visual Provisioning Tool Requirements Criteria 2: Unified framework for middleware provisioning and Qo. S validation • Unified framework for provisioning and validating – Provisioning decisions should be coupled with Qo. S validation – Decisions at one stage drive decisions at the next stage Criteria 3: Visual separation of concerns within the Unified Framework • Separation of concerns system workload – 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 5

Technology Enabler: Generic Modeling Environment “Write Code That Writes Code!” GME Architecture Application Developers

Technology Enabler: Generic Modeling Environment “Write Code That Writes Code!” GME Architecture Application Developers (Modelers) Decorator COM Browser GME Editor COM Constraint Manager Translator (s) COM Add. On(s) GModel MDE Tool Developer (Metamodeler) GMeta CORE XML DB #1 ODBC …XML … DB #n XML Metamodel UML / OCL Paradigm Definition Storage Options Goal: Correct-by-construction distributed systems www. isis. vanderbilt. edu/Projects/gme/default. htm 6

Model Integrated Computing (MIC) with GME M e t a m o d e

Model Integrated Computing (MIC) with GME M e t a m o d e l Metamodeling Interface Environment Evolution App 1 Metamodel Definition DEFINE App 2 App 3 Modeling Environment M o d e l I n t e r p r e t e r Application Domain Application Evolution Model Builder Meta-Level Translation INTERPRET void CComponent: : Invoke. Ex(CBuilder &buil der, CBuilder. Object *focus, CBui lder. Object. List &selected, long param) { CString DMSRoot = ""; DMSRoot = Select. Folder("Please Select DMS Root Folder: "); if (DMSRoot != "") { DMSRule. Path = DMSRoot + RULESPATH + "Rules\"; MSRule. Applier. Path = DMSRoot + RULESPATH + "Rule. Applier\"; Afx. Message. Box("DMSRule. Path = " + DMSRule. Path , MB_OK); CString OEPRoot = ""; OEPRoot = Select. Folder("Please Selec Model Interpretation Models Model Interpreters The Generic Modeling Environment (GME) adopts the MIC 7 approach and provides a plug-in mechanism for extension.

Example DSMLs (not UML) 8

Example DSMLs (not UML) 8

POSAML: A Visual Provisioning Tool Metamodel for the POSA pattern language • POSAML –

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 9

POSAML Unified Framework • Unified visual view enables modeling the middleware composition as a

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

POSAML Separation of Concerns • POSAML separates pattern feature modeling from pattern benchmarking •

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 11

POSAML Availability • POSAML incorporated within Co. SMIC • Co. SMIC project focuses on

POSAML Availability • POSAML incorporated within Co. SMIC • Co. SMIC project focuses on separation of deployment and configuration concerns • Model-driven generative programming framework • Complementary technology to component middleware www. dre. vanderbilt. edu/cosmic 12

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

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 13

Future Trend: Aspect Modeling Challenge: Crosscutting Models • Base models become constrained to capture

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 14 into models.

Conclusion • Significant challenges exist in provisioning middleware solutions that involve Qo. S concerns

Conclusion • Significant challenges exist in provisioning middleware solutions that involve Qo. S 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 15