A study about Ant Colony to component-based software architecture - - PowerPoint PPT Presentation

a study about ant colony to component based software
SMART_READER_LITE
LIVE PREVIEW

A study about Ant Colony to component-based software architecture - - PowerPoint PPT Presentation

Introduction Method Experiment Conclusion A study about Ant Colony to component-based software architecture optimization Mariane Affonso Medeiros , Filipe Roseiro C ogo, Marco Aur elio Graciotto Silva marianeaffonsomedeiros@gmail.com ,


slide-1
SLIDE 1

Introduction Method Experiment Conclusion

A study about Ant Colony to component-based software architecture optimization

Mariane Affonso Medeiros , Filipe Roseiro Cˆ

  • go, Marco Aur´

elio Graciotto Silva marianeaffonsomedeiros@gmail.com, {filiper,magsilva}@utfpr.edu.br 21 de setembro de 2016

1 / 26

slide-2
SLIDE 2

Introduction Method Experiment Conclusion

Introduction

Some works that propose optimization of component-based software architecture. [Hussain-etal:2015]

Particle Swarm Optimization - PSO;

[Ramirez-etal:2015]

Genetic Algorithm;

[Mueller:2014]

Ant Colony Optimization (ACO);

2 / 26

slide-3
SLIDE 3

Introduction Method Experiment Conclusion

Introduction

Some works that propose optimization of component-based software architecture. [Hussain-etal:2015]

Particle Swarm Optimization - PSO;

[Ramirez-etal:2015]

Genetic Algorithm;

[Mueller:2014]

Ant Colony Optimization (ACO);

Lack of approaches that consider architectural style during the

  • ptimization.

2 / 26

slide-4
SLIDE 4

Introduction Method Experiment Conclusion Objective

Objective

The aim of this study is to observe the behavior of Ant Colony to

  • ptimization of component-based software architecture, considering

coesion, coupling and preservation of the architectural style. Comparison of proposed solutions by algorithm with the original architecture; Observe how is the evolution of metric value in relation to values assigned to the parameters of metaheuristic.

3 / 26

slide-5
SLIDE 5

Introduction Method Experiment Conclusion

Method

4 / 26

slide-6
SLIDE 6

Introduction Method Experiment Conclusion

Method

5 / 26

slide-7
SLIDE 7

Introduction Method Experiment Conclusion

Representation of Architecture Model

UML Model; API UML2 to process the UML model; From UML model we extract the informations:

Number of classes; Number of packages Relationships between classes and packages; Relationships between classes of the architecture.

Recovery UML Model; plugin Eclipse Modisco;

6 / 26

slide-8
SLIDE 8

Introduction Method Experiment Conclusion

Method

7 / 26

slide-9
SLIDE 9

Introduction Method Experiment Conclusion

Style Representation

Architecture style considered: Layered Architecture; Profiles and Stereotypes UML. Profile defined: ArchitectureStyle; Stereotype defined to layered architecture: Layered

8 / 26

slide-10
SLIDE 10

Introduction Method Experiment Conclusion

Method

9 / 26

slide-11
SLIDE 11

Introduction Method Experiment Conclusion

Problem Representation

Matrix that represents relationships between classes and components;

Comp1 Comp2 Comp3 N C1 0.5 0.5 0.7 0.5 C2 0.5 0.7 0.5 0.5 C3 0.5 0.5 0.5 0.5 C4 0.5 0.8 0.7 0.5

Matrix that represents relationships between classes;

C1 C2 C3 C4 N C1 0.5 0.6 0.5 0.5 0.5 C2 0.5 0.5 0.5 0.5 0.5 C3 0.5 0.5 0.5 0.5 0.5 C4 0.5 0.5 0.5 0.5 0.5

10 / 26

slide-12
SLIDE 12

Introduction Method Experiment Conclusion

Method

11 / 26

slide-13
SLIDE 13

Introduction Method Experiment Conclusion

Metric and Objective Function

Metrics to evaluate architecture quality: Coesion; Coupling. This two metrics are encapsulated in a objective function called: Modularization Quality (MQ) MQ =   

k

i=1 Ai

k

k

i,j=1 Ei,j k·(k−1) 2

se k > 1 A1 se k = 1 (1)

12 / 26

slide-14
SLIDE 14

Introduction Method Experiment Conclusion

Architecture Style

To check if architecture style is violated we use penalizations; We apply penalizations to the relationships that break the rules of architecture style;

penalidadei,j =

  • 1 −

totali+totalj totalGeralDeQuebrasDaRegra

if there is style 1 if there is no style (2)

13 / 26

slide-15
SLIDE 15

Introduction Method Experiment Conclusion

Method

14 / 26

slide-16
SLIDE 16

Introduction Method Experiment Conclusion

ACO to Architecture Optimization

15 / 26

slide-17
SLIDE 17

Introduction Method Experiment Conclusion

ACO to Architecture Optimization

16 / 26

slide-18
SLIDE 18

Introduction Method Experiment Conclusion

Method

17 / 26

slide-19
SLIDE 19

Introduction Method Experiment Conclusion

Experiment

Version 1.1.0 of software Apache Ant; Realized 1 experiment; To each test done, we apply many combinations of the parameters configuration (ρ, α, β, number of ant and iterations); Each configuration was performed 10 times;

Project Classes Components Layers MQ Apache Ant 1.1.0 97 7 6 0.55534

18 / 26

slide-20
SLIDE 20

Introduction Method Experiment Conclusion

Distribution of classes in components

19 / 26

slide-21
SLIDE 21

Introduction Method Experiment Conclusion

Evolution of MQ and Penalties

20 / 26

slide-22
SLIDE 22

Introduction Method Experiment Conclusion

Conclusion

ACO has achieved value of MQ 11% higher than original architecture; The MQ metric tends bring to zero the number of external relationships, causing that the layered architecture style do not be contravened; However, if consider fewer iterations we observed that the number of penalties, to solutions that have values attributed to beta, is smaller than the solutions that were not attributed beta values.

21 / 26

slide-23
SLIDE 23

Introduction Method Experiment Conclusion

Future Works

Apply more experiments, with other projects; Evaluate others architecture styles; Do the multi-objective metaheuristic;

22 / 26

slide-24
SLIDE 24

Introduction Method Experiment Conclusion

A study about Ant Colony to component-based software architecture optimization

Mariane Affonso Medeiros , Filipe Roseiro Cˆ

  • go, Marco Aur´

elio Graciotto Silva marianeaffonsomedeiros@gmail.com, {filiper,magsilva}@utfpr.edu.br 21 de setembro de 2016

23 / 26

slide-25
SLIDE 25

Number of classes and internal and external relationships

  • f Apache Ant 1.1.0 with architectural style

24 / 26

slide-26
SLIDE 26

Results obtained by ACO to version 1.1.0 without architectural style

Id Iterations Ants ρ α β MQ 1 100 15 0.2 0.4 0.2 0.61802 2 100 5 0.4 0.2 0.2 0.61765 3 100 15 0.4 0.2 0.4 0.61033 4 100 5 0.1 0.9 0.8 0.59660 5 50 20 0.7 0.4 0.9 0.59499 6 30 20 0.4 0.6 0.9 0.59274 7 20 20 0.6 0.4 0.1 0.59023

25 / 26

slide-27
SLIDE 27

Results obtained by the ACO to version 1.1.0 with architectural style

Id Iterations Ants ρ α β MQ Rel. Penalizados 1 50 20 0.7 0.4 0.0 0.60244 2 100 15 0.8 0.2 0.4 0.60019 3 30 20 0.7 0.4 0.3 0.59660 3 4 30 20 0.7 0.4 0.7 0.59563 5 20 20 0.5 0.4 0.1 0.58182 8 6 20 20 0.2 0.4 0.1 0.56292 16

26 / 26