Top Banner
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
13

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

Dec 21, 2015

Download

Documents

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Using the Vanderbilt Generic Modeling Environment (GME) to Address SOA QoS Sumant Tambe Graduate Intern, Applied Research, Telcordia Technologies Inc.

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 Sumant Tambe Graduate Intern, Applied Research, Telcordia Technologies Inc.

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 Sumant Tambe Graduate Intern, Applied Research, Telcordia Technologies Inc.

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 Sumant Tambe Graduate Intern, Applied Research, Telcordia Technologies Inc.

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 Sumant Tambe Graduate Intern, Applied Research, Telcordia Technologies Inc.

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 Sumant Tambe Graduate Intern, Applied Research, Telcordia Technologies Inc.

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 Sumant Tambe Graduate Intern, Applied Research, Telcordia Technologies Inc.

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 Sumant Tambe Graduate Intern, Applied Research, Telcordia Technologies Inc.

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 Sumant Tambe Graduate Intern, Applied Research, Telcordia Technologies Inc.

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 Sumant Tambe Graduate Intern, Applied Research, Telcordia Technologies Inc.

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 Sumant Tambe Graduate Intern, Applied Research, Telcordia Technologies Inc.

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 Sumant Tambe Graduate Intern, Applied Research, Telcordia Technologies Inc.

12 / 13

A Prototype Structural SOA Modeling Language Using GME

Metamodel

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

13 / 13

Thank you!