Comparison Between Two Model Transformation Frameworks: Kermeta and ATL Presentation on the Project for the Course CSI 5112 Presented by Farhana Islam (CU 100900666) Md Riyadh (CU 100901961) Outline 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 2 University of Ottawa 04/09/2013 Company: SoftTech Inc. 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 3 University of Ottawa 04/09/2013 Company Requirement 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: 4 Kermeta ATL University of Ottawa 04/09/2013 Goal: UML to Java transformation UML class diagram to Java UML sequence diagram to Java UML models representing complex design patterns to Java 5 University of Ottawa 04/09/2013 Model transformation Source: course material 6 University of Ottawa 04/09/2013 Criteria High Impact Criteria Low Impact Criteria Learning Curve Efficiency Portability Frequent release Usability Ease of installation Hardware requirement Modularity Technical support Expressiveness Testing tools Reputation in market Documentation Accuracy Cost 7 University of Ottawa 04/09/2013 Methodology 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 8 University of Ottawa 04/09/2013 Introduction to Kermeta (Kernel Metamodeling) Based on object oriented executable meta-modeling 9 paradigm Allows navigation and manipulation of a model in an objectoriented 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 University of Ottawa 04/09/2013 Introduction to ATL (ATLAS Transformation Language) 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 10 University of Ottawa 04/09/2013 Model Transformation Steps EMOF M3 Kermeta(.kmt)/ATL(.km3)->.ecore Destination Metamodel (Ecore) Source Metamodel (Ecore) UMLMM.kmt/UMLMM.km3 .ecore->.xmi JavaMM.kmt/JavaMM.km3 Destination model (EMF) Source Model (EMF) UMLDiagram.xmi JavaProgram.xmi Transformation rules Transform.kmt/Transform.atl 11 M2 M1 Model transformation code snippet UML class -> Java class Kermeta transformation rule for C2C ATL transformation ‘rule’ for C2C with ‘helper’ 12 University of Ottawa 04/09/2013 Comparison Criteria Kermeta ATL Results Learning Curve Easier to learn as its syntax is Eiffel and java-like. Must have knowledge about OCL syntax and ATL syntax. Kermeta Wins Cost Open source and free Open source and free Both Win Portability Both Win Available for Windows, Linux and Mac OS Supports both 32bit and 64bit Available for Windows, Linux and Mac OS. Supports both 32bit and 64bit Efficiency Same steps Same steps Both Win Frequent release On average, three new versions/year On average, one new version/year Kermeta Wins Technical support ATL Wins Accuracy 13 Submit bug reports and feature requests through ‘Tracker’ section of their website Public forums Emails Generates the expected model in XMI University of Ottawa Through official Eclipse forums and newsgroups Bugzilla For professional support: developers of OBEO Generates the expected model in XMI Both Win 04/09/2013 Comparison (cont’d) Criteria Kermeta ATL Ease of installation Installation of Eclipse environment Go to Help -> install new software/Market place Documentation User manual and developer guide, FAQ, articles and papers, tutorials and courses are available Not enough model transformation case studies are provided Results 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 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 ATL Better than Kermeta ATL Wins Test tool Includes 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 Runs in core i7 processor with 16 GB RAM Both Win 14 University of Ottawa 04/09/2013 Comparison Criteria Kermeta ATL 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. Results Comes with debugger, a text editor with syntax highlighter Supports OCL Both Win Modularity Utilizes 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 Kermeta Wins 15 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 University of Ottawa 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 04/09/2013 Stakeholder’s Softgoals Manager Programmer Q A Analyst Budget [90] Ease of Learning [90] Test Accuracy [70] Cost Learning Curve Portability Documentation Hardware Req. Tech. Support Learning Curve Documentation Tech. Support Testing tools Usability Accuracy List of Functionalities [75] Learnability [60] Usability Modularity Expressiveness Efficiency Ease of Installation Documentation Tech. Support Learning Curve Quality [70] Accuracy Reputation in the Market Freq. of Release 16 University of Ottawa Software Architect Language Strength [75] Documentation Expressiveness Modularity 04/09/2013 Calculation of Relevant Weights for Softgoals 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] Cost 1 1 Learning Curve 1 0 Portability 1 1 Documentation 0 1 Hardware Req. 1 1 Tech. Support 0 1 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 17 University of Ottawa 04/09/2013 GRL Evaluation Stakeholder 18 Kermeta ATL Results Manager 53 65 ATL Wins Programmer 50 53 ATL Wins QA Analyst 46 56 ATL Wins Software Architect 50 50 Tie University of Ottawa 04/09/2013 Summary and Recommendation 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 19 University of Ottawa 04/09/2013 Questions ? 20 University of Ottawa 04/09/2013