A REFACTORING TOOL FOR DESIGN PATTERNS WITH MODEL TRANSFORMATIONS Zekai Demirezen Yasemin Topaloğlu Ege University Department of Computer Engineering

Slides:



Advertisements
Similar presentations
Aligning Business and IT Models in Service-Oriented Architectures using BPMN and SoaML Brian Elvesæter, Dima Panfilenko, Sven Jacobi & Christian Hahn MDI2010.
Advertisements

From Model-based to Model-driven Design of User Interfaces.
Research topics Semantic Web - Spring 2007 Computer Engineering Department Sharif University of Technology.
IBM Business Consulting Services © Copyright IBM Corporation 2006 Unified Process March 27, 2006 Chris Armstrong.
Amit, Keyur, Sabhay and Saleh Model Driven Architecture in the Enterprise.
Semantic Web and Web Mining: Networking with Industry and Academia İsmail Hakkı Toroslu IST EVENT 2006.
Chapter 10: Analyzing Systems Using Data Dictionaries Instructor: Paul K Chen.
An Intelligent Broker Approach to Semantics-based Service Composition Yufeng Zhang National Lab. for Parallel and Distributed Processing Department of.
Ontologies Reasoning Components Agents Simulations An Overview of Model-Driven Engineering and Architecture Jacques Robin.
Adaptable Architecture for Meta- Programmable Modeling Tools Matt Emerson Advisor: Janos Sztipanovits The Core Layer The.
Automatic Data Ramon Lawrence University of Manitoba
IBM Software Group © 2005 IBM Corporation University of Nantes Eclipse dayMarch 2005 The Eclipse Modeling Framework and the IBM Model Transformation Framework.
HL7 UK 2003 (c) Abies Ltd Modelling Clinical Information Using UML Tim Benson Abies Ltd
CASE Tools And Their Effect On Software Quality Peter Geddis – pxg07u.
Deriving AO Software Architectures using the AO-ADL Tool Suite Luis Fernández, Lidia Fuentes, Mónica Pinto, Juan A. Valenzuela Universidad de Málaga
Spectra Software Defined Radio Products Applying Model Driven Design, Generative Programming, and Agile Software Techniques to the SDR Domain OOPSLA '05.
An Information Theory based Modeling of DSMLs Zekai Demirezen 1, Barrett Bryant 1, Murat M. Tanik 2 1 Department of Computer and Information Sciences,
CLARIN tools for workflows Overview. Objective of this document  Determine which are the responsibilities of the different components of CLARIN workflows.
Sumant Tambe, et. al LEESA DSPD 2008 An Embedded Declarative Language for Hierarchical Object Structure Traversal Sumant Tambe* Aniruddha Gokhale Vanderbilt.
An Approach and Tool for Synchronous Refactoring of UML Diagrams and Models Using Model-to-Model Transformations Hafsteinn Þór Einarsson Helmut Neukirchen.
Aurora: A Conceptual Model for Web-content Adaptation to Support the Universal Accessibility of Web-based Services Anita W. Huang, Neel Sundaresan Presented.
1 Yolanda Gil Information Sciences InstituteJanuary 10, 2010 Requirements for caBIG Infrastructure to Support Semantic Workflows Yolanda.
Model Transformations
Ontology Development Kenneth Baclawski Northeastern University Harvard Medical School.
Slide 1 Wolfram Höpken RMSIG Reference Model Special Interest Group Second RMSIG Workshop Methodology and Process Wolfram Höpken.
 Copyright 2005 Digital Enterprise Research Institute. All rights reserved. Towards Translating between XML and WSML based on mappings between.
Metadata Tools and Methods Chris Nelson Metanet Conference 2 April 2001.
Some Thoughts on HPC in Natural Language Engineering Steven Bird University of Melbourne & University of Pennsylvania.
Sumant Tambe, et. al LEESA DSPD 2008 An Embedded Declarative Language for Hierarchical Object Structure Traversal Sumant Tambe* Aniruddha Gokhale Vanderbilt.
Integrating Business Process Models with Ontologies Peter De Baer, Pieter De Leenheer, Gang Zhao, Robert Meersman {Peter.De.Baer, Pieter.De.Leenheer,
Introduction to MDA (Model Driven Architecture) CYT.
Alignment of ATL and QVT © 2006 ATLAS Nantes Alignment of ATL and QVT Ivan Kurtev ATLAS group, INRIA & University of Nantes, France
Baba Piprani (SICOM Canada) Robert Henkel (Transport Canada)
Formalizing the Asynchronous Evolution of Architecture Patterns Workshop on Self-Organizing Software Architectures (SOAR’09) September 14 th 2009 – Cambrige.
Programming in Java Unit 3. Learning outcome:  LO2:Be able to design Java solutions  LO3:Be able to implement Java solutions Assessment criteria: 
1 Model Compiler Construction Based on Aspect-oriented Mechanisms Naoyasu Ubayashi (Kyushu Institute of Technology) Tetsuo Tamai (University of Tokyo)
11 CORE Architecture Mauro Bruno, Monica Scannapieco, Carlo Vaccari, Giulia Vaste Antonino Virgillito, Diego Zardetto (Istat)
© 2008 by Andrew Webb, Interface Ecology Lab. meta-metadata: an extensible semantic architecture for multimedia metadata definition, extraction, and presentation.
A language to describe software texture in abstract design models and implementation.
Workshop on Software Product Archiving and Retrieving System Takeo KASUBUCHI Hiroshi IGAKI Hajimu IIDA Ken’ichi MATUMOTO Nara Institute of Science and.
Elizabeth Furtado, Vasco Furtado, Kênia Sousa, Jean Vanderdonckt, Quentin Limbourg KnowiXML: A Knowledge-Based System Generating Multiple Abstract User.
1 © 1999 Microsoft Corp.. Microsoft Repository Phil Bernstein Microsoft Corp.
Dr. Darius Silingas | No Magic, Inc. Domain-Specific Profiles for Your UML Tool Building DSL Environments with MagicDraw UML.
Presented by: Ashgan Fararooy Referenced Papers and Related Work on:
Automated Transformation of Statements Within Evolving Domain Specific Languages Peter Bell CEO/CTO, SystemsForge 7th OOPSLA Workshop on Domain-Specific.
Automata Based Method for Domain Specific Languages Definition Ulyana Tikhonova PhD student at St. Petersburg State Politechnical University, supervised.
ModelPedia Model Driven Engineering Graphical User Interfaces for Web 2.0 Sites Centro de Informática – CIn/UFPe ORCAS Group Eclipse GMF Fábio M. Pereira.
Sheet 1 DocEng’03, Grenoble, November 2003 Model Driven Architecture based XML Processing Ivan Kurtev, Klaas van den Berg University of Twente, the Netherlands.
11 CORE Architecture Mauro Bruno, Monica Scannapieco, Carlo Vaccari, Giulia Vaste Antonino Virgillito, Diego Zardetto (Istat)
The Unified Modeling Language (UML)
Chapter 11 Using SAS ® Web Report Studio. Section 11.1 Overview of SAS Web Report Studio.
Data Structures and Algorithms Dr. Tehseen Zia Assistant Professor Dept. Computer Science and IT University of Sargodha Lecture 1.
ModTransf A Simple Model to Model Transformation Engine Cédric Dumoulin.
SSQSA present and future Gordana Rakić, Zoran Budimac Department of Mathematics and Informatics Faculty of Sciences University of Novi Sad
® IBM Software Group A Metamodeling Approach to Pattern Specification Maged Elaasar 1,2, Dr. Lionel Briand 1, Dr. Yvan Labiche 1 1 Carleton University,
Yu, et al.’s “A Model-Driven Development Framework for Enterprise Web Services” In proceedings of the 10 th IEEE Intl Enterprise Distributed Object Computing.
Ontologies Reasoning Components Agents Simulations An Overview of Model-Driven Engineering and Architecture Jacques Robin.
A UML-Based Pattern Specification Technique Presented by Chin-Yi Tsai IEEE TRANSACTION ON SOFTWARE ENGINEERING, VOL. 30, NO. 3, MARCH 2004 Robert B. France,
Metadata Driven Aspect Specification Ricardo Ferreira, Ricardo Raminhos Uninova, Portugal Ana Moreira Universidade Nova de Lisboa, Portugal 7th International.
Sheet 1MDAFA2004 Linköping, June 2004 A Language for Model Transformations in the MOF Architecture Ivan Kurtev, Klaas van den Berg University of Twente,
The Role of Semantics and Terminologies in a Service-Oriented Architecture Paul Smits, Michael Lutz European Commission – DG Joint Research Centre Ispra,
MDD-Kurs / MDA Cortex Brainware Consulting & Training GmbH Copyright © 2007 Cortex Brainware GmbH Bild 1Ver.: 1.0 How does intelligent functionality implemented.
An OPM-Based Layered Architecture for Modeling Design Patterns
The Extensible Tool-chain for Evaluation of Architectural Models
Modelling Clinical Information Using UML
Towards Automatic Model Synchronization from Model Transformation
MDT UML2Tools 0.8 Mini-deck
OOPSLA Workshop on Domain-Specific Modeling Tools Workgroup
Model-Driven Development
Software Architecture & Design
Presentation transcript:

A REFACTORING TOOL FOR DESIGN PATTERNS WITH MODEL TRANSFORMATIONS Zekai Demirezen Yasemin Topaloğlu Ege University Department of Computer Engineering

2/23NWUML06, 12 June 2006 Agenda Background –Design Pattern: A Target for Refactoring –Pattern Specification and Metamodeling –Transformation MetaModels –XML Metadata Interchange Tool Architecture –Components of the tool –Transformations Case Study: Observer Design Pattern –Example MetaModels and Models –Screen Shots Conclusions

3/23NWUML06, 12 June 2006 OTHER INPUTS ???? Design Pattern: A Target for Refactoring Design Model with design patterns

4/23NWUML06, 12 June 2006 "from human-readable ……………………to computer-understandable" Pattern Specification

5/23NWUML06, 12 June 2006 Role-Based Meta-Modelling In order to process models in transformation activities, meta- modeling is required. Meta-modeling defines the rules and the structures of models. Role-based meta-modeling technique is proposed by (France et al,2004) for design pattern meta-modeling. Structural Pattern Specification (SPS) Interaction Pattern Specification (IPS) State Machine Pattern Specification (SMPS)

6/23NWUML06, 12 June 2006 OMG 4 Layer Architecture What we want to transform

7/23NWUML06, 12 June 2006 Transformation Meta-Models Source Meta-Model defines the models that the transformation will be applied. Transformation Meta-Model defines the transformation rules and the steps. Target Meta-Model defines the output model of the transformation activity. Model b Model a instanceOf Source Meta-Model instanceOf Definition of transformation T: A->B An application of transformation T(a) = b instanceOf Target Meta-Model

8/23NWUML06, 12 June 2006 Tool Inputs Design Model with design patterns Source MetaModel Target MetaModel Transformation MetaModel

9/23NWUML06, 12 June 2006 XML Metadata Interchange(XMI) XMI is a widely used interchange format for sharing objects using XML.

10/23NWUML06, 12 June 2006 Tool Architecture Model editor is a standard modeling tool such as Rational Rose that can be used to prepare the application design models. Rule editor is used to prepare the source and the target meta-models Transformation Preparer takes the application model and the source and the target meta-models as inputs and then matches the application model elements with the meta-elements. Transformation machine executes the transformation steps defined in transformation meta-model Tool Architecture (A. Wagner, 2002)

11/23NWUML06, 12 June 2006 Subcomponents of the Tool Representation Transformer (RT): It transforms the meta-model’s XMI representation to object representations by transforming Transformation Pattern Generator (TPG): This component produces transformation meta-model at run-time by analyzing structural differences between the source and target meta-models Rol-ModelElement Transformer (REM): This component matches the roles with application model elements. Matching activity is a kind of searching process of role’s structural properties in the application model. Transformation Machine(TM): It is the last component that executes the transformation meta-model tasks on the application model. Add, delete and update operations assign the role properties in to the selected model elements

12/23NWUML06, 12 June 2006 Transformations-1 XML Representation-Object Representation Transformation: The source, target and the application models in XMI are transformed into the objects representations. Composite Transformation Transformation Reuse is defined in Appukuttan et al 2003

13/23NWUML06, 12 June 2006 MetaModel-Model Transformation: The roles constituting the target meta-model are matched with the application model elements and the source meta-model- source model transformation is the result of this matching Transformations-2

14/23NWUML06, 12 June 2006 Application Model-Result Application Model Transformation: Model elements in the application model are transformed into the model elements of the target model by processing the steps in the transformation model. Transformation specifications in the transformation machine are applied on the application model in this transformation. Transformations-3

15/23NWUML06, 12 June 2006 Result Application Model Object Representation-XMI Representation Transformation: This step transforms the result model of the transformation process into the XMI format. Each model element is transformed into the corresponding element in the XMI format Transformations-4

16/23NWUML06, 12 June 2006 Overview

17/23NWUML06, 12 June 2006 Case Study We demonstrate the usage of our tool for the Observer [Gamma et al.] pattern. Observer pattern describes the situation in which a one-to-many dependency between objects is present. In this case, when one object changes state, all its dependents are notified and updated automatically

18/23NWUML06, 12 June 2006 Case Study:Source Meta-Model Preparing the Observer Source MetaModel Specification Applicability and motivation sections of the patterns in the catalogue are problem definitions for patterns In some parts we use stereotypes in order to provide problem semantics. During stereotype usage, we prefer to use universal standard stereotypes.

19/23NWUML06, 12 June 2006 Case Study:Target Meta-Model Preparing Observer Target MetaModel Specification The target specification is the solution of the design pattern. We use the Class structure and the Participants sections of the GOF Design Pattern catalogue to derive this specification. Semantic parts of the design pattern target specification are supported by the stereotype usage.

20/23NWUML06, 12 June 2006 Case Study: Application of the Tool After the rule definition activities, tool is executed for transformation with the application model.

21/23NWUML06, 12 June 2006 Case Study: Transformation Model TPG Component takes these two models and prepares transformation model with using Add Delete Update Unchanged labels.

22/23NWUML06, 12 June 2006 Case Study:Screen Shots

23/23NWUML06, 12 June 2006 Conclusions We introduced a transformation tool that performs horizontal transformations for design pattern refactorings on design models. Since XMI is not a query language, we could not generate complex definitions of the source model. However, our approach in the implementation of the tool does not require to define transformation meta rules which simplifies the transformation implementation.