Comparison between two model transformation frameworks ...
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 inuenced by Eiel.
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 MetaObject 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 Eiel 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 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 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 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 ATL Wins Both Win 04/09/2013 Comparison (contd) Criteria Kermeta Ease of
installation Installation of Eclipse environment Go to Help -> install new software/Market place ATL 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 Usability Modularity Expressiveness 15 Kermeta Comes with debugger, a text editor with syntax highlighter and code auto-completion. Provides several import/export transformations. Provides textual syntax support for OCL. ATL Comes with debugger, a text editor with syntax highlighter
Supports OCL Results Utilizes common modularization paradigms such as object-oriented programming, aspect-oriented programming, and generics. 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 Modularity is achieved using helper functions and transformation stages Both Win University of Ottawa Many data types (tuple, map etc.) are allowed apart from standard data types (int, String etc.) and collections (bag, set etc.). Doesnt handle exception Not possible to declare
variables within imperative block Both Win Kermeta Wins 04/09/2013 Stakeholders Softgoals Manager Budget  Cost Learning Curve Portability Documentation Hardware Req. Tech. Support Quality  Accuracy Reputation in the Market Freq. of Release 16 University of Ottawa Programmer Ease of Learning  Learning Curve Documentation Tech. Support List of Functionalities  Usability Modularity Expressiveness
Efficiency Ease of Installation Q A Analyst Test Accuracy  Testing tools Usability Accuracy Learnability  Documentation Tech. Support Learning Curve Software Architect Language Strength  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  Kermeta 
1 Total Criteria: 6 All High Impact Criteria. So, the sum of criterias weight: 6*1.5 = 9 Kermetas score: 4*1.5 = 6 Kermetas weight for Budget: (90/9)*6 = 60 ATLs score: 5*1.5 = 7.5 ATLs 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 Theres a tie for Software Architect 19 University of Ottawa 04/09/2013 Questions ? 20 University of Ottawa 04/09/2013
Economic boom, population growth, and urbanization: Thanks to investments in infrastructure such as the canal system, which allowed the cheap transportation of rice and wheat over long distances, there was a major economic boom in this period. In addition to...
Most are marine (jellyfish, coral, sea anemones, Portuguese man-of war) Hydras are found in freshwater. All have arm-like tentacles. copyright cmassengale. Cnidarian Characteristics. Radial symmetry. Hollow gut -Gastrovascular cavity has single opening (serves as both mouth and anus)
Réforme des subventions aux énergies fossiles. ODD : MFI PROPOSES. Le potentiel du financement innovant est encore largement inexploité. Les ressources mobilisées grâce à des initiatives de financement innovant du développement représentent en moyenne 2 milliards USD par an.
amortized. complexity per operation is polylog. Recent flurry of papers: ~10 since 2010. Improving concrete efficiency (log2overhead), worst-case vs. amortized efficiency, 1 round etc. Can also achieve . authenticity . against active-adversary server. Generically using . memory checking, often more...
PARAMOUNT HEALTH SERVICES (TPA) PVT. LTD. Mobile App - mW!se. Mobile application for your insurance needs. Why mW!se? One time registration / Login process. Online instant insurance e-cards. Access to all claim status with all information.
Ready to download the document? Go ahead and hit continue!