Presented by Farhana Islam (CU 100900666) Md Riyadh (CU 100901961) Comparison Between Two Model Transformation Frameworks: Kermeta and ATL Presentation.

Slides:



Advertisements
Similar presentations
Profiles Construction Eclipse ECESIS Project Construction of Complex UML Profiles UPM ETSI Telecomunicación Ciudad Universitaria s/n Madrid 28040,
Advertisements

UBI >> Contents Chapter 2 Software Development Tools Code Composer Essentials v3: Overview Texas Instruments Incorporated University of Beira Interior.
Programming Paradigms and languages
MDA and QVT in Together Architect 2006  Pavel Kobiakov, Borland Software Corporation  06 December 2005.
Introduction To System Analysis and Design
UML CASE Tool. ABSTRACT Domain analysis enables identifying families of applications and capturing their terminology in order to assist and guide system.
Ontologies Reasoning Components Agents Simulations An Overview of Model-Driven Engineering and Architecture Jacques Robin.
Programming Languages Structure
Information Systems Development and Acquisition Chapter 8 Jessup & Valacich Instructor: Ramesh Sankaranarayanan.
IBM Software Group © 2005 IBM Corporation University of Nantes Eclipse dayMarch 2005 The Eclipse Modeling Framework and the IBM Model Transformation Framework.
Comparing M2T & M2M Complementary Approaches © 2008 INRIA, University of York & SINTEF Comparing M2T & M2M Complementary Approaches Hugo Bruneliere,
Version Enterprise Architect Redefines Modeling in 2006 An Agile and Scalable modeling solution Provides Full Lifecycle.
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
COMPARISON STUDY BETWEEN AGILEFANT AND XPLANNER PLUS Professor Daniel Amyot Ruijun Fan Badr Alsubaihi Submitted to Professor Daniel Amyot.
Introduction To System Analysis and design
BRUE Behavioral Reverse Engineering in UML as Eclipse Plugin MSE Presentation 1 Sri Raguraman.
Xactium xDSLs Run Models Not Code Tony Clark
1 An Analytical Evaluation of BPMN Using a Semiotic Quality Framework Terje Wahl & Guttorm Sindre NTNU, Norway Terje Wahl, 14. June 2005.
Design Patterns OOD. Course topics Design Principles UML –Class Diagrams –Sequence Diagrams Design Patterns C#,.NET (all the course examples) Design Principles.
(1.1) COEN 171 Programming Languages Winter 2000 Ron Danielson.
MDA and QVT  Tom Gullion, Director of Product Management, Together Products.
Data Structures & AlgorithmsIT 0501 Algorithm Analysis I.
1 GRL Tools JUCMNav vs. OpenOME CSI5112 – Project Winter 2008 Bo Peng, Li Chen, Yessine Daadaa.
ATL The ATLAS Transformation Language. 2 ATL (ATLAS Transformation Language) ATL transformation pattern ATL metamodel Helpers – Operation helpers – Attribute.
Model transformation with a dedicated imperative language IRISA Rennes (France) - Triskell team Jean-Marc Jézéquel Didier Vojtisek Jean-Philippe Thibault.
Introduction to MDA (Model Driven Architecture) CYT.
I T & S A e r o s p a c eD e f e n c e THALES Research & Technology THALES recommendations for the final OMG standard on Query / Views / Transformations.
1 Metamodel Access Protocols for Extensible Aspect-Oriented Modeling Naoyasu Ubayashi(Kyushu Institute of Technology, Japan) Shinji Sano(Kyushu Institute.
Introduction To System Analysis and Design
Copyright © 2009 AtlanMod. All Rights Reserved Frédéric Jouault & Hugo Bruneliere AtlanMod team (INRIA & Mines de Nantes) Possible Benefits of Bridging.
Copyright © 2006 Addison-Wesley. All rights reserved.1-1 ICS 410: Programming Languages.
© Mahindra Satyam 2009 Decision Analysis and Resolution QMS Training.
Guide to Programming with Python Chapter One Getting Started: The Game Over Program.
Fundamental Programming: Fundamental Programming K.Chinnasarn, Ph.D.
1 OCL Tools Supervised by Prof. Daniel Amyot May Khalil Nadia Spido Submitted to Professor Daniel Amyot in partial fulfillment of the requirements for.
I Power Higher Computing Software Development The Software Development Process.
1 5 Nov 2002 Risto Pohjonen, Juha-Pekka Tolvanen MetaCase Consulting AUTOMATED PRODUCTION OF FAMILY MEMBERS: LESSONS LEARNED.
Intermediate 2 Software Development Process. Software You should already know that any computer system is made up of hardware and software. The term hardware.
Evaluation of Development Tools for Domain-Specific Modeling Languages D. Amyot, H. Farah, J.-F. Roy with contributions from Y. Chu and N. Janmohamed SAM.
Copyright © 2006 by The McGraw-Hill Companies, Inc. All rights reserved. McGraw-Hill Technology Education Programming Languages and the Programming Process.
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.
Eclipse 24-Apr-17.
ESMF Code Generation with Cupid Update and Demo October 2009 Rocky Dunlap Spencer Rugaber Leo Mark Georgia Tech College of Computing.
Gregor v. Bochmann, University of Ottawa Based on Powerpoint slides by Gunter Mussbacher(2009) with material from Amyot User Requirements Notation (URN)
Practical Object-Oriented Design with UML 2e Slide 1/1 ©The McGraw-Hill Companies, 2004 PRACTICAL OBJECT-ORIENTED DESIGN WITH UML 2e Chapter 1: Introduction.
United Nations Oslo City Group on Energy Statistics OG7, Helsinki, Finland October 2012 ESCM Chapter 8: Data Quality and Meta Data 1.
Based on material developed in ATHENA (IST ), INTEROP (IST ) and MODELWARE (IST ) 6-1b. Atlas Transformation Language (ATL) with RSM.
1 The Software Development Process ► Systems analysis ► Systems design ► Implementation ► Testing ► Documentation ► Evaluation ► Maintenance.
Requirement Engineering with URN: Integrating Goals and Scenarios Jean-François Roy Thesis Defense February 16, 2007.
Copyright © 2010 Obeo, Made available under the Eclipse Public License v SCA Tools (Helios) Release Review Planned Review Date: June 11, 2010.
Ontologies Reasoning Components Agents Simulations An Overview of Model-Driven Engineering and Architecture Jacques Robin.
PROGRAMMING FUNDAMENTALS INTRODUCTION TO PROGRAMMING. Computer Programming Concepts. Flowchart. Structured Programming Design. Implementation Documentation.
1 Multimedia Development Team. 2 To discuss phases of MM production team members Multimedia I.
Software Design and Development Development Methodoligies Computing Science.
Aspect-oriented Code Generation Approaches Abid Mehmood & Dayang N. A. Jawawi Department of Software Engineering Faculty of Computer Science and Information.
Copyright © 2012 Obeo and Petals Link, Made available under the Eclipse Public License v SCA Tools (Juno) Release Review Planned Review Date:
Adding semantics to metamodels Mars 2006 Franck FLEUREY Triskell Research Group IRISA – Rennes (France)
Software Engineering (CSI 321)
Before You Begin Nahla Abuel-ola /WIT.
Applying a Research Prototype Tool in Industrial Practice
Systems Analysis and Design in a Changing World, 6th Edition
Daniel Amyot and Jun Biao Yan
Programming Languages
Evaluating Compuware OptimalJ as an MDA tool
Unit 6 Assignment 2 Chris Boardley.
Selenium Tutorials Cheyat Training.
QVT Operational 1.0 Ganymede Simultaneous Release Graduation Review
QVT Operational 1.0 Mini-deck
Software Architecture & Design
Presentation transcript:

Presented by Farhana Islam (CU ) Md Riyadh (CU ) Comparison Between Two Model Transformation Frameworks: Kermeta and ATL Presentation on the Project for the Course CSI 5112

Outline 04/09/2013 University of Ottawa 2  Introduction  Overview of the company and their goal  Model transformation  Evaluation criteria and methodology  Low and high impact criteria  Methodology  Presentation of tools and evaluation  Kermeta vs. ATL  GRL evaluation and related calculations  Summary and recommendation

Company: SoftTech Inc. 04/09/2013 University of Ottawa 3  A small software company (5 people)  Implements desktop and web based applications using Java  Employees:  1 manager  1 software architect  2 programmers  1 quality assurance analyst

Company Requirement 04/09/2013 University of Ottawa 4  They want an open source model transformation tool to transform UML models to Java code  Reasons:  Easier to maintain  Reusability of models  Faster implementation  Two options:  Kermeta  ATL

Goal: UML to Java transformation 04/09/2013 University of Ottawa 5  UML class diagram to Java  UML sequence diagram to Java  UML models representing complex design patterns to Java

Model transformation 04/09/2013 University of Ottawa 6 Source: course material

04/09/2013 University of Ottawa 7 High Impact CriteriaLow Impact Criteria Learning CurveEfficiency PortabilityFrequent release UsabilityEase of installation Hardware requirement Modularity Technical support Expressiveness Testing tools Reputation in market Documentation Accuracy Cost Criteria

Methodology 04/09/2013 University of Ottawa 8  Identify stakeholders  Manager  Software architect  Programmer  Quality assurance analyst  Model transformation from UML class diagram to Java using each tool  Research on every criteria listed in previous slides for each of the tools through model transformation procedure, online documentation, online examples, interviews etc.  Define ‘Soft goals’ for each stakeholder  Group different criteria to meet these ‘soft goals’  Put weight to ‘soft goals’ according to the relevant criteria  Make a GRL model with two strategies:  One for Kermeta  One for ATL  The tool that satisfies more stakeholders will be recommended

Introduction to Kermeta (Kernel Metamodeling) 04/09/2013 University of Ottawa 9  Based on object oriented executable meta-modeling paradigm  Allows navigation and manipulation of a model in an object- oriented way with a syntax heavily influenced by Eiffel.  Users implement a transformation model that uses the elements in both the source and the target meta models to create the desired elements in the target meta model  Built as an extension to EMOF (One of the two variants of Meta-Object Facility in MOF 2.0 specification)  Describes both the structure and the behavior of models  Imperative, model oriented, object oriented and aspect oriented

Introduction to ATL (ATLAS Transformation Language) 04/09/2013 University of Ottawa 10  Rule based DSL  Describes model transformation from one ECORE metamodel to other ECORE metamodel  Supports an interesting mix of declarative and imperative language paradigms  Allows modularity and built-in collection operations such as iterators, filters, and common set operators  Based on OMG OCL norm for both of its data types and declarative expressions

Model Transformation Steps 11 Source Metamodel (Ecore) Destination Metamodel (Ecore) EMOF Kermeta(.kmt)/ATL(.km3)->.ecore Source Model (EMF).ecore->.xmi Transformation rules Destination model (EMF) M3 M2 M1 UMLMM.kmt/UMLMM.km3JavaMM.kmt/JavaMM.km3 UMLDiagram.xmiJavaProgram.xmi Transform.kmt/Transform.atl

Model transformation code snippet UML class -> Java class 04/09/2013 University of Ottawa 12 Kermeta transformation rule for C2C ATL transformation ‘rule’ for C2C with ‘helper’

Comparison 04/09/2013 University of Ottawa 13 CriteriaKermetaATLResults Learning Curve Easier to learn as its syntax is Eiffel and java-like. Must have knowledge about OCL syntax and ATL syntax. Kermeta Wins CostOpen source and free Both Win Portability  Available for Windows, Linux and Mac OS  Supports both 32bit and 64bit  Available for Windows, Linux and Mac OS.  Supports both 32bit and 64bit Both Win EfficiencySame steps Both Win Frequent release On average, three new versions/yearOn average, one new version/yearKermeta Wins Technical support  Submit bug reports and feature requests through ‘Tracker’ section of their website  Public forums  s  Through official Eclipse forums and newsgroups  Bugzilla  For professional support: developers of OBEO ATL Wins AccuracyGenerates the expected model in XMI Both Win

04/09/2013 University of Ottawa 14 CriteriaKermetaATLResults Ease of installation  Installation of Eclipse environment  Go to Help -> install new software/Market place  Installation of Eclipse environment and EMF framework  Installation of ATL Development Tools (ADT) from binaries  Installation of ANTLR (ANother Tool for Language Recognition) and MDR (Metadata repository) Kermeta Wins Documentation  User manual and developer guide, FAQ, articles and papers, tutorials and courses are available  Not enough model transformation case studies are provided  User manual and developer guide, FAQ, articles and papers, tutorials and courses are available  Professional training  Rich number of model transformation case studies are available ATL Wins Reputation in market Worse than ATLBetter than KermetaATL Wins Test toolIncludes Kunit: A unit test framework Vast array of testing facilities are available (e.g.: ATLtest, Octopus etc.) Both Win Hardware requirement Runs in core i7 processor with 16 GB RAM Both Win Comparison (cont’d)

Comparison 04/09/2013 University of Ottawa 15 CriteriaKermetaATLResults Usability  Comes with debugger, a text editor with syntax highlighter and code auto-completion. Provides several import/export transformations.  Provides textual syntax support for OCL.  Comes with debugger, a text editor with syntax highlighter  Supports OCL Both Win ModularityUtilizes common modularization paradigms such as object-oriented programming, aspect-oriented programming, and generics. Modularity is achieved using helper functions and transformation stages Both Win Expressiveness  Primitive (int, String, boolean) and well-known collections (bag, set etc.) are allowed.  Java like exceptions handling mechanism with “rescue” block  Variables can be declared within imperative block  Many data types (tuple, map etc.) are allowed apart from standard data types (int, String etc.) and collections (bag, set etc.).  Doesn’t handle exception  Not possible to declare variables within imperative block Kermeta Wins

Stakeholder’s Softgoals 04/09/2013 University of Ottawa 16 Manager Budget [90] Cost Learning Curve Portability Documentation Hardware Req. Tech. Support Quality [70] Accuracy Reputation in the Market Freq. of Release Programmer Ease of Learning [90] Learning Curve Documentation Tech. Support List of Functionalities [75] Usability Modularity Expressiveness Efficiency Ease of Installation Q A Analyst Test Accuracy [70] Testing tools Usability Accuracy Learnability [60] Documentation Tech. Support Learning Curve Software Architect Language Strength [75] Documentation Expressiveness Modularity

Calculation of Relevant Weights for Softgoals 04/09/2013 University of Ottawa 17  Result for each criteria for each tool is binary  Win (1)  Lose (0)  Each criteria is a member of one or more softgoals  High impact criteria are multiplied by 1.5  Low impact criteria are multiplied by 1  Numerical Importance of each softgoal is calculated as it is done below for one of the softgoals of Manager: Budget Budget [90]Kermeta [60]ATL [75] Cost11 Learning Curve10 Portability11 Documentation01 Hardware Req.11 Tech. Support01  Total Criteria: 6  All High Impact Criteria. So, the sum of criteria’s weight: 6*1.5 = 9  Kermeta’s score: 4*1.5 = 6  Kermeta’s weight for Budget: (90/9)*6 = 60  ATL’s score: 5*1.5 = 7.5  ATL’s weight for Budget: (90/9)*7.5 = 75

GRL Evaluation 04/09/2013 University of Ottawa 18 StakeholderKermetaATLResults Manager5365ATL Wins Programmer5053ATL Wins QA Analyst4656ATL Wins Software Architect50 Tie

Summary and Recommendation 04/09/2013 University of Ottawa 19 Our goal was to check which tool satisfies more stakeholders From GRL evaluation for both tools, it is evident that ATL is the tool we recommend: ATL satisfies three stakeholders (Manager, Programmer, QA Analyst) more than Kermeta There’s a tie for Software Architect

Questions 04/09/2013 University of Ottawa 20 ?