Mathematics SEA Group EASIER : an Evolutionary Approach for multi-objective Software archItecturE Refactoring Davide Arcelli, Vittorio Cortellessa Mattia D'Emidio, Daniele Di Pompeo 2ND IEEE International Conference on Software Architecture April 30 – May 4 2018, Seattle USA
EASIER – a case study • Conclusion Agenda EASIER: an Evolutionary Approach for multi-objective Software archItecturE Refactoring @ 2nd IEEE International Conference on Software Architecture, Seattle 2018 03/05/2018 2
applied to several software architecture problems. • It has demonstrated to be a particularly effective paradigm on problems that can be natively formulated through quantifiable metrics. • The optimization of quality attributes (such as performance, reliability, usability) nicely fits into this category of problems. • These attributes are meaningful only if expressed through quantifiable metrics. Motivation EASIER: an Evolutionary Approach for multi-objective Software archItecturE Refactoring @ 2nd IEEE International Conference on Software Architecture, Seattle 2018 03/05/2018 3
@ 2nd IEEE International Conference on Software Architecture, Seattle 2018 03/05/2018 4 • Among architecture quality attributes, performance is particularly complex. • It emerges from the combination of several software characteristics. • Very few ADLs embed constructs to specify performance parameters. • Even fewer ones provide tools to natively analyze performance within the same ADL environment.
@ 2nd IEEE International Conference on Software Architecture, Seattle 2018 03/05/2018 5 Goal of this work is to introduce EASIER, a thorough environment in which software architecture (near optimal) refactoring can be studied vs. multiple objectives, with a special emphasis to performance.
EASIER – a case study • Conclusion Agenda EASIER: an Evolutionary Approach for multi-objective Software archItecturE Refactoring @ 2nd IEEE International Conference on Software Architecture, Seattle 2018 03/05/2018 6
Refactoring @ 2nd IEEE International Conference on Software Architecture, Seattle 2018 Existing approaches PerOpteryx (A. Koziolek et al.) ArcheOpterix (L. Grunske et al.) SASSY (D. Menasce et al.)
archItecturE Refactoring @ 2nd IEEE International Conference on Software Architecture, Seattle 2018 03/05/2018 8 • Operational aspects of the architectural refactoring path(s) • A solution vector (chromosome) is made of a sequence of refactoring actions • Concepts of : architectural distance, performance quality indicator • Role of performance antipatterns • All these aspects are taken into account into an unique environment • Conceived to be applied to different ADLs
EASIER – a case study • Conclusion Agenda EASIER: an Evolutionary Approach for multi-objective Software archItecturE Refactoring @ 2nd IEEE International Conference on Software Architecture, Seattle 2018 03/05/2018 9
@ 2nd IEEE International Conference on Software Architecture, Seattle 2018 https://github.com/SEALABQualityGroup/EASIER 03/05/2018 10 • It is a Java application • It provides an engine for refactoring Æmilia models • It exploits a genetic algorithm (NSGA-II) to find a Pareto frontier of sequences of refactoring actions (Evolutionary Approach for multi-objective Software archItecturE Refactoring)
Refactoring @ 2nd IEEE International Conference on Software Architecture, Seattle 2018 03/05/2018 18 • It quantifies the distance of an architectural alternative from the initial one, in terms of intensity of refactoring changes. • ArchDist is predefined for each RefactoringAction, but it can be modified. to minimize Fitness Function Objectives
Refactoring @ 2nd IEEE International Conference on Software Architecture, Seattle 2018 03/05/2018 19 • It counts the number of performance antipatterns occurrences within an alternative architecture. • It supports OCL for antipatterns detection rules specification and verification. • EASIER is the first approach that considers the number of PAs as an objective of an evolutionary algorithm's fitness function. to minimize Fitness Function Objectives
Refactoring @ 2nd IEEE International Conference on Software Architecture, Seattle 2018 03/05/2018 20 • Each j-th term of this sum assumes: • a positive value when we aim at minimizing (maximizing, resp.) the measure and such a measure, in the architectural alternative, exhibits a value Fj that is smaller (larger, resp.) than the assumed one in the original architecture, i.e. Ij ; • a negative or zero value otherwise. • Architectural alternatives whose overall performance is better (worse, resp.) than the initial one will be associated with positive (negative, resp.) values of performance quality indicator Fitness Function Objectives
Refactoring @ 2nd IEEE International Conference on Software Architecture, Seattle 2018 03/05/2018 21 • … and a special case for utilization indices Fitness Function Objectives
EASIER – a case study • Conclusion Agenda EASIER: an Evolutionary Approach for multi-objective Software archItecturE Refactoring @ 2nd IEEE International Conference on Software Architecture, Seattle 2018 03/05/2018 27
an Evolutionary Approach for multi-objective Software archItecturE Refactoring @ 2nd IEEE International Conference on Software Architecture, Seattle 2018 03/05/2018 28 • A WSN monitors the environment with a certain pace/workload. • Sample data, through a channel (CHN), are stored in a database (DB) • A Fire Tracking Application (FTA) analyzes data, and triggers an alarm in case of a risky situation. • Secure communication occurs between WSN and the firefighter's desktop application (DSK) is guaranteed • Decryption is performed by a security component (SCR) • Data are exchanged through a LAN that connects FTA to DB, DSK and SRC.
EASIER – a case study • Conclusion Agenda EASIER: an Evolutionary Approach for multi-objective Software archItecturE Refactoring @ 2nd IEEE International Conference on Software Architecture, Seattle 2018 03/05/2018 34
@ 2nd IEEE International Conference on Software Architecture, Seattle 2018 03/05/2018 35 • EASIER captures very interesting Pareto-front solutions… • … in a reasonable time up to certain population/epoch numbers • PerfQ is a realistic index for performance improvement/degradation • ArchDist generates interesting tradeoffs between architectural improvement and measures related to architectural changes necessary to achieve those improvements • The computation accuracy of number #PA of performance antipatterns needs to be improved threshold problem • This would open new possibilities into EASIER (e.g. keeping only #PA as a performance index)
Use other evolutionary methods… … on larger size case studies Experiment onto other modeling languages Consider other attributes (e.g. availability- based refactoring) Future work 03/05/2018 EASIER: an Evolutionary Approach for multi-objective Software archItecturE Refactoring @ 2nd IEEE International Conference on Software Architecture, Seattle 2018 36
Mathematics SEA Group [email protected][email protected] Questions? 2ND IEEE International Conference on Software Architecture EASIER: an Evolutionary Approach for multi-objective Software archItecturE Refactoring EASIER: an Evolutionary Approach for multi-objective Software archItecturE Refactoring @ 2nd IEEE International Conference on Software Architecture, Seattle 2018 April 30 – May 4 2018, Seattle USA [email protected][email protected] 03/05/2018 37