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

13
Using the Vanderbilt Generic Modeling Environment (GME) to Address SOA QoS Sumant Tambe Graduate Intern, Applied Research, Telcordia Technologies Inc. [email protected] June 17, 2009

description

Using the Vanderbilt Generic Modeling Environment (GME) to Address SOA QoS. Sumant Tambe Graduate Intern, Applied Research, Telcordia Technologies Inc. [email protected] June 17, 2009. Outline. Introduction to Model Integrated Computing (MIC) 4 layer meta-level architecture - PowerPoint PPT Presentation

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

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

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

Sumant TambeGraduate Intern, Applied Research, Telcordia Technologies Inc. [email protected] 17, 2009

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

2 / 13

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

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

3 / 13

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.

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

4 / 13

Defining domain models (Metamodeling)

switch (state) { case ‘A’: /* ... */ case ‘B’: /* ... */

M3

M2

M1

M0

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

5 / 13

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, Akos Ledeczi et al., IEEE Computer, Nov 2001

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

6 / 13

GME Editor (M1) snapshot

Parts browser with custom icons

A graphical domain modelof signal flow graphs

Tree view

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

7 / 13

Architecture of GME

Event-driven

Drag and drop

Expand/Collapse

Multi-view

Object Constraint Language (OCL)

API for model manipulation (R/W)(C++, Java, Python)

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

8 / 13

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)

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

9 / 13

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

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

10 / 13

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

Detector1

Detector2

Planner3 Planner1

Error Recovery

Effector1

Effector2

Config

LEGEND

Receptacle

Event Sink

Event Source

Facet

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

11 / 13

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

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

12 / 13

A Prototype Structural SOA Modeling Language Using GME

Metamodel

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

13 / 13

Thank you!