Automated Translation among EPSILON Languages for Performance-Driven UML Software Model Refactoring

21
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 Arcelli [email protected] Vittorio Cortellessa [email protected] Daniele Di Pompeo [email protected]

Transcript of Automated Translation among EPSILON Languages for Performance-Driven UML Software Model Refactoring

Page 1: Automated Translation among EPSILON Languages for Performance-Driven  UML Software Model Refactoring

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 [email protected]

Vittorio [email protected]

Daniele Di [email protected]

Page 2: Automated Translation among EPSILON Languages for Performance-Driven  UML Software Model Refactoring

DISIM @ University of L'Aquila

• Introduction

• Model Refactoring Framework

• Automated Translation among EPSILON Language

• Conclusion

Agenda

2 / 21

Page 3: Automated Translation among EPSILON Languages for Performance-Driven  UML Software Model Refactoring

DISIM @ University of L'Aquila

Framework within SPE [1,2,3]

3 / 21

Page 4: Automated Translation among EPSILON Languages for Performance-Driven  UML Software Model Refactoring

DISIM @ University of L'Aquila

Performance Antipattern Formalism [4]

4 / 21

Page 5: Automated Translation among EPSILON Languages for Performance-Driven  UML Software Model Refactoring

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

Page 6: Automated Translation among EPSILON Languages for Performance-Driven  UML Software Model Refactoring

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

Page 7: Automated Translation among EPSILON Languages for Performance-Driven  UML Software Model Refactoring

DISIM @ University of L'Aquila

• Introduction

• Model Refactoring Framework

• Automated Translation among EPSILON Language

• Conclusion

Agenda

7 / 21

Page 8: Automated Translation among EPSILON Languages for Performance-Driven  UML Software Model Refactoring

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

Page 9: Automated Translation among EPSILON Languages for Performance-Driven  UML Software Model Refactoring

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

Page 10: Automated Translation among EPSILON Languages for Performance-Driven  UML Software Model Refactoring

DISIM @ University of L'Aquila

• Introduction

• Model Refactoring Framework

• Automated Translation among EPSILON Language

• Conclusion

Agenda

10 / 21

Page 11: Automated Translation among EPSILON Languages for Performance-Driven  UML Software Model Refactoring

DISIM @ University of L'Aquila

Mappings among Languages

EVLEWLEPL

11 / 21

Page 12: Automated Translation among EPSILON Languages for Performance-Driven  UML Software Model Refactoring

DISIM @ University of L'Aquila

Automated Translation in practice

12 / 21

Page 13: Automated Translation among EPSILON Languages for Performance-Driven  UML Software Model Refactoring

DISIM @ University of L'Aquila

Automated Translation: example

Here we create the target EPL AST

13 / 21

Page 14: Automated Translation among EPSILON Languages for Performance-Driven  UML Software Model Refactoring

DISIM @ University of L'Aquila

Automated Translation: example

They are the file imports used into the source EPSILON language

14 / 21

Page 15: Automated Translation among EPSILON Languages for Performance-Driven  UML Software Model Refactoring

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

Page 16: Automated Translation among EPSILON Languages for Performance-Driven  UML Software Model Refactoring

DISIM @ University of L'Aquila

DEMO

16 / 21

Page 17: Automated Translation among EPSILON Languages for Performance-Driven  UML Software Model Refactoring

DISIM @ University of L'Aquila

• Introduction

• Model Refactoring Framework

• Automated Translation among EPSILON Language

• Conclusion

Agenda

17 / 21

Page 18: Automated Translation among EPSILON Languages for Performance-Driven  UML Software Model Refactoring

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

Page 19: Automated Translation among EPSILON Languages for Performance-Driven  UML Software Model Refactoring

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

Page 20: Automated Translation among EPSILON Languages for Performance-Driven  UML Software Model Refactoring

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 – [email protected]

https://github.com/SEALABQualityGroup

20 / 21

Page 21: Automated Translation among EPSILON Languages for Performance-Driven  UML Software Model Refactoring

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