improving the quality of emf models using metrics, …...improving the quality of emf models using...
TRANSCRIPT
![Page 1: Improving the quality of EMF models using metrics, …...Improving the quality of EMF models using metrics, smells, and refactorings Gabriele Taentzer, Thorsten Arendt Tutorial at](https://reader033.vdocuments.net/reader033/viewer/2022042321/5f0bac787e708231d431a8d4/html5/thumbnails/1.jpg)
Improving the quality of EMF models using metrics, smells, and refactorings
Gabriele Taentzer, Thorsten ArendtTutorial at ECMFA, July 2nd 2012, Lyngby, Denmark
![Page 2: Improving the quality of EMF models using metrics, …...Improving the quality of EMF models using metrics, smells, and refactorings Gabriele Taentzer, Thorsten Arendt Tutorial at](https://reader033.vdocuments.net/reader033/viewer/2022042321/5f0bac787e708231d431a8d4/html5/thumbnails/2.jpg)
Outline
• Introduction
• Running Example
• Demo: Application of Model Quality Assurance Techniques
• Demo: Specification of Model Quality Assurance Techniques
• Conclusion
Improving the quality of EMF models2
![Page 3: Improving the quality of EMF models using metrics, …...Improving the quality of EMF models using metrics, smells, and refactorings Gabriele Taentzer, Thorsten Arendt Tutorial at](https://reader033.vdocuments.net/reader033/viewer/2022042321/5f0bac787e708231d431a8d4/html5/thumbnails/3.jpg)
Motivation: Model quality assurance
Improving the quality of EMF models
Problems
Risks
3
Model Refactorings
Model Smells
Model Metrics
![Page 4: Improving the quality of EMF models using metrics, …...Improving the quality of EMF models using metrics, smells, and refactorings Gabriele Taentzer, Thorsten Arendt Tutorial at](https://reader033.vdocuments.net/reader033/viewer/2022042321/5f0bac787e708231d431a8d4/html5/thumbnails/4.jpg)
Motivation: Model quality assurance
Improving the quality of EMF models
Problems
Risks
Model Refactorings
Model Smells
Model Metrics
Model Quality Assurance Process
4
![Page 5: Improving the quality of EMF models using metrics, …...Improving the quality of EMF models using metrics, smells, and refactorings Gabriele Taentzer, Thorsten Arendt Tutorial at](https://reader033.vdocuments.net/reader033/viewer/2022042321/5f0bac787e708231d431a8d4/html5/thumbnails/5.jpg)
A model quality assurance process
Improving the quality of EMF models5
![Page 6: Improving the quality of EMF models using metrics, …...Improving the quality of EMF models using metrics, smells, and refactorings Gabriele Taentzer, Thorsten Arendt Tutorial at](https://reader033.vdocuments.net/reader033/viewer/2022042321/5f0bac787e708231d431a8d4/html5/thumbnails/6.jpg)
A model quality assurance process
Improving the quality of EMF models
Specification of a project-specific model quality assurance process
6
![Page 7: Improving the quality of EMF models using metrics, …...Improving the quality of EMF models using metrics, smells, and refactorings Gabriele Taentzer, Thorsten Arendt Tutorial at](https://reader033.vdocuments.net/reader033/viewer/2022042321/5f0bac787e708231d431a8d4/html5/thumbnails/7.jpg)
A model quality assurance process: 6C Goals 1
Improving the quality of EMF models
Specification of a project-specific model quality assurance process
7
– Correctness– Completeness– Changeability
– Comprehensibility– Confinement– Consistency
1 P. Mohagheghi, V. Dehlen, T. Neple: Definitions and approaches to model quality in model-based software development - A review of literature. Information & Software Technology 51 (12): 1646-1669 (2009)
![Page 8: Improving the quality of EMF models using metrics, …...Improving the quality of EMF models using metrics, smells, and refactorings Gabriele Taentzer, Thorsten Arendt Tutorial at](https://reader033.vdocuments.net/reader033/viewer/2022042321/5f0bac787e708231d431a8d4/html5/thumbnails/8.jpg)
A model quality assurance process: Smells
Improving the quality of EMF models
Specification of a project-specific model quality assurance process
8
• Example: Are there equally named classes in different packages?
– Smell: Multiple definitions of classes with equal names
Changeability Comprehensibility
![Page 9: Improving the quality of EMF models using metrics, …...Improving the quality of EMF models using metrics, smells, and refactorings Gabriele Taentzer, Thorsten Arendt Tutorial at](https://reader033.vdocuments.net/reader033/viewer/2022042321/5f0bac787e708231d431a8d4/html5/thumbnails/9.jpg)
A model quality assurance process: Smells
Improving the quality of EMF models
Specification of a project-specific model quality assurance process
9
• Example: Are there abstract classes without any concrete subclasses?
– Smell: No concrete subclass
Completeness Comprehensibility
![Page 10: Improving the quality of EMF models using metrics, …...Improving the quality of EMF models using metrics, smells, and refactorings Gabriele Taentzer, Thorsten Arendt Tutorial at](https://reader033.vdocuments.net/reader033/viewer/2022042321/5f0bac787e708231d431a8d4/html5/thumbnails/10.jpg)
A model quality assurance process: Refactoring
Improving the quality of EMF models
Specification of a project-specific model quality assurance process
10
• Smell: Multiple definitions of classes with equal names– Refactoring: Rename Class
![Page 11: Improving the quality of EMF models using metrics, …...Improving the quality of EMF models using metrics, smells, and refactorings Gabriele Taentzer, Thorsten Arendt Tutorial at](https://reader033.vdocuments.net/reader033/viewer/2022042321/5f0bac787e708231d431a8d4/html5/thumbnails/11.jpg)
A model quality assurance process: Refactoring
Improving the quality of EMF models
Specification of a project-specific model quality assurance process
11
• Smell: Multiple definitions of classes with equal names– Refactoring: Rename Class
• Smell: No concrete subclass– Refactoring: Insert Concrete Subclass
![Page 12: Improving the quality of EMF models using metrics, …...Improving the quality of EMF models using metrics, smells, and refactorings Gabriele Taentzer, Thorsten Arendt Tutorial at](https://reader033.vdocuments.net/reader033/viewer/2022042321/5f0bac787e708231d431a8d4/html5/thumbnails/12.jpg)
A model quality assurance process
Improving the quality of EMF models
Application of the specified process to concrete software models
12
![Page 13: Improving the quality of EMF models using metrics, …...Improving the quality of EMF models using metrics, smells, and refactorings Gabriele Taentzer, Thorsten Arendt Tutorial at](https://reader033.vdocuments.net/reader033/viewer/2022042321/5f0bac787e708231d431a8d4/html5/thumbnails/13.jpg)
Tool support in Eclipse
Improving the quality of EMF models
EMF MetricsEMF Metrics
13
![Page 14: Improving the quality of EMF models using metrics, …...Improving the quality of EMF models using metrics, smells, and refactorings Gabriele Taentzer, Thorsten Arendt Tutorial at](https://reader033.vdocuments.net/reader033/viewer/2022042321/5f0bac787e708231d431a8d4/html5/thumbnails/14.jpg)
Tool support in Eclipse
Improving the quality of EMF models
EMF MetricsEMF Smell
14
![Page 15: Improving the quality of EMF models using metrics, …...Improving the quality of EMF models using metrics, smells, and refactorings Gabriele Taentzer, Thorsten Arendt Tutorial at](https://reader033.vdocuments.net/reader033/viewer/2022042321/5f0bac787e708231d431a8d4/html5/thumbnails/15.jpg)
Tool support in Eclipse
Improving the quality of EMF models
EMF RefactorEMF Refactor
15
![Page 16: Improving the quality of EMF models using metrics, …...Improving the quality of EMF models using metrics, smells, and refactorings Gabriele Taentzer, Thorsten Arendt Tutorial at](https://reader033.vdocuments.net/reader033/viewer/2022042321/5f0bac787e708231d431a8d4/html5/thumbnails/16.jpg)
Topic of Tutorial
Improving the quality of EMF models
Problems
Risks
Model Refactorings
Model Smells
Model Metrics
Model Quality Assurance Process
16
![Page 17: Improving the quality of EMF models using metrics, …...Improving the quality of EMF models using metrics, smells, and refactorings Gabriele Taentzer, Thorsten Arendt Tutorial at](https://reader033.vdocuments.net/reader033/viewer/2022042321/5f0bac787e708231d431a8d4/html5/thumbnails/17.jpg)
Outline
• Introduction
• Running Example
• Demo: Application of Model Quality Assurance Techniques
• Demo: Specification of Model Quality Assurance Techniques
• Conclusion
Improving the quality of EMF models17
![Page 18: Improving the quality of EMF models using metrics, …...Improving the quality of EMF models using metrics, smells, and refactorings Gabriele Taentzer, Thorsten Arendt Tutorial at](https://reader033.vdocuments.net/reader033/viewer/2022042321/5f0bac787e708231d431a8d4/html5/thumbnails/18.jpg)
Example: Vehicle Rental Company
• Project– Development of a web
application for renting vehicles• Semantic domain
– Company with • Vehicles• Customers• Services
• Technical domain– Web application
• Modeling purpose– Modeling of the semantic domain
Improving the quality of EMF models18
![Page 19: Improving the quality of EMF models using metrics, …...Improving the quality of EMF models using metrics, smells, and refactorings Gabriele Taentzer, Thorsten Arendt Tutorial at](https://reader033.vdocuments.net/reader033/viewer/2022042321/5f0bac787e708231d431a8d4/html5/thumbnails/19.jpg)
Running example: UML class model
Improving the quality of EMF models19
![Page 20: Improving the quality of EMF models using metrics, …...Improving the quality of EMF models using metrics, smells, and refactorings Gabriele Taentzer, Thorsten Arendt Tutorial at](https://reader033.vdocuments.net/reader033/viewer/2022042321/5f0bac787e708231d431a8d4/html5/thumbnails/20.jpg)
Outline
• Introduction
• Running Example
• Demo: Application of Model Quality Assurance Techniques
• Coffee Break
• Demo: Specification of Model Quality Assurance Techniques
• Conclusion
Improving the quality of EMF models20
![Page 21: Improving the quality of EMF models using metrics, …...Improving the quality of EMF models using metrics, smells, and refactorings Gabriele Taentzer, Thorsten Arendt Tutorial at](https://reader033.vdocuments.net/reader033/viewer/2022042321/5f0bac787e708231d431a8d4/html5/thumbnails/21.jpg)
EMF Metrics: configurationdialog
Improving the quality of EMF models21
![Page 22: Improving the quality of EMF models using metrics, …...Improving the quality of EMF models using metrics, smells, and refactorings Gabriele Taentzer, Thorsten Arendt Tutorial at](https://reader033.vdocuments.net/reader033/viewer/2022042321/5f0bac787e708231d431a8d4/html5/thumbnails/22.jpg)
EMF Metrics: result view
Improving the quality of EMF models22
![Page 23: Improving the quality of EMF models using metrics, …...Improving the quality of EMF models using metrics, smells, and refactorings Gabriele Taentzer, Thorsten Arendt Tutorial at](https://reader033.vdocuments.net/reader033/viewer/2022042321/5f0bac787e708231d431a8d4/html5/thumbnails/23.jpg)
Improving the quality of EMF models23
EMF Metrics: export dialog
![Page 24: Improving the quality of EMF models using metrics, …...Improving the quality of EMF models using metrics, smells, and refactorings Gabriele Taentzer, Thorsten Arendt Tutorial at](https://reader033.vdocuments.net/reader033/viewer/2022042321/5f0bac787e708231d431a8d4/html5/thumbnails/24.jpg)
Improving the quality of EMF models24
EMF Metrics: HTML export (bar diagram)
![Page 25: Improving the quality of EMF models using metrics, …...Improving the quality of EMF models using metrics, smells, and refactorings Gabriele Taentzer, Thorsten Arendt Tutorial at](https://reader033.vdocuments.net/reader033/viewer/2022042321/5f0bac787e708231d431a8d4/html5/thumbnails/25.jpg)
Improving the quality of EMF models25
EMF Metrics: PPT export (pie diagram)
Smell „Doer and Knower“ represents a lack of encapsulation.
![Page 26: Improving the quality of EMF models using metrics, …...Improving the quality of EMF models using metrics, smells, and refactorings Gabriele Taentzer, Thorsten Arendt Tutorial at](https://reader033.vdocuments.net/reader033/viewer/2022042321/5f0bac787e708231d431a8d4/html5/thumbnails/26.jpg)
Improving the quality of EMF models26
EMF Smell: configuration dialog
![Page 27: Improving the quality of EMF models using metrics, …...Improving the quality of EMF models using metrics, smells, and refactorings Gabriele Taentzer, Thorsten Arendt Tutorial at](https://reader033.vdocuments.net/reader033/viewer/2022042321/5f0bac787e708231d431a8d4/html5/thumbnails/27.jpg)
EMF Metrics: result view
Improving the quality of EMF models27
![Page 28: Improving the quality of EMF models using metrics, …...Improving the quality of EMF models using metrics, smells, and refactorings Gabriele Taentzer, Thorsten Arendt Tutorial at](https://reader033.vdocuments.net/reader033/viewer/2022042321/5f0bac787e708231d431a8d4/html5/thumbnails/28.jpg)
Improving the quality of EMF models28
EMF Smell: highlighting
![Page 29: Improving the quality of EMF models using metrics, …...Improving the quality of EMF models using metrics, smells, and refactorings Gabriele Taentzer, Thorsten Arendt Tutorial at](https://reader033.vdocuments.net/reader033/viewer/2022042321/5f0bac787e708231d431a8d4/html5/thumbnails/29.jpg)
Improving the quality of EMF models29
EMF Smell: PDF export (list)
![Page 30: Improving the quality of EMF models using metrics, …...Improving the quality of EMF models using metrics, smells, and refactorings Gabriele Taentzer, Thorsten Arendt Tutorial at](https://reader033.vdocuments.net/reader033/viewer/2022042321/5f0bac787e708231d431a8d4/html5/thumbnails/30.jpg)
Improving the quality of EMF models30
Relation: smell erasing refactorings
![Page 31: Improving the quality of EMF models using metrics, …...Improving the quality of EMF models using metrics, smells, and refactorings Gabriele Taentzer, Thorsten Arendt Tutorial at](https://reader033.vdocuments.net/reader033/viewer/2022042321/5f0bac787e708231d431a8d4/html5/thumbnails/31.jpg)
Improving the quality of EMF models31
Relation: smell causing refactorings
![Page 32: Improving the quality of EMF models using metrics, …...Improving the quality of EMF models using metrics, smells, and refactorings Gabriele Taentzer, Thorsten Arendt Tutorial at](https://reader033.vdocuments.net/reader033/viewer/2022042321/5f0bac787e708231d431a8d4/html5/thumbnails/32.jpg)
Improving the quality of EMF models32
Dialog: suggested refactorings
• Invocation on Smell Equal Attributes in Sibling Classes– Occurrence { Motorbike, power }
![Page 33: Improving the quality of EMF models using metrics, …...Improving the quality of EMF models using metrics, smells, and refactorings Gabriele Taentzer, Thorsten Arendt Tutorial at](https://reader033.vdocuments.net/reader033/viewer/2022042321/5f0bac787e708231d431a8d4/html5/thumbnails/33.jpg)
Improving the quality of EMF models33
Dialog: applicable refactorings
• Invocation on Smell Equal Attributes in Sibling Classes– Occurrence { Motorbike, power }
![Page 34: Improving the quality of EMF models using metrics, …...Improving the quality of EMF models using metrics, smells, and refactorings Gabriele Taentzer, Thorsten Arendt Tutorial at](https://reader033.vdocuments.net/reader033/viewer/2022042321/5f0bac787e708231d431a8d4/html5/thumbnails/34.jpg)
Improving the quality of EMF models34
EMF Refactor: parameter dialog
• Refactoring Pull Up Attribute– Context VehicleRentalCompany::Motorbike::power
![Page 35: Improving the quality of EMF models using metrics, …...Improving the quality of EMF models using metrics, smells, and refactorings Gabriele Taentzer, Thorsten Arendt Tutorial at](https://reader033.vdocuments.net/reader033/viewer/2022042321/5f0bac787e708231d431a8d4/html5/thumbnails/35.jpg)
Improving the quality of EMF models35
EMF Refactor: smell analysis
![Page 36: Improving the quality of EMF models using metrics, …...Improving the quality of EMF models using metrics, smells, and refactorings Gabriele Taentzer, Thorsten Arendt Tutorial at](https://reader033.vdocuments.net/reader033/viewer/2022042321/5f0bac787e708231d431a8d4/html5/thumbnails/36.jpg)
Improving the quality of EMF models36
EMF Refactor: result preview
![Page 37: Improving the quality of EMF models using metrics, …...Improving the quality of EMF models using metrics, smells, and refactorings Gabriele Taentzer, Thorsten Arendt Tutorial at](https://reader033.vdocuments.net/reader033/viewer/2022042321/5f0bac787e708231d431a8d4/html5/thumbnails/37.jpg)
Improving the quality of EMF models37
EMF Refactor: refactored model
![Page 38: Improving the quality of EMF models using metrics, …...Improving the quality of EMF models using metrics, smells, and refactorings Gabriele Taentzer, Thorsten Arendt Tutorial at](https://reader033.vdocuments.net/reader033/viewer/2022042321/5f0bac787e708231d431a8d4/html5/thumbnails/38.jpg)
Outline
• Introduction
• Running Example
• Demo: Application of Model Quality Assurance Techniques
• Coffee Break
• Demo: Specification of Model Quality Assurance Techniques
• Conclusion
Improving the quality of EMF models38
![Page 39: Improving the quality of EMF models using metrics, …...Improving the quality of EMF models using metrics, smells, and refactorings Gabriele Taentzer, Thorsten Arendt Tutorial at](https://reader033.vdocuments.net/reader033/viewer/2022042321/5f0bac787e708231d431a8d4/html5/thumbnails/39.jpg)
Used UML specification diagrams
Improving the quality of EMF models39
![Page 40: Improving the quality of EMF models using metrics, …...Improving the quality of EMF models using metrics, smells, and refactorings Gabriele Taentzer, Thorsten Arendt Tutorial at](https://reader033.vdocuments.net/reader033/viewer/2022042321/5f0bac787e708231d431a8d4/html5/thumbnails/40.jpg)
Used UML specification diagrams
Improving the quality of EMF models40
![Page 41: Improving the quality of EMF models using metrics, …...Improving the quality of EMF models using metrics, smells, and refactorings Gabriele Taentzer, Thorsten Arendt Tutorial at](https://reader033.vdocuments.net/reader033/viewer/2022042321/5f0bac787e708231d431a8d4/html5/thumbnails/41.jpg)
Improving the quality of EMF models41
Specification of new metric NACP (Total number ofattributes in classes within the package): general data
![Page 42: Improving the quality of EMF models using metrics, …...Improving the quality of EMF models using metrics, smells, and refactorings Gabriele Taentzer, Thorsten Arendt Tutorial at](https://reader033.vdocuments.net/reader033/viewer/2022042321/5f0bac787e708231d431a8d4/html5/thumbnails/42.jpg)
Improving the quality of EMF models42
Specification of new metric NACP (Total number ofattributes in classes within the package): Java code
![Page 43: Improving the quality of EMF models using metrics, …...Improving the quality of EMF models using metrics, smells, and refactorings Gabriele Taentzer, Thorsten Arendt Tutorial at](https://reader033.vdocuments.net/reader033/viewer/2022042321/5f0bac787e708231d431a8d4/html5/thumbnails/43.jpg)
Improving the quality of EMF models43
Specification of new metric NOCP (Total number ofoperations in classes within the package): general data
![Page 44: Improving the quality of EMF models using metrics, …...Improving the quality of EMF models using metrics, smells, and refactorings Gabriele Taentzer, Thorsten Arendt Tutorial at](https://reader033.vdocuments.net/reader033/viewer/2022042321/5f0bac787e708231d431a8d4/html5/thumbnails/44.jpg)
Improving the quality of EMF models44
Specification of new metric NOCP (Total number ofoperations in classes within the package): OCL expr.
![Page 45: Improving the quality of EMF models using metrics, …...Improving the quality of EMF models using metrics, smells, and refactorings Gabriele Taentzer, Thorsten Arendt Tutorial at](https://reader033.vdocuments.net/reader033/viewer/2022042321/5f0bac787e708231d431a8d4/html5/thumbnails/45.jpg)
Improving the quality of EMF models45
Specification of new metric KFP (Knowing Factor): general data
![Page 46: Improving the quality of EMF models using metrics, …...Improving the quality of EMF models using metrics, smells, and refactorings Gabriele Taentzer, Thorsten Arendt Tutorial at](https://reader033.vdocuments.net/reader033/viewer/2022042321/5f0bac787e708231d431a8d4/html5/thumbnails/46.jpg)
Improving the quality of EMF models46
Specification of new metric KFP (Knowing Factor): metric data
![Page 47: Improving the quality of EMF models using metrics, …...Improving the quality of EMF models using metrics, smells, and refactorings Gabriele Taentzer, Thorsten Arendt Tutorial at](https://reader033.vdocuments.net/reader033/viewer/2022042321/5f0bac787e708231d431a8d4/html5/thumbnails/47.jpg)
Improving the quality of EMF models47
Specification of new smell ‘Too Many Knowers in Package’: general data
![Page 48: Improving the quality of EMF models using metrics, …...Improving the quality of EMF models using metrics, smells, and refactorings Gabriele Taentzer, Thorsten Arendt Tutorial at](https://reader033.vdocuments.net/reader033/viewer/2022042321/5f0bac787e708231d431a8d4/html5/thumbnails/48.jpg)
Improving the quality of EMF models48
Specification of new smell ‘Too Many Knowers in Package’: metric data
![Page 49: Improving the quality of EMF models using metrics, …...Improving the quality of EMF models using metrics, smells, and refactorings Gabriele Taentzer, Thorsten Arendt Tutorial at](https://reader033.vdocuments.net/reader033/viewer/2022042321/5f0bac787e708231d431a8d4/html5/thumbnails/49.jpg)
Used UML specification diagrams (cont.)
Improving the quality of EMF models49
![Page 50: Improving the quality of EMF models using metrics, …...Improving the quality of EMF models using metrics, smells, and refactorings Gabriele Taentzer, Thorsten Arendt Tutorial at](https://reader033.vdocuments.net/reader033/viewer/2022042321/5f0bac787e708231d431a8d4/html5/thumbnails/50.jpg)
Used UML specification diagrams (cont.)
Improving the quality of EMF models50
![Page 51: Improving the quality of EMF models using metrics, …...Improving the quality of EMF models using metrics, smells, and refactorings Gabriele Taentzer, Thorsten Arendt Tutorial at](https://reader033.vdocuments.net/reader033/viewer/2022042321/5f0bac787e708231d431a8d4/html5/thumbnails/51.jpg)
Used UML specification diagrams (cont.)
Improving the quality of EMF models51
![Page 52: Improving the quality of EMF models using metrics, …...Improving the quality of EMF models using metrics, smells, and refactorings Gabriele Taentzer, Thorsten Arendt Tutorial at](https://reader033.vdocuments.net/reader033/viewer/2022042321/5f0bac787e708231d431a8d4/html5/thumbnails/52.jpg)
Improving the quality of EMF models52
Specification of new smell ‘Unused Interface’: general data
![Page 53: Improving the quality of EMF models using metrics, …...Improving the quality of EMF models using metrics, smells, and refactorings Gabriele Taentzer, Thorsten Arendt Tutorial at](https://reader033.vdocuments.net/reader033/viewer/2022042321/5f0bac787e708231d431a8d4/html5/thumbnails/53.jpg)
Improving the quality of EMF models53
Specification of new smell ‘Unused Interface’: Henshin pattern rule specification
![Page 54: Improving the quality of EMF models using metrics, …...Improving the quality of EMF models using metrics, smells, and refactorings Gabriele Taentzer, Thorsten Arendt Tutorial at](https://reader033.vdocuments.net/reader033/viewer/2022042321/5f0bac787e708231d431a8d4/html5/thumbnails/54.jpg)
Refactoring application workflow
Integration of Smells and Refactorings within EMF
Initial Precondition Check
Final Precondition Check
Model Change
Refactoring Invocation
Parameter Input
Error Message
Model Change Preview
54
![Page 55: Improving the quality of EMF models using metrics, …...Improving the quality of EMF models using metrics, smells, and refactorings Gabriele Taentzer, Thorsten Arendt Tutorial at](https://reader033.vdocuments.net/reader033/viewer/2022042321/5f0bac787e708231d431a8d4/html5/thumbnails/55.jpg)
Improving the quality of EMF models55
Specification of new refactoring ‘Remove Unused Interface’: general data
![Page 56: Improving the quality of EMF models using metrics, …...Improving the quality of EMF models using metrics, smells, and refactorings Gabriele Taentzer, Thorsten Arendt Tutorial at](https://reader033.vdocuments.net/reader033/viewer/2022042321/5f0bac787e708231d431a8d4/html5/thumbnails/56.jpg)
Improving the quality of EMF models56
Specification of new refactoring ‘Remove Unused Interface’: Henshin data
![Page 57: Improving the quality of EMF models using metrics, …...Improving the quality of EMF models using metrics, smells, and refactorings Gabriele Taentzer, Thorsten Arendt Tutorial at](https://reader033.vdocuments.net/reader033/viewer/2022042321/5f0bac787e708231d431a8d4/html5/thumbnails/57.jpg)
Improving the quality of EMF models57
Specification of new refactoring ‘Remove Unused Interface’: Henshin’s initial check
![Page 58: Improving the quality of EMF models using metrics, …...Improving the quality of EMF models using metrics, smells, and refactorings Gabriele Taentzer, Thorsten Arendt Tutorial at](https://reader033.vdocuments.net/reader033/viewer/2022042321/5f0bac787e708231d431a8d4/html5/thumbnails/58.jpg)
Improving the quality of EMF models58
Specification of new refactoring ‘Remove Unused Interface’: Henshin’s model change
![Page 59: Improving the quality of EMF models using metrics, …...Improving the quality of EMF models using metrics, smells, and refactorings Gabriele Taentzer, Thorsten Arendt Tutorial at](https://reader033.vdocuments.net/reader033/viewer/2022042321/5f0bac787e708231d431a8d4/html5/thumbnails/59.jpg)
Improving the quality of EMF models59
Specification of new refactoring ‘Remove Unused Interfaces from Package’: CoMReL data
![Page 60: Improving the quality of EMF models using metrics, …...Improving the quality of EMF models using metrics, smells, and refactorings Gabriele Taentzer, Thorsten Arendt Tutorial at](https://reader033.vdocuments.net/reader033/viewer/2022042321/5f0bac787e708231d431a8d4/html5/thumbnails/60.jpg)
Improving the quality of EMF models60
Specification of new refactoring ‘Remove Unused Interfaces from Package’: CoMReL specification
![Page 61: Improving the quality of EMF models using metrics, …...Improving the quality of EMF models using metrics, smells, and refactorings Gabriele Taentzer, Thorsten Arendt Tutorial at](https://reader033.vdocuments.net/reader033/viewer/2022042321/5f0bac787e708231d431a8d4/html5/thumbnails/61.jpg)
Outline
• Introduction
• Running Example
• Demo: Application of Model Quality Assurance Techniques
• Coffee Break
• Demo: Specification of Model Quality Assurance Techniques
• Conclusion
Improving the quality of EMF models61
![Page 62: Improving the quality of EMF models using metrics, …...Improving the quality of EMF models using metrics, smells, and refactorings Gabriele Taentzer, Thorsten Arendt Tutorial at](https://reader033.vdocuments.net/reader033/viewer/2022042321/5f0bac787e708231d431a8d4/html5/thumbnails/62.jpg)
A model quality assurance process
Improving the quality of EMF models62
Specification of a project-specific model quality assurance process
Application of the specified process to concrete software models
![Page 63: Improving the quality of EMF models using metrics, …...Improving the quality of EMF models using metrics, smells, and refactorings Gabriele Taentzer, Thorsten Arendt Tutorial at](https://reader033.vdocuments.net/reader033/viewer/2022042321/5f0bac787e708231d431a8d4/html5/thumbnails/63.jpg)
Tool environment for model quality assurance
Improving the quality of EMF models
Problems
Risks
Model Refactorings
Model Smells
Model Metrics
Model Quality Assurance Process
63
![Page 64: Improving the quality of EMF models using metrics, …...Improving the quality of EMF models using metrics, smells, and refactorings Gabriele Taentzer, Thorsten Arendt Tutorial at](https://reader033.vdocuments.net/reader033/viewer/2022042321/5f0bac787e708231d431a8d4/html5/thumbnails/64.jpg)
Tool environment for model quality assurance
• Highly integrated
– Specific tools use each other• Metric-based model smells• Refactoring invocation from within model smell results view• Model smell analysis during refactoring application
– Each tool can be used directly on the model within a certain EMF-based modeling environment
• EMF instance editor• Unified Modeling Language (UML)
– Eclipse Plugin Papyrus– IBM Rational Software Architect
Improving the quality of EMF models64
![Page 65: Improving the quality of EMF models using metrics, …...Improving the quality of EMF models using metrics, smells, and refactorings Gabriele Taentzer, Thorsten Arendt Tutorial at](https://reader033.vdocuments.net/reader033/viewer/2022042321/5f0bac787e708231d431a8d4/html5/thumbnails/65.jpg)
Tool environment for model quality assurance
• Flexible specification mechanisms
– Usage of existing quality assurance techniques• Combination of existing model metrics• Metric-based model smells• Composite model refactorings
– Usage of concrete specification languages• Java• OCL• EMF model transformation language Henshin• … further languages can be integrated by new adapters
Improving the quality of EMF models65
![Page 66: Improving the quality of EMF models using metrics, …...Improving the quality of EMF models using metrics, smells, and refactorings Gabriele Taentzer, Thorsten Arendt Tutorial at](https://reader033.vdocuments.net/reader033/viewer/2022042321/5f0bac787e708231d431a8d4/html5/thumbnails/66.jpg)
Implemented model quality assurance techniques
Improving the quality of EMF models66
Ecore models UML2EMF models
Metrics 17 106
Smells 10 30
Refactorings 22 30
![Page 67: Improving the quality of EMF models using metrics, …...Improving the quality of EMF models using metrics, smells, and refactorings Gabriele Taentzer, Thorsten Arendt Tutorial at](https://reader033.vdocuments.net/reader033/viewer/2022042321/5f0bac787e708231d431a8d4/html5/thumbnails/67.jpg)
Tool environment for model quality assurance
• Download
– http://www.eclipse.org/modeling/emft/refactor/• Downloads• Specials
Improving the quality of EMF models67