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

Using the Vanderbilt Generic Modeling Environment (GME) to Address SOA QoS Sumant Tambe Graduate Intern, Applied Research, Telcordia Technologies Inc

  • View
    216

  • Download
    0

Embed Size (px)

Citation preview

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

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

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

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.

4 / 13

Defining domain models (Metamodeling)

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

M3

M2

M1

M0

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

6 / 13

GME Editor (M1) snapshot

Parts browser with custom icons

A graphical domain modelof signal flow graphs

Tree view

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)

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)

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

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

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

12 / 13

A Prototype Structural SOA Modeling Language Using GME

Metamodel

13 / 13

Thank you!