using the vanderbilt generic modeling environment (gme) to address soa qos sumant tambe graduate...

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

Post on 21-Dec-2015

216 views

Category:

Documents


0 download

TRANSCRIPT

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!