Replicators: Transformations to Address Model Scalability Jeff Gray, Yuehua Lin, Jing Zhang, Steve Nordstrom, Aniruddha Gokhale, Sandeep Neema, and Swapna.

Slides:



Advertisements
Similar presentations
Ch:8 Design Concepts S.W Design should have following quality attribute: Functionality Usability Reliability Performance Supportability (extensibility,
Advertisements

Technology Drivers Traditional HPC application drivers – OS noise, resource monitoring and management, memory footprint – Complexity of resources to be.
Kellan Hilscher. Definition Different perspectives on the components, behavioral specifications, and interactions that make up a software system Importance.
Object-Oriented Software Development CS 3331 Fall 2009.
Using the Crosscutting Concepts As conceptual tools when meeting an unfamiliar problem or phenomenon.
Presented by: Thabet Kacem Spring Outline Contributions Introduction Proposed Approach Related Work Reconception of ADLs XTEAM Tool Chain Discussion.
This research is supported by NSF CAREER award CCF A Demonstration-based Approach to Support Live Transformations in a Model Editor Yu SunUniversity.
Automated Analysis and Code Generation for Domain-Specific Models George Edwards Center for Systems and Software Engineering University of Southern California.
Domain-Specific Software Engineering (DSSE). Software Engineering Concerns  There are many of them  “Classical” software architecture research has focused.
A Model-Driven Framework for Architectural Evaluation of Mobile Software Systems George Edwards Dr. Nenad Medvidovic Center.
Creating Architectural Descriptions. Outline Standardizing architectural descriptions: The IEEE has published, “Recommended Practice for Architectural.
1 FM Overview of Adaptation. 2 FM RAPIDware: Component-Based Design of Adaptive and Dependable Middleware Project Investigators: Philip McKinley, Kurt.
Generative Programming. Generic vs Generative Generic Programming focuses on representing families of domain concepts Generic Programming focuses on representing.
Mining Metamodels From Instance Models: The MARS System Faizan Javed Department of Computer & Information Sciences, University of Alabama at Birmingham.
Course Instructor: Aisha Azeem
1 An introduction to design patterns Based on material produced by John Vlissides and Douglas C. Schmidt.
Spectra Software Defined Radio Products Applying Model Driven Design, Generative Programming, and Agile Software Techniques to the SDR Domain OOPSLA '05.
Chapter : Software Process
Chapter 7 Requirement Modeling : Flow, Behaviour, Patterns And WebApps.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 18 Slide 1 Software Reuse.
Software Engineering Muhammad Fahad Khan
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 18 Slide 1 Software Reuse.
1 Legacy System Evolution through Model-Driven Program Transformation Funded by the DARPA Information Exploitation Office (DARPA/IXO), under the Program.
Aurora: A Conceptual Model for Web-content Adaptation to Support the Universal Accessibility of Web-based Services Anita W. Huang, Neel Sundaresan Presented.
Levels of Independence in Aspect-Oriented Modeling Workshop on Model-driven Approaches to Middleware Applications Development June 17, 2003 Jeff Gray,
Yu SunUniversity of Alabama at Birmingham PAR Works Jeff Gray University of Alabama Montpellier, France July 3rd, 2013 This research is supported.
Model-Driven Program Transformation of a Large Avionics Application Jeff Gray, Jing Zhang, Yuehua Lin, Suman Roychoudhury, Hui Wu, Rajesh Sudarsan, Aniruddha.
An Introduction to Software Architecture
POSAML: A Visual Language for Middleware Provisioning Dimple Kaul, Arundhati Kogekar, Aniruddha Gokhale ISIS, Dept.
Cluster Reliability Project ISIS Vanderbilt University.
Assessing the Suitability of UML for Modeling Software Architectures Nenad Medvidovic Computer Science Department University of Southern California Los.
Key Challenges for Modeling Language Creation by Demonstration Hyun Cho, Jeff Gray Department of Computer Science University of Alabama Jules White Bradley.
What is “model transformation”? Distinction between source and target Source may be same as target May be multiple sources, or targets Reaching a fixed.
A Semantic Framework for DSLs Zekai Demirezen Advisor: Dr. Jeff Gray Doctoral Symposium OOPSLA 2009 Software Composition and Modeling Lab This work funded.
Generating a Generator Jeff Gray University of Alabama at Birmingham Department of Computer and Information Sciences gray (at) cis.uab.edu
Composing Adaptive Software Authors Philip K. McKinley, Seyed Masoud Sadjadi, Eric P. Kasten, Betty H.C. Cheng Presented by Ana Rodriguez June 21, 2006.
Model-Driven Analysis Frameworks for Embedded Systems George Edwards USC Center for Systems and Software Engineering
R R R 1 Frameworks III Practical Issues. R R R 2 How to use Application Frameworks Application developed with Framework has 3 parts: –framework –concrete.
4.2.1 Programming Models Technology drivers – Node count, scale of parallelism within the node – Heterogeneity – Complex memory hierarchies – Failure rates.
Model-Driven Engineering for Development-Time QoS Validation of Component-based Software Systems James Hill, Sumant Tambe & Aniruddha Gokhale Vanderbilt.
Generative Programming. Automated Assembly Lines.
© 2012 xtUML.org Bill Chown – Mentor Graphics Model Driven Engineering.
Advanced Computer Networks Topic 2: Characterization of Distributed Systems.
Illustrations and Answers for TDT4252 exam, June
Semantic Foundations for Model-Integrated Computing A panel at the First OMG MIC Workshop Arlington, VA October 14, 2004 Jeff Gray, University of Alabama.
MD – Object Model Domain eSales Checker Presentation Régis Elling 26 th October 2005.
Dr. Douglas C. Schmidt, Dr. Aniruddha S. Gokhale, Bala Natarajan, Jeff Parsons, Tao Lu, Boris Kolpackov, Krishnakumar Balasubramanian, Arvind Krishna,
This research is supported by NSF CAREER award CCF A WYSISYG Approach forConfiguring Model Layout using Model Transformations Yu SunUniversity.
Investigating Survivability Strategies for Ultra-Large Scale (ULS) Systems Vanderbilt University Nashville, Tennessee Institute for Software Integrated.
CoSMIC: Tool-suite for Weaving Deployment & Configuration Crosscutting Concerns of CCM-based DRE Systems Dr. Aniruddha Gokhale (PI) Institute for Software.
Toward a Semantic Anchoring Infrastructure for Domain-Specific Modeling Languages Kai Chen Janos Sztipanovits Sandeep Neema Matthew Emerson Sherif Abdelwahed.
A Generative Approach to Model Interpreter Evolution Jing Zhang, Jeff Gray, and Yuehua Lin {zhangj, gray, cis.uab.edu Dept. of Computer & Information.
Resolving QoS Policy Configuration Challenges for Publish/Subscribe Middleware Platforms AFRL JBI PI Meeting.
Weaving a Debugging Aspect into Domain-Specific Language Grammars SAC ’05 PSC Track Santa Fe, New Mexico USA March 17, 2005 Hui Wu, Jeff Gray, Marjan Mernik,
1 Model-based Aspect Weaver Construction Suman Roychoudhury Frédéric Jouault Jeff Gray {roychous, jouault, cis.uab.edu This project is supported.
Aniruddha Gokhale and Jeff Gray Institute for Software Integrated Systems (ISIS) Vanderbilt University Software Composition and Modeling Laboratory University.
Winter 2011SEG Chapter 11 Chapter 1 (Part 1) Review from previous courses Subject 1: The Software Development Process.
Automating Software Evolution through Model-Driven Engineering Troy University 8 th Annual Computer Science Colloquium on Information Technology April.
Model Transformations Require Formal Semantics Yu Sun 1, Zekai Demirezen 1, Tomaz Lukman 2, Marjan Mernik 3, Jeff Gray 1 1 Department of Computer and Information.
POSAML: A Visual Language for Middleware Provisioning Dimple Kaul, Arundhati Kogekar, Aniruddha Gokhale ISIS, Dept.
Model Transformation for End-Users
A Model Transformation Approach to Automated Model Construction and Evolution Yuehua Lin Jeff Gray Department of.
Towards A QoS Modeling and Modularization Framework for Component-based Systems Sumant Tambe* Akshay Dabholkar Aniruddha Gokhale Amogh Kavimandan (Presenter)
Model Transformation By Demonstration Yu Sun, Jules White, Jeff Gray This work funded in part by NSF CAREER award CCF CIS Dept. – University of.
AUTOMATIC GENERATION OF MODEL TRAVERSALS FROM METAMODEL DEFINITIONS Authors: Tomaž Lukman, Marjan Mernik, Zekai Demirezen, Barrett Bryant, Jeff Gray ACM.
Sumant Tambe* Akshay Dabholkar Aniruddha Gokhale
Model-Driven Analysis Frameworks for Embedded Systems
The Extensible Tool-chain for Evaluation of Architectural Models
Applying Domain-Specific Modeling Languages to Develop DRE Systems
An Introduction to Software Architecture
Presentation transcript:

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.

Overview of Presentation Criteria for Scalability Background and Challenges Example Replicators Automated Approaches for Scaling Models mic.omg.org Case Studies Alternative Approaches Desiderata for Model Replication

Model Interpretation Model Interpreters Models Modeling Environment Application Domain App 1 App 2 App 3 Application Evolution Environment Evolution Metamodeling Interface Metamodel Definition Meta-Level Translation Model Builder Background: Model Integrated Computing (MIC) MetamodelMetamodel ModelModel InterpreterInterpreter void CComponent::InvokeEx(CBuilder &buil der,CBuilderObject *focus, CBui lderObjectList &selected, long param) { CString DMSRoot = ""; DMSRoot = SelectFolder("Please Select DMS Root 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.

Example DSMLs (not UML)

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.

Multiple Levels of Hierarchy Replicated Structures Context Sensitive 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 cde B cde F B cde Changeability??? Crosscutting Constraints Solution first presented in Comm. ACM 2001 (AOP Issue) and AOSD book chapter

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 M o d e l i n g A P I s Defines ECL Transformation Specifications Defines CopyAtom strategy CopyAtom M o d e l i n g A P I s Aspect Weaving Target Model

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

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

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…

Key Characteristics for a Replication Approach (C2) General across multiple languages  Not fixed to one specific DSML T2 T1 T3 Replication Approach

Key Characteristics for a Replication Approach (C3) Flexible to support user extension of the replication parameters Replication Approach c(p)

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

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

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

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

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

Scaling the Event QoS Aspect Language strategy traverseSites(n, i, m, j : integer) { declare id_str : string; if (i <= n) then id_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 site strategy addGateWay_r(m, j: integer) { if (j<=m) then addGateWay(j); addGateWay_r(m, j+1); endif; } //add one CORBA_Gateway and connect it to Event_Channel strategy 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); }

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

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; }

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

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

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

For More Information… Contains papers, downloads, video demos Replicators and Two-Level Aspect Weaving Generic Modeling Environment