A Model Transformation Approach to Automated Model Construction and Evolution Yuehua Lin Jeff Gray Department of.

Slides:



Advertisements
Similar presentations
Model-Based Testing with Smartesting Jean-Pierre Schoch Sogetis Second Testing Academy 29 April 2009.
Advertisements

Comparison of Several Meta-modeling Tools 2 Yi Lu Computer Science Department McGill University
Ch:8 Design Concepts S.W Design should have following quality attribute: Functionality Usability Reliability Performance Supportability (extensibility,
Architecture Representation
Software Modeling SWE5441 Lecture 3 Eng. Mohammed Timraz
Presented by: Thabet Kacem Spring Outline Contributions Introduction Proposed Approach Related Work Reconception of ADLs XTEAM Tool Chain Discussion.
Francisco Hernandez, Purushotham Bangalore, Jeff Gray, and Kevin Reilly Department of Computer and Information Sciences University of Alabama at Birmingham.
Object-Oriented Analysis and Design
Introduction To System Analysis and Design
Software Testing and Quality Assurance
Automated Analysis and Code Generation for Domain-Specific Models George Edwards Center for Systems and Software Engineering University of Southern California.
A Model-Driven Framework for Architectural Evaluation of Mobile Software Systems George Edwards Dr. Nenad Medvidovic Center.
UML CASE Tool. ABSTRACT Domain analysis enables identifying families of applications and capturing their terminology in order to assist and guide system.
1 FM Overview of Adaptation. 2 FM RAPIDware: Component-Based Design of Adaptive and Dependable Middleware Project Investigators: Philip McKinley, Kurt.
Mining Metamodels From Instance Models: The MARS System Faizan Javed Department of Computer & Information Sciences, University of Alabama at Birmingham.
Department of Computer Science 1 CSS 496 Business Process Re-engineering for BS(CS)
CASE Tools And Their Effect On Software Quality Peter Geddis – pxg07u.
Spectra Software Defined Radio Products Applying Model Driven Design, Generative Programming, and Agile Software Techniques to the SDR Domain OOPSLA '05.
GReAT: Graph Rewriting And Transformation Presenter: Yuehua Lin 2/17/04, Tuesday Slides help from Aditya Agrawal
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.
Systems Analysis – Analyzing Requirements.  Analyzing requirement stage identifies user information needs and new systems requirements  IS dev team.
Chapter 6 System Engineering - Computer-based system - System engineering process - “Business process” engineering - Product engineering (Source: Pressman,
Chapter 2 The process Process, Methods, and Tools
Levels of Independence in Aspect-Oriented Modeling Workshop on Model-driven Approaches to Middleware Applications Development June 17, 2003 Jeff Gray,
A Generative and Model Driven Framework for Automated Software Product Generation Wei Zhao Advisor: Dr. Barrett Bryant Computer and Information Sciences.
Robert Tairas, Marjan Mernik, Jeff Gray Using Ontologies in the Domain Analysis of Domain-Specific Languages Workshop on Transformation and Weaving Ontologies.
Yu SunUniversity of Alabama at Birmingham PAR Works Jeff Gray University of Alabama Montpellier, France July 3rd, 2013 This research is supported.
Chapter 1 Introduction Dr. Frank Lee. 1.1 Why Study Compiler? To write more efficient code in a high-level language To provide solid foundation in parsing.
Change Impact Analysis for AspectJ Programs Sai Zhang, Zhongxian Gu, Yu Lin and Jianjun Zhao Shanghai Jiao Tong University.
Generating a Generator Jeff Gray University of Alabama at Birmingham Department of Computer and Information Sciences gray (at) cis.uab.edu
Institute for Software Integrated Systems Vanderbilt University Constraint-Based Embedded Program Composition Institute for Software Integrated Systems.
A Domain-Specific Modeling Language for Scientific Data Composition and Interoperability Hyun ChoUniversity of Alabama at Birmingham Jeff GrayUniversity.
SOFTWARE DESIGN.
Model-Driven Analysis Frameworks for Embedded Systems George Edwards USC Center for Systems and Software Engineering
Replicators: Transformations to Address Model Scalability Jeff Gray, Yuehua Lin, Jing Zhang, Steve Nordstrom, Aniruddha Gokhale, Sandeep Neema, and Swapna.
Verification and Validation in the Context of Domain-Specific Modelling Janne Merilinna.
Systems Analysis and Design in a Changing World, 3rd Edition
1 Introduction to Software Engineering Lecture 1.
CoSMIC: Tool-suite for Weaving Deployment & Configuration Crosscutting Concerns of CCM-based DRE Systems Dr. Aniruddha Gokhale (PI) Institute for Software.
Object-Oriented Software Engineering using Java, Patterns &UML. Presented by: E.S. Mbokane Department of System Development Faculty of ICT Tshwane University.
Shravana Kumar Musunuri, Jimmy Mathews Advisors: Dr. Joseph Picone Dr. David Gao Powertrain Design Tools Project The GENERIC MODELING ENVIRONMENT (GME)
1. 2 Preface In the time since the 1986 edition of this book, the world of compiler design has changed significantly 3.
Generative Approaches for Application Tailoring of Mobile Devices Victoria M. Davis, Dr. Jeff Gray (UAB) and Dr. Joel Jones (UA) Portions of this research.
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.
A Self-Configuring Test Harness for Web Applications Jairo Pava School of Computing and Information Sciences Florida International University Courtney.
Devon M. Simmonds SERP’08, July-14-17, Las Vegas 1 Aspect-oriented Approaches to Model Driven Engineering Devon M. Simmonds Computer Science Department.
1 Technical & Business Writing (ENG-715) Muhammad Bilal Bashir UIIT, Rawalpindi.
Chapter 5 System Modeling. What is System modeling? System modeling is the process of developing abstract models of a system, with each model presenting.
Concepts and Realization of a Diagram Editor Generator Based on Hypergraph Transformation Author: Mark Minas Presenter: Song Gu.
Towards A QoS Modeling and Modularization Framework for Component-based Systems Sumant Tambe* Akshay Dabholkar Aniruddha Gokhale Amogh Kavimandan (Presenter)
Fault-tolerance for Component-based Systems – An Automated Middleware Specialization Approach Sumant Tambe* Akshay Dabholkar Aniruddha Gokhale Abhishek.
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.
George Edwards Computer Science Department Center for Systems and Software Engineering University of Southern California
WELCOME TO OUR PRESENTATION UNIFIED MODELING LANGUAGE (UML)
Aspect-oriented Code Generation Approaches Abid Mehmood & Dayang N. A. Jawawi Department of Software Engineering Faculty of Computer Science and Information.
Chapter 9 Architectural Design. Why Architecture? The architecture is not the operational software. Rather, it is a representation that enables a software.
Advanced Computer Systems
Sumant Tambe* Akshay Dabholkar Aniruddha Gokhale
Object-Oriented Software Engineering Using UML, Patterns, and Java,
A Graphical Modeling Environment for the
Model-Driven Analysis Frameworks for Embedded Systems
Model Comparison: A Key Challenge for Transformation Testing and Version Control in Model Driven Software Development Yuehua Lin, Jing Zhang, Jeff Gray.
Automated Analysis and Code Generation for Domain-Specific Models
Graphical Modeling of INFOD applications
Software Architecture & Design
Presentation transcript:

A Model Transformation Approach to Automated Model Construction and Evolution Yuehua Lin Jeff Gray Department of Computer and Information Sciences, University of Alabama at Birmingham, Birmingham, AL The primary contribution of this research is an investigation into automated model transformation that considers additional issues of testing and debugging to assist in determining the correctness of model construction and evolution. The future work to be performed for this research will focus on deeper investigation into the testing and debugging issues for C-SAW transformations. The focus will be on the fundamental issues for testing, such as model comparison and visualization, as applied to transformation specifications. Initial results have been published in [5].  Domain-Specific Modeling (DSM) address the complexity of software development by raising the specification of software to visual models at a higher-level of abstraction.  MetaModel describes the entities and their relationships in an application domain.  Models are instances of a metamodel to visually represent software at a higher-level of abstraction.  Model Transformation is a process that creates or modifies the target software artifacts (e.g. models, codes) from the source models.  Generic Modeling Environment (GME) is a modeling tool that allows one to define a domain-specific visual modeling language. Objectives  Provide a high-level model transformation language to perform specific tasks of model construction and evolution (e.g., model scalability) with aspect-oriented capabilities in specifying crosscutting modeling concerns.  A core model transformation engine has been developed to automate such tasks, with support for testing and debugging of model transformation specifications.  Address the fundamental issues of model comparison and visualization of model differences that are important to model transformation testing and debugging. The fundamental task of model construction and evolution for large scale software systems faces these challenges:  A large complex system can have thousands of coarse grained component models such that manually constructing or maintaining such models can be time consuming and prone to errors;  Many modeling toolsuites provide APIs at the source code level to manipulate models directly; but such an API approach requires model developers to learn and use low-level tools to program their tasks of transforming high-level models;  It is difficult to capture and specify concerns during model construction and evolution which usually crosscut a model hierarchy;  Few modeling toolsuites provide testing and debugging facilities at an appropriate abstraction level to ensure the accuracy of model transformations for model evolution. C-SAW: The Transformation Engine  It is implemented as a GME plug-in component, with a parser and an interpreter for ECL:  The parser generates an abstract syntax tree (AST) of the ECL specification.  The interpreter traverses this generated AST from top to bottom, and interprets it to perform a transformation by using modeling APIs provided by GME.  To perform a transformation, one input to C-SAW are source models, another input is the transformation tasks specified in ECL. These specifications are executed by C- SAW to weave changes into source models and generate the target models. A testing engine performs all the tests for testing a specification, which has three components:  Executor executes the to-be-tested specification on the input model to generate the output mode.  Comparator compares the output model (i.e., the actual result) to the expected model (i.e. the expected result) and collects the results of comparison. A test passes if there is no differences between the output and the expected models; otherwise, the test fails.  Test analyzer visualizes the model differences to assist in comprehending the testing results. References 1.Alanen, M. and Porres, I., “Difference and Union of Models,” Proceedings of the UML Conference, Springer- Verlag LNCS 2863, San Francisco, California, October 2003, pp Gray, J., Bapty, T., Neema, S., and Tuck, J., “Handling Crosscutting Constraints in Domain-Specific Modeling,” Communications of the ACM, October 2001, pp Gray, J., Lin, Y., Zhang, J., Nordstrom, S., Gokhale, A., and Neema, S., “Replicators: Transformations to Address Model Scalability,” accepted - to appear in the proceedings of Model Driven Engineering Languages and Systems (MoDELS), Montego Bay, Jamaica, October Gray, J., Zhang, J., Lin, Y., Wu, H., Roychoudhury, S., Sudarsan, R., Neema, S., Shi, F., and Bapty, T., “Model-Driven Program Transformation of a Large Avionics Application,” Generative Programming and Component Engineering (GPCE 2004), Springer-Verlag LNCS 3286, Vancouver, BC, October 2004, pp Lin, Y., Zhang, J., and Gray, J., “A Framework for Testing Model Transformations,” Model-driven Software Development - Research and Practice in Software Engineering, accepted for publication in 2005, Springer- Verlag (Book Chapter). The Output Model The Expected Model Critical Issues  Model Comparison Algorithms: determine whether the two models are syntactically equivalent by comparing all the elements and their properties within these models.  Visualization of model differences: use graphical symbols and colors to indicate all possible kinds of model differences (e.g., a missing element, or an element that has different values for some properties). * Experimental results  helped to evolve a mission computing avionics application provided by Boeing through model transformations;  used in addressing the important issue of model scalability;  supported evolution of system models to propagate constraints into models. Model Transformation Testing Engine Model Transformation Engine Model Transformation Debugger The Generic Modeling Environment (GME) Overview of the C-SAW project 1. Background 2. Problem Definition 3. Overview of Research Goals 4. Model Transformation Engine: C-SAW 5. Model Transformation Testing and Debugging 6. Experimental Results and Case Study 7. Conclusion and Future Work Three main components as GME plug-ins:  Model Transformation Engine is for executing model specifications;  Testing engine is for detecting errors in the transformation specification;  Debugger is for isolating errors in the transformation specifications. Benefits of ECL  The accidental complexities of using the low- level details of the API are abstracted away in the ECL to provide a more intuitive representation for specifying model transformations.  It provides an aspect-oriented capability to specify crosscutting concerns that are typical in model adaptation and evolution Model Scalability This example shows the capability of C-SAW to scale up a system configuration model by increasing its region and associated router from 1 to 9 and building the necessary connections. The Example of Model Differences  Missing connection (in red circle)  An extra atom (in blue rectangle)  Different attribute value (in green highlight) ECL transformation specification to scale up a model strategy scaleUpRegion(reg_name : string; max : integer) { rootFolder().findFolder("System").findModel("System").addRegion(reg_name,max,1); } strategy addRegion(region_name, max, idx : integer) //recursively add regions { 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); //add connections to the new region; out_port := findModel("TheSource").findAtom("eventData"); region_in_port := new_region.findAtom("fromITCH"); addConnection("Interaction", out_port, region_in_port); //add a new router and connect it to the new region router := findAtom("Router"); new_router := copyAtom(router, "Router"); addConnection("Router2Component", new_router, new_region); addRegion(region_name, max, idx+1); endif; } A debugger isolates the cause of a transformation error with the ability to step through individual lines of the transformation specification. The Embedded Constraint Language (ECL)  ECL is a high-level transformation language supporting an imperative transformation style.  It provides numerous feature operations that support model navigation, selection and modification such as select(), models(), atoms(), connections(), findAtom(), findModel(), addModel(), addAtom(), addConnection(), removeModel(), removeAtom(), setAttribute().  It has aspect-oriented capabilities by specifying model transformation in two kinds of modular units:  Aspect specifies a crosscutting concern (e.g., a group of model elements crossing a model hierarchy).  Strategy specifies elements of computation (e.g., transformation behaviors) which will be bound to specific model elements defined by an aspect. / Source ModelTarget Model Scale Up