Post on 19-Feb-2017
Dipartimento di Ingegneria e Scienze
Università degli Studi dell’Aquila
dell’Informazione e Matematica
Automated Translation among EPSILON Languages for Performance-Driven UML Software Model Refactoring
Davide Arcellidavide.arcelli@univaq.it
Vittorio Cortellessavittorio.cortellessa@univaq.it
Daniele Di Pompeodaniele.dipompeo@gradutate.uunivaq.it
DISIM @ University of L'Aquila
• Introduction
• Model Refactoring Framework
• Automated Translation among EPSILON Language
• Conclusion
Agenda
2 / 21
DISIM @ University of L'Aquila
Framework within SPE [1,2,3]
3 / 21
DISIM @ University of L'Aquila
Performance Antipattern Formalism [4]
4 / 21
DISIM @ University of L'Aquila
• Developed by York University
• Is an open source eclipse based project
• Provides a suite of languages to elaborate models
• Is made up of 7 languages, each one is thought for a
specific goal
EPSILON Suite Language [5]
5 / 21
DISIM @ University of L'Aquila
• EVL is a validation language. It provides a window as
validation session output
• EWL is a visual language, it provides a graphical wizard in
order to apply defined rules
• EPL is a batch language, it does not provide a graphical /
window session output, but it provides a running configuration
and it analyses the source model and applies refactoring
actions in background
EPSILON: Selected Languages
6 / 21
DISIM @ University of L'Aquila
• Introduction
• Model Refactoring Framework
• Automated Translation among EPSILON Language
• Conclusion
Agenda
7 / 21
DISIM @ University of L'Aquila
Model Refactoring Framework [6]
• The library is thought for
supporting the extensibility of
the Framework
• It is made up of different EOL
files one for each:
• Supported Meta-Class (i.e.,
Component, Node, Lifeline etc.)
• Defined Thresholds
8 / 21
DISIM @ University of L'Aquila
The Porting Engine
• Is a JAVA program
• Exploits the EPSILON AST
• Uses our defined mappings
• Does not support translation
among every EPSILON
languages
9 / 21
DISIM @ University of L'Aquila
• Introduction
• Model Refactoring Framework
• Automated Translation among EPSILON Language
• Conclusion
Agenda
10 / 21
DISIM @ University of L'Aquila
Mappings among Languages
EVLEWLEPL
11 / 21
DISIM @ University of L'Aquila
Automated Translation in practice
12 / 21
DISIM @ University of L'Aquila
Automated Translation: example
Here we create the target EPL AST
13 / 21
DISIM @ University of L'Aquila
Automated Translation: example
They are the file imports used into the source EPSILON language
14 / 21
DISIM @ University of L'Aquila
Automated Translation: example
For each Fix of each Critique of each Context we create a new Pattern in the target EPL AST
15 / 21
DISIM @ University of L'Aquila
DEMO
16 / 21
DISIM @ University of L'Aquila
• Introduction
• Model Refactoring Framework
• Automated Translation among EPSILON Language
• Conclusion
Agenda
17 / 21
DISIM @ University of L'Aquila
Model-based automatic generation of EPSILON code
Introducing heuristic for estimating• Antipattern
occurrence probability
• Refactoring action effectiveness
Integration with other refactoring approaches• Software
Reliability• Improving of
functional design
Future Work
18 / 21
DISIM @ University of L'Aquila
• The framework supports different Assistant Designer
• The framework works on UML (Component) models
• The framework can also work over DSLs
• Everyone can write his own rules (detections and refactoring
actions)
Conclusion
19 / 21
DISIM @ University of L'Aquila
Questions ?
Automated Translation among EPSILON Languages for Performance-Driven UML Software Model Refactoring
DISIM @ University of L’Aquila
Arcelli, D., Cortellessa, V. and Di Pompeo, D.
{davide.arcelli,vittorio.cortellessa}@univaq.it – daniele.dipompeo@graduate.univaq.it
https://github.com/SEALABQualityGroup
20 / 21
DISIM @ University of L'Aquila
• [1] C. Smith, “Introduction to Software Performance Engineering: Origins and Outstanding Problems,” in Formal Methods for Performance Evaluation, vol. 4486, Springer, 2007, pp. 395–428.• [2] C. U. Smith and L. G. Williams, “New Software Performance
AntiPatterns: More Ways to Shoot Yourself in the Foot,” presented at the CMG Conference, 2002, pp. 667–674.• [3] C. U. Smith and L. G. Williams, “More New Software Antipatterns:
Even More Ways to Shoot Yourself in the Foot,” presented at the CMG Conference, 2003, pp. 717–725.• [4] V. Cortellessa, A. Di Marco, and C. Trubiani, “Performance
Antipatterns as Logical Predicates,” presented at the ICECCS, 2010, pp. 146–156.• [5] D. Kolovos, L. Rose, R. Paige, and A. Garcıa-Domınguez, “The epsilon
book,” Structure, vol. 178, pp. 1–10, 2010.• [6] D. Arcelli, V. Cortellessa, and D. Di Pompeo, “Towards a Unifying
Approach for Performance-Driven Software Model Refactoring,” presented at the MPM co-located with MODELS, 2015, pp. 42–51.
References
21 / 21