1 / 13

Using the Vanderbilt Generic Modeling Environment (GME) to Address SOA QoS

Using the Vanderbilt Generic Modeling Environment (GME) to Address SOA QoS. Sumant Tambe Graduate Intern, Applied Research, Telcordia Technologies Inc. stambe@telcordia.com June 17, 2009. Outline. Introduction to Model Integrated Computing (MIC) 4 layer meta-level architecture

etoile
Download Presentation

Using the Vanderbilt Generic Modeling Environment (GME) to Address SOA QoS

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. Using the Vanderbilt Generic Modeling Environment (GME) to Address SOA QoS SumantTambe Graduate Intern, Applied Research, Telcordia Technologies Inc. stambe@telcordia.com June 17, 2009

  2. Outline • Introduction to Model Integrated Computing (MIC) • 4 layer meta-level architecture • Overview of GME • Background, architecture, metamodeling, and tooling • Examples of Domain-Specific Modeling Languages (DSMLs) • Component QoS Modeling Language (CQML) • Tutorial for creating a simple structural SOA modeling language using GME

  3. Model Integrated Computing (MIC) • Motivation • Design documents are not just documentation, they are part of the system. • Capture specification in the form of domain models • Ideally, correct-by-construction • Higher level and highly intuitive • Speak the language of the domain • Automate system development process • Formal analysis, simulation, platform-specific code/configuration generation, deployment meta-data, etc.

  4. Defining domain models (Metamodeling) M3 M2 M1 M0 switch (state) { case ‘A’: /* ... */ case ‘B’: /* ... */

  5. Generic Modeling Environment (GME) – A mature metamodeling tool • Developed at Institute for Software Integrated Systems (ISIS), Vanderbilt University • Under development since 1995 • Supports 4-layer metamodeling architecture • API support in C++, Java, Python • Different model storage formats: database, binary, XML • Classic paper: Composing Domain-Specific Design Environments, AkosLedeczi et al., IEEE Computer, Nov 2001

  6. GME Editor (M1) snapshot Tree view A graphical domain model of signal flow graphs Parts browser with custom icons

  7. Architecture of GME Object Constraint Language (OCL) Drag and drop Expand/Collapse Multi-view Event-driven API for model manipulation (R/W) (C++, Java, Python)

  8. Metamodeling Using GME • MetaGME: GME’s metamodeling language (M3) • MetaGME is meta-circular (can describe itself) • Very similar to UML class diagrams • Supports general modeling concepts such as • First class domain concepts (classes) • Textual, numerical, and enumerated attributes • Hierarchy (UML composition) • Connection (UML association) • Inheritance (interface/implementation inheritance) • Reference • Multi-aspect modeling (view-per-concern)

  9. Defining Domain Specific Modeling Languages (DSMLs) Using GME • DSMLs capture the domain formally • E.g., State machines, Component-based systems, Web page navigation modeling language • Only allows ”valid” sentences in the domain • Correct-by-construction • Every DSML has 3 parts • Abstract syntax (relationship of the domain concepts) • Concrete syntax (textual, graphical, tabular) • Semantics • Static semantics specified using metamodel cardinalities & OCL • Dynamic semantics implemented using translators

  10. A DSML Example: Component QoS Modeling Language (CQML) • Hierarchical structuring of component-based systems

  11. CQML QoS Modeling(2/2) • FailOverUnit • Annotate protected components and assemblies • Specify # of replicas • Network-level QoS • Annotate component connections • Specify priority of communication traffic • QoS provisioning using differentiated services • Work done with Telcordia in 2006! • Security QoS • Annotate component ports or connections • Controls role-based access control (RBAC) Policies

  12. A Prototype Structural SOA Modeling Language Using GME Metamodel

  13. Thank you!

More Related