Improving UML Class Attribute Definitions Using Particle Swarm Optimization
Keywords:
class diagram, activity diagram, class attribute, consistency, particle swarm optimizationAbstract
Unified Modeling Language has become the de-facto industry standard for object-oriented modeling of the static and dynamic aspects of software systems. Class diagrams represent the static aspects of the system, the classes required for implementation of the system, the relationships between classes and the attributes and methods of each class. Attributes describe the data contained in an object of a class and its properties such as name, data type, visibility etc. Methods define the ways in which objects interact. Activity diagram represents the dynamic behavior of the system. The implementation of methods in a class is depicted using activity diagram. To ensure software quality, it is essential to maintain consistency between diagrams of the same model. Class diagrams can be mapped directly to an object oriented programming language and inconsistency in attribute definitions may be reflected directly in the generated code. Complex systems require large number of diagrams and hence detection of inconsistencies in class attribute definitions has a significant role during the design phase of software development. In this paper we describe a method for improving the class attribute definitions using particle swarm optimization technique. Particle Swarm Optimization (PSO) is a soft computing technique that provides solutions to optimization problems by maximizing certain objectives in a complex search space. The PSO algorithm is applied to detect inconsistency in attribute definitions and to optimize the fitness value of the attributes. The application of PSO algorithm improves the attribute definitions and provides consistent, optimized diagrams that result in the generation of more accurate code.
Downloads
Downloads
Published
How to Cite
Issue
Section
License

This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.
You are free to:
- Share — copy and redistribute the material in any medium or format for any purpose, even commercially.
- Adapt — remix, transform, and build upon the material for any purpose, even commercially.
- The licensor cannot revoke these freedoms as long as you follow the license terms.
Under the following terms:
- Attribution — You must give appropriate credit , provide a link to the license, and indicate if changes were made . You may do so in any reasonable manner, but not in any way that suggests the licensor endorses you or your use.
- No additional restrictions — You may not apply legal terms or technological measures that legally restrict others from doing anything the license permits.
Notices:
You do not have to comply with the license for elements of the material in the public domain or where your use is permitted by an applicable exception or limitation .
No warranties are given. The license may not give you all of the permissions necessary for your intended use. For example, other rights such as publicity, privacy, or moral rights may limit how you use the material.