Sogol Faridmoayer; Samaneh HoseinDoost; Shekoufeh Kolahdouz Rahimi; Bahman Zamani
Abstract
The Class Responsibility Assignment (CRA) problem is one of the most important problems in Object-Oriented Software Engineering. It is a Search-based optimization problem ...
Read More
The Class Responsibility Assignment (CRA) problem is one of the most important problems in Object-Oriented Software Engineering. It is a Search-based optimization problem with the goal of assigning attributes and methods to a set of classes such that the related class diagram has maximum cohesion and minimum coupling. Due to the large and complex search space of the problem, finding an optimal solution is a costly and challenging task. In this regard, the use of optimization approaches can be promising. In this paper, the Particle Swarm Optimization (PSO) and Ant Colony Optimization (ACO) algorithms are implemented using Model-Driven Engineering (MDE) techniques for solving the CRA problem. The effectiveness of provided algorithms is presented using models with different scales. Additionally, the results are compared with existing solutions for the CRA problem in the community. The results indicated that for large-scale models the ACO algorithm could find a much better solution in less time compared to the PSO algorithm.