CSI_5112-Riyadh

advertisement
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
Download