200 likes | 369 Views
Comparison Between Two Model Transformation Frameworks: Kermeta and ATL Presentation on t he Project for t he Course CSI 5112. Presented by Farhana Islam (CU 100900666) Md Riyadh (CU 100901961). Outline. Introduction Overview of the company and their goal
E N D
Comparison Between Two Model Transformation Frameworks: Kermeta and ATLPresentation 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 University of Ottawa
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 University of Ottawa
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: • Kermeta • ATL University of Ottawa
Goal: UML to Java transformation • UML class diagram to Java • UML sequence diagram to Java • UML models representing complex design patterns to Java University of Ottawa
Model transformation Source: course material University of Ottawa
Criteria University of Ottawa
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 University of Ottawa
Introduction to Kermeta(KernelMetamodeling) • 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 University of Ottawa
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 University of Ottawa
Model Transformation Steps EMOF M3 Kermeta(.kmt)/ATL(.km3)->.ecore Destination Metamodel (Ecore) Source Metamodel (Ecore) M2 UMLMM.kmt/UMLMM.km3 JavaMM.kmt/JavaMM.km3 Destination model (EMF) Source Model (EMF) M1 .ecore->.xmi UMLDiagram.xmi JavaProgram.xmi Transformation rules Transform.kmt/Transform.atl
Model transformation code snippetUML class -> Java class Kermeta transformation rule for C2C ATL transformation ‘rule’ for C2C with ‘helper’ University of Ottawa
Comparison University of Ottawa
Comparison(cont’d) University of Ottawa
Comparison University of Ottawa
Stakeholder’s Softgoals University of Ottawa
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 • 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 University of Ottawa
GRL Evaluation University of Ottawa
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 University of Ottawa
Questions ? University of Ottawa