using the vanderbilt generic modeling environment (gme) to address soa qos sumant tambe graduate...
Post on 21-Dec-2015
216 views
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