24
Replicators: Transformations to Address Model Scalability Jeff Gray, Yuehua Lin, Jing Zhang, Steve Nordstrom, Aniruddha Gokhale, Sandeep Neema, and Swapna Gokhale CIS Dept. – UAB, ISIS - Vanderbilt University, CS Dept. – U. Conn. Funded in part by DARPA-PCES and the NSF CSR-SMA.

Replicators: Transformations to Address Model Scalability

  • Upload
    hao

  • View
    36

  • Download
    0

Embed Size (px)

DESCRIPTION

Funded in part by DARPA-PCES and the NSF CSR-SMA. Replicators: Transformations to Address Model Scalability. Jeff Gray, Yuehua Lin, Jing Zhang , Steve Nordstrom, Aniruddha Gokhale, Sandeep Neema , and Swapna Gokhale. - PowerPoint PPT Presentation

Citation preview

Page 1: Replicators:      Transformations to Address     Model Scalability

Replicators: Transformations to Address Model Scalability

Jeff Gray, Yuehua Lin, Jing Zhang, Steve Nordstrom, Aniruddha Gokhale, Sandeep Neema, and Swapna Gokhale

CIS Dept. – UAB, ISIS - Vanderbilt University, CS Dept. – U. Conn.

Funded in part by DARPA-PCES and the NSF CSR-SMA.

Page 2: Replicators:      Transformations to Address     Model Scalability

Overview of Presentation

Criteria for Scalability

Background andChallenges

ExampleReplicators

Automated Approaches forScaling Models

mic.omg.org

Case Studies

AlternativeApproaches

Desiderata forModel Replication

Page 3: Replicators:      Transformations to Address     Model Scalability

ModelInterpretation

Model Interpreters

Models

Modeling Environment

ApplicationDomain

App1

App2

App3

Application Evolution

Environment Evolution

MetamodelingInterface

Metamodel Definition

Meta-LevelTranslation

Model Builder

Background: Model Integrated Computing (MIC)M

etamodel

Model

Interpreter

void CComponent::InvokeEx(CBuilder &builder,CBuilderObject *focus, CBuilderObjectList &selected, long param) {CString DMSRoot = "";DMSRoot = SelectFolder("Please Select DMSRoot Folder:");if (DMSRoot != "") {DMSRulePath = DMSRoot + RULESPATH + "Rules\\";MSRuleApplierPath = DMSRoot + RULESPATH + "RuleApplier\\";AfxMessageBox("DMSRulePath = " + DMSRulePath , MB_OK);CString OEPRoot = "";OEPRoot = SelectFolder("Please Selec

DEFINE

INTERPRET

The Generic Modeling Environment (GME) adopts the MIC approach and provides a plug-in mechanism for extension.

Page 4: Replicators:      Transformations to Address     Model Scalability

Example DSMLs (not UML)

Page 5: Replicators:      Transformations to Address     Model Scalability

Ability to evolve models The size of system models will continue to grow

We have created models containing several thousand modeling elements

Others have reported similarly (Johann/Egyed – ASE 2004) A key benefit of modeling

Ability to explore various design alternatives (i.e., “knobs”) E.g., understanding tradeoff between battery consumption

and memory size of an embedded device E.g., scaling a model to 800 nodes to examine performance

implications; reduce to 500 nodes with same analysis… Reducing complexities of the modeling activity

Limit the amount of mouse clicking and typing required within a modeling tool to describe a change Improves productivity and reduces potential manual errors

A general metric for determining the effectiveness of a modeling toolsuite comprises the degree of effort required to make a correct change to a set of models.

Page 6: Replicators:      Transformations to Address     Model Scalability

Multiple Levels

of HierarchyReplicatedStructures

ContextSensitive

Previous Challenge: Crosscutting Constraints in Real-Time/Embedded Models

Crosscutting in Models Base models become constrained to capture a particular design Concerns that are related to some global property are dispersed across

the model

A

B

c d eB

c d e

F

B

c d e

Changeability???

Crosscutting Constraints

Solution first presented in Comm. ACM 2001 (AOP Issue) and AOSD book chapter

Page 7: Replicators:      Transformations to Address     Model Scalability

Implemented as a GME plug-in to assist in the rapid adaptation and evolution of models by weaving crosscutting changes into models.

C-SAW: Model Transformation Engine

ECL Interpreter

ECL Parser

Defines

MetaModel

Source Model

Mo

de

ling

AP

Is

Defines

ECL Transformation Specifications

Defines CopyAtom strategy CopyAtom

Mo

de

ling

AP

IsAspect

Weaving

Target Model

Page 8: Replicators:      Transformations to Address     Model Scalability

New Challenge: Replicating a Base Model to Address Scalability Issues

Model Scalability Base models must be replicated to explore alternative designs Model elements need to be replicated, in addition to all

required connections

Single UAV Model Three UAV Model

Page 9: Replicators:      Transformations to Address     Model Scalability

Contribution and definition

Core contribution:

This paper makes a contribution to model scalability by describing a model transformation approach that enables automated replication to assist in rapidly evolving a model.

Definition:

replicator – a model transformation that expands the number of elements from a base model and makes the correct connections among those elements

Page 10: Replicators:      Transformations to Address     Model Scalability

Key Characteristics for a Replication Approach (C1) Retains the benefits of modeling (obvious!?)

Enabling analyses that are too difficult at the implementation level

Navigating through design alternatives

Set of design alternatives

Analysis tools: Cadena, Vest, Matlab RTE…

Page 11: Replicators:      Transformations to Address     Model Scalability

Key Characteristics for a Replication Approach (C2) General across multiple languages

Not fixed to one specific DSML

T2

T1

T3

ReplicationApproach

Page 12: Replicators:      Transformations to Address     Model Scalability

Key Characteristics for a Replication Approach (C3)

Flexible to support user extension of the replication parameters

ReplicationApproach

c(p) c(p)

Page 13: Replicators:      Transformations to Address     Model Scalability

Approach 1: Intermediate stage of model compilation Observations

The result of replication not within the direct purview of modeler Violates C1!

Each translator is specific to a particular DSML Violates C2

Scalability rules often hardcoded into translator Violates C3

Page 14: Replicators:      Transformations to Address     Model Scalability

Approach 2:Domain-specific Replication Plug-in

Observations The result of replication

available for further refinement and analysis C1 achieved

Each plug-in is specific to a particular DSML Violates C2

Plug-in may provide several knobs to configure a replication strategy; usually not a “language” but a wizard with checkboxes Weak C3

Plug-in

Page 15: Replicators:      Transformations to Address     Model Scalability

Approach 3:Replication with a model transformation engine

• A scaled model may be the source model for further refinement• Model compiler could be a code generator, or interface to analysis tools• Preserves all three of the desired properties

Page 16: Replicators:      Transformations to Address     Model Scalability

Example applications Event QoS Aspect Language

Specify properties of event-based communication within a DRE (e.g., mission-computing avionics)

System Integration Modeling Language Specify properties of high-performance physics

experiments

UAV QoS Language (not described here) Specify properties of video QoS in an Unmanned

Aerial Vehicle

Future: A language to address performance issues among distributed systems using network patterns

Page 17: Replicators:      Transformations to Address     Model Scalability

Event QoS Aspect Language (EQAL) Assists in specification of publish-subscriber event

service configuration for large-scale DRE systems Publishers generate events to be transmitted Subscribers receive events via hook operations Event channels accept events from publishers, and deliver

events to subscribers Replication requirements

Add 5 CORBA_Gateways to each original site Repeatedly replicate one site instance to add 5 more extra

sites, each with 5 additional CORBA_Gateways Create all required connections among replicated models

Page 18: Replicators:      Transformations to Address     Model Scalability

Scaling the Event QoS Aspect Languagestrategy traverseSites(n, i, m, j : integer){

declare id_str : string;

if (i <= n) thenid_str := intToString(i);rootFolder().findModel("NewGateway_Federation").findModel("Site " + id_str).addGateWay_r(m, j);traverseSites(n, i+1, m, j);

endif;}

//recursively add CORBA_Gateways to each existing sitestrategy addGateWay_r(m, j: integer){

if (j<=m) thenaddGateWay(j); addGateWay_r(m, j+1);

endif;}

//add one CORBA_Gateway and connect it to Event_Channelstrategy addGateWay(j: integer){

declare id_str : string; declare ec, site_gw : object;

id_str := intToString(j);addAtom("CORBA_Gateway", "CORBA_Gateway" + id_str); //create one CORBA_Gateway ec := findModel("Event_Channel"); site_gw := findAtom("CORBA_Gateway" + id_str);addConnection("LocalGateway_EC", site_gw, ec);

}

Page 19: Replicators:      Transformations to Address     Model Scalability

System Integration Modeling Language (SIML) Assists in specification of configuration of large-scale fault

tolerant data processing systems Used to model several thousand processing nodes for high-

performance physics applications at Fermi Accelerator Lab A system model may be composed of independent regions Each region may be composed of local process groups Each local process group may contain primitive application

models Each system, region, and local process group must have a

manager that is responsible for mitigating failures in its area Replication requirements

Replication of local process group nodes Replication of entire region models and their contents Generation of communication connections between regional

managers and newly created local managers Generation of additional communication connections between the

system manager and new regional manager processes

Page 20: Replicators:      Transformations to Address     Model Scalability

Scaling the System Integration Modeling Language

aspect Start() {scaleUpNode("L2L3Node", 5); scaleUpRegion("Region", 8);

}strategy scaleUpNode(node_name : string; max : integer) {

rootFolder().findFolder("System").findModel("Region").addNode(node_name,max,1);}strategy addNode(node_name, max, idx : integer) {

declare node, new_node, input_port, node_input_port : object; if (idx<=max) then

node := rootFolder().findFolder("System").findModel(node_name);new_node := addInstance("Component", node_name, node);input_port := findAtom("fromITCH"); node_input_port := new_node.findAtom("fromITCH");addConnection("Interaction", input_port, node_input_port);addNode(node_name, max, idx+1);

endif;}strategy scaleUpRegion(reg_name : string; max : integer) {

rootFolder().findFolder("System").findModel("System").addRegion(reg_name,max,1);}strategy addRegion(region_name, max, idx : integer) {

declare region, new_region, out_port, region_in_port, router, new_router : object; if (idx<=max) then

region := rootFolder().findFolder("System").findModel(region_name);new_region := addInstance("Component", region_name, region);out_port := findModel("TheSource").findAtom("eventData");region_in_port := new_region.findAtom("fromITCH");addConnection("Interaction", out_port, region_in_port); router := findAtom("Router"); new_router := copyAtom(router, "Router");addConnection("Router2Component", new_router, new_region);addRegion(region_name, max, idx+1);

endif;}

Page 21: Replicators:      Transformations to Address     Model Scalability

Discussion

Physical limits of manual replication SIML models have been scaled by-hand to 32

and 64 nodes After 64 nodes, the manual process deteriorated

taking several days with multiple errors Benefits of automated replication

Replication is parameterized and can be evolved rapidly

Using a model transformation, SIML models have been scaled up to 2500 nodes

The time to create the model transformation by a user unfamiliar with the domain: < 1.5 hours

Page 22: Replicators:      Transformations to Address     Model Scalability

Conclusion Related work

Much related work in model transformation and supporting tools We believe the general idea is applicable to other MT tools

Not able to locate any literature on the general scalability issue as it applies to automated transformation (any ideas?)

Future work Transformations may be reused often and influence the

correctness of the modeling process Improved capabilities to test and debug within C-SAW are currently

under investigation Layer a DSML on top of a performance analysis solver; DSML will

abstract various networking design patterns (e.g., reactor pattern); base models will be scaled using replicators to explore performance implications

Page 23: Replicators:      Transformations to Address     Model Scalability

Conclusion Benefits of replicators as model transformations

Domain independence Initial evidence that productivity (in terms of design

exploration) is improved, as well as correctness of the resulting model

Primary limitation of automated approach Without the addition of screen layout information in the

model transformation, the resulting view may be cluttered or unreadable

Page 24: Replicators:      Transformations to Address     Model Scalability

For More Information…

http://www.cis.uab.edu/Research/C-SAW/Contains papers, downloads, video demos

Replicators and Two-Level Aspect Weaving

http://www.isis.vanderbilt.edu/Projects/gmeGeneric Modeling Environment