Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Performance-driven software model refactoring

Performance-driven software model refactoring

Journal first presentation at SANER 2019

Daniele Di Pompeo

February 24, 2019
Tweet

More Decks by Daniele Di Pompeo

Other Decks in Research

Transcript

  1. PERFORMANCE-DRIVEN SOFTWARE MODEL REFACTORING DAVIDE ARCELLI, VITTORIO CORTELLESSA, DANIELE DI

    POMPEO 26th edition of the IEEE International Conference on Software Analysis, Evolution and Reengineering Zhejiang University in Hangzhou, February 24-27, 2019 Journal First Presentation SEA Quality Group, DISIM, University of L’Aquila {davide.arcelli, vittorio.cortellessa, daniele.dipompeo}@univaq.it HTTPS://TINYURL.COM/Y8WVHWHO
  2. 26th edition of the IEEE International Conference on Software Analysis,

    Evolution and Reengineering PERFORMANCE-DRIVEN SOFTWARE MODEL REFACTORING - ARCELLI D., CORTELLESSA V., DI POMPEO D. SOFTWARE ENGINEERING AND ARCHITECTURE QUALITY GROUP 2 Vittorio Cortellessa Davide Arcelli Daniele Di Pompeo ICT and Math Dept (DISIM) University of L’Aquila https://git.io/fhocV [email protected] [email protected] [email protected] TAKE A LOOK AT OUR PROJECTS
  3. 26th edition of the IEEE International Conference on Software Analysis,

    Evolution and Reengineering 3 PERFORMANCE-DRIVEN SOFTWARE MODEL REFACTORING - ARCELLI D., CORTELLESSA V., DI POMPEO D. SOFTWARE PERFORMANCE ENGINEERING FLOW 1 - Design 2 - M2M Transformation 3 - Performance Indices 4 - Check Requirement 5 - Feedback to users Application Designer S M2M Perf Model 0.89 0.45 0.34 1.34 4 4.7 0.89 0.45 0.46 1.34 4 4.7 Perf Indices NO A B D C Actor UC1 UC2 N1 N3 N2 Perf-oriented Design Model A B D C Actor UC1 UC2 N1 N3 N2 Filled Perf-oriented Design Model Filler x Performance Expert EWL EVL EPL PORTING ENGINE OR YES ? A B D C Actor UC1 UC2 N1 N3 N2 Refactored Perf-oriented Design Model Solver DESIGN PERFORMANCE Perf­oriented Model Integration A B D C Actor UC1 UC2 N1 N3 N2 ` Design Model 1 2 4 3 5
  4. 26th edition of the IEEE International Conference on Software Analysis,

    Evolution and Reengineering DESIGN PHASE 1 B A C A - Deployment View ( Node / Device ) B - Static View ( Component ) C - Dynamic View ( Lifeline & Messages ) 4 PERFORMANCE-DRIVEN SOFTWARE MODEL REFACTORING - ARCELLI D., CORTELLESSA V., DI POMPEO D.
  5. 26th edition of the IEEE International Conference on Software Analysis,

    Evolution and Reengineering 2 M2M TRANSFORMATION 5 QUEUEING NETWORK MODEL PERFORMANCE-DRIVEN SOFTWARE MODEL REFACTORING - ARCELLI D., CORTELLESSA V., DI POMPEO D. NODES MAPPED TO SERVICE CENTERS SCENARIOS MAPPED TO JOB CLASSES
  6. 26th edition of the IEEE International Conference on Software Analysis,

    Evolution and Reengineering 3 6 QUEUEING NETWORK MODEL PERFORMANCE-DRIVEN SOFTWARE MODEL REFACTORING - ARCELLI D., CORTELLESSA V., DI POMPEO D. GATHERING INDICES UTILIZATION = 0.399 NODES MAPPED TO SERVICE CENTERS SCENARIOS MAPPED TO JOB CLASSES
  7. 26th edition of the IEEE International Conference on Software Analysis,

    Evolution and Reengineering 4 7 QUEUEING NETWORK MODEL NODES MAPPED TO SERVICE CENTERS SCENARIOS MAPPED TO JOB CLASSES PERFORMANCE-DRIVEN SOFTWARE MODEL REFACTORING - ARCELLI D., CORTELLESSA V., DI POMPEO D. UTILIZATION = 0.399 Is PRutil met? CHECKING PERF REQ
  8. 26th edition of the IEEE International Conference on Software Analysis,

    Evolution and Reengineering Application Designer S M2M Perf Model 0.89 0.45 0.34 1.34 4 4.7 0.89 0.45 0.46 1.34 4 4.7 Perf Indices NO A B D C Actor UC1 UC2 N1 N3 N2 Perf-oriented Design Model A B D C Actor UC1 UC2 N1 N3 N2 Filled Perf-oriented Design Model Filler x Performance Expert EWL EVL EPL PORTING ENGINE OR YES ? A B D C Actor UC1 UC2 N1 N3 N2 Refactored Perf-oriented Design Model Solver DESIGN PERFORMANCE Perf­oriented Model Integration A B D C Actor UC1 UC2 N1 N3 N2 ` Design Model 8 2 4 5 PERFORMANCE-DRIVEN SOFTWARE MODEL REFACTORING - ARCELLI D., CORTELLESSA V., DI POMPEO D. SOFTWARE PERFORMANCE ENGINEERING FLOW 1 - Design 2 - M2M Transformation 3 - Performance Indices 4 - Check Requirement 5 - PADRE 3 1
  9. 26th edition of the IEEE International Conference on Software Analysis,

    Evolution and Reengineering A PERFORMANCE ANTIPATTERN PERFORMANCE-DRIVEN SOFTWARE MODEL REFACTORING - ARCELLI D., CORTELLESSA V., DI POMPEO D. 9 9OpI 2 O, S 2 S, i 2 N | FresDemand(Op)[i] ThresDemand[i] ^ FprobExec(S, OpI) = 1 ^ (FmaxHwUtil(Pc, all) ThmaxHwUtil _ FT (S) < ThSthReq) <latexit sha1_base64="(null)">(null)</latexit> <latexit sha1_base64="(null)">(null)</latexit> <latexit sha1_base64="(null)">(null)</latexit> <latexit sha1_base64="(null)">(null)</latexit> BAD DESIGN PRACTICES THAT INDUCE PERFORMANCE DEGRADATION FIRST-ORDER LOGIC REPRESENTATION
  10. 26th edition of the IEEE International Conference on Software Analysis,

    Evolution and Reengineering 10 EPSILON SUITE LANGUAGE PERFORMANCE-DRIVEN SOFTWARE MODEL REFACTORING - ARCELLI D., CORTELLESSA V., DI POMPEO D. 8 DIFFERENT LANGUAGES HTTPS://WWW.ECLIPSE.ORG/EPSILON/ INTEGRATED DEVELOPMENT TOOLS STRONG SUPPORT FOR EMF 7 DIFFERENT TOOLS Epsilon Validation Language (EVL) A model validation language that supports both intra and inter-model consistency checking, and provides out-of-the- box integration with EMF & GMF editors. Epsilon Wizard Language (EWL) A language tailored for interactive in-place transformations on model elements selected by the user. EWL provides out-of-the-box integration with EMF & GMF editors. Epsilon Pattern Language (EPL) EPL provides facilities for performing pattern matching on a model and produces a match model that can be used with the other Epsilon languages in order to query, evaluate, transform the found matches.
  11. 26th edition of the IEEE International Conference on Software Analysis,

    Evolution and Reengineering 5 PERFORMANCE-DRIVEN SOFTWARE MODEL REFACTORING FRAMEWORK x EWL EVL EPL PORTING ENGINE OR Performance Expert PERFORMANCE ANTIPATTERN BASED REFACTORING TOOL 10 DIFFERENT REFACTORING ACTIONS 7 DIFFERENT PERFORMANCE ANTIPATTERNS + A PORTING ENGINE 11 PERFORMANCE-DRIVEN SOFTWARE MODEL REFACTORING - ARCELLI D., CORTELLESSA V., DI POMPEO D. 3 DIFFERENT REFACTORING ENGINES BATCH ( EPL ) SINGLE ( EWL ) MULTIPLE ( EVL ) BATCH - EPL useful for nightly and long Perf AP detection and refactoring session SINGLE - EWL useful with expert users and for applying actions directly on the model MULTIPLE - EVL useful when users want apply a sequence of refactoring action before analysing the model
  12. 26th edition of the IEEE International Conference on Software Analysis,

    Evolution and Reengineering CODIFIED DETECTION RULE & REFACTORING ACTION Target Metaclass & Performance antipattern name Detection rule Refactoring action block Message to the user The refactoring action UML::Operation PERFORMANCE-DRIVEN SOFTWARE MODEL REFACTORING - ARCELLI D., CORTELLESSA V., DI POMPEO D. 12
  13. 26th edition of the IEEE International Conference on Software Analysis,

    Evolution and Reengineering PORTING RULES AMONG EPSILON LANGUAGES PERFORMANCE-DRIVEN SOFTWARE MODEL REFACTORING - ARCELLI D., CORTELLESSA V., DI POMPEO D. 13 EVL EWL EPL
  14. 26th edition of the IEEE International Conference on Software Analysis,

    Evolution and Reengineering PERFORMANCE-DRIVEN SOFTWARE MODEL REFACTORING - ARCELLI D., CORTELLESSA V., DI POMPEO D. FROM UML NODES TO SERVICE CENTERS AND DELAY NODES 14 CASE STUDY
  15. 26th edition of the IEEE International Conference on Software Analysis,

    Evolution and Reengineering PERFORMANCE-DRIVEN SOFTWARE MODEL REFACTORING - ARCELLI D., CORTELLESSA V., DI POMPEO D. FROM UML SCENARIOS TO JOB CLASSES 15 CASE STUDY
  16. 26th edition of the IEEE International Conference on Software Analysis,

    Evolution and Reengineering PERFORMANCE-DRIVEN SOFTWARE MODEL REFACTORING - ARCELLI D., CORTELLESSA V., DI POMPEO D. 16 Refactoring actions executed on the source BGCS PRAccessGreenhouse = 30 sec PRChangeSettings = 40 sec CASE STUDY
  17. 26th edition of the IEEE International Conference on Software Analysis,

    Evolution and Reengineering PERFORMANCE-DRIVEN SOFTWARE MODEL REFACTORING - ARCELLI D., CORTELLESSA V., DI POMPEO D. 17 Are not promising paths CASE STUDY PRAG = 30 sec PRCS = 40 sec
  18. 26th edition of the IEEE International Conference on Software Analysis,

    Evolution and Reengineering CASE STUDY PERFORMANCE-DRIVEN SOFTWARE MODEL REFACTORING - ARCELLI D., CORTELLESSA V., DI POMPEO D. 18 Moves a component to a new Node PRAG = 30 sec PRCS = 40 sec PRAG and PRCS are not met, but the trend is going to the right direction