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 ?