Abstract
This article considers the problem of UML class diagram refactoring. It gives a brief overview of the approaches to the UML class diagram describing, transformation and refactoring. Article also proposes a software tool for the UML class diagram refactoring called UML Refactoring. This software tool provides import of diagrams in XMI format, OO-metrics calculation. UML Refactoring tool searches for the transformations, which decrease a fitness function value. Article presents an algorithm of a prototype CLANG plugin, which receives C++ source code at the input and returns UML class diagram in XMI format.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
References
Booch, G., Rumbaugh, J., Jacobson, I.: The Unified Modeling Language User Guide. Addison-Wesley Professional, Boston (2005)
XML Metadata Interchange (XMI) Specification. Version 2.4.2. https://www.omg.org/spec/XMI/2.4.2/About-XMI
Evans, A., France, R., Lano, K., Rumpe, B.: The UML as a formal modeling notation. In: Bézivin, J., Muller, P.-A. (eds.) UML 1998. LNCS, vol. 1618, pp. 336–348. Springer, Heidelberg (1999). https://doi.org/10.1007/978-3-540-48480-6_26
XQuery 3.0: An XML Query Language. http://www.w3.org/TR/xquery-30
XSL Transformations (XSLT). http://www.w3.org/TR/xslt
Meta Object Facility™ (MOF™) 2.0 Query/View/Transformation™ (QVT™). http://www.omg.org/spec/QVT/index.htm
Efrizoni, L., Informatika, T., Wan-Kadir, W.M.N., Mohamad, R.: Formalization of UML class diagram using description logics. In: 2010 International Symposium on Information Technology, Kuala Lumpur, vol. 3, pp. 1168–1173 (2010). https://doi.org/10.1109/ITSIM.2010.5561621
Schmitt, P.H.: UML and It’s Meaning (2003). https://formal.iti.kit.edu/beckert/teaching/Spezifikation-SS04/skriptum-schmitt.pdf
Beckert, B., Keller, U., Schmitt, P.H.: Translating the object constraint language into first-order predicate logic. In: Proceedings, VERIFY, Workshop at Federated Logic Conferences (FLoC), pp. 113–123 (2001)
Kerkouche, E., Chaoui, A.A., Bourennane, E.B., Labbani, O.: A UML and colored petri nets integrated modeling and analysis approach using graph transformation. J. Obj. Technol. 9(4), 25–43 (2010). https://doi.org/10.5381/jot.2010.9.4.a2
Rahmoune, Y., Chaoui, A., Kerkouche, E.: A framework for modeling and analysis UML activity diagram using graph transformation. Procedia Comput. Sci. 56, 612–617 (2015). https://doi.org/10.1016/j.procs.2015.07.261
Kerievsky, J.: Refactoring to Patterns. Addison-Wesley Professional, Boston (2004)
Fowler, M.: Refactoring: Improving the Design of Existing Code. Addison-Wesley, Boston (2000)
Martin, R., Martin, M.: Agile Principles, Patterns, and Practices in C#. Pearson Education, Boston (2007)
Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design patterns: abstraction and reuse of object-oriented design. In: Nierstrasz, O.M. (ed.) ECOOP 1993. LNCS, vol. 707, pp. 406–431. Springer, Heidelberg (1993). https://doi.org/10.1007/3-540-47910-4_21
Harman, M., Mansouri, S.A., Zhang, Y.: Search-based software engineering: trends, techniques and applications. ACM Comput. Surv. 45(1), 11 (2012). https://doi.org/10.1145/2379776.2379787
Amoui, M., Mirarab, S., Ansari, S., Lucas, C.: A genetic algorithm approach to design evolution using design pattern transformation. Int. J. Inf. Technol. Intell. Comput. 1(2), 235–244 (2006)
Bowman, M., Briand, L.C., Labiche, Y.: Solving the class responsibility assignment problem in object-oriented analysis with multi-objective genetic algorithms. IEEE Trans. Softw. Eng. 36(6), 817–837 (2010). https://doi.org/10.1109/TSE.2010.70
Hadaytullah, Vathsavayi, S., Räihä, O., Koskimies, K.: Tool support for software architecture design with genetic algorithms. In: 2010 Fifth International Conference on Software Engineering Advances, Nice, pp. 359–366 (2010). https://doi.org/10.1109/ICSEA.2010.61
Lutz, R.: Evolving good hierarchical decompositions of complex systems. J. Syst. Arch. 47(7), 613–634 (2001). https://doi.org/10.1016/S1383-7621(01)00019-4
Simons, C.L., Parmee, I.C.: Single and multi-objective genetic operators in object-oriented conceptual software design. In: Proceedings of the 8th Annual Conference on Genetic and Evolutionary Computation (GECCO 2006), pp. 1957–1958. Association for Computing Machinery, New York (2006). https://doi.org/10.1145/1143997.1144324
Deryugina, O.: Improving the structural quality of UML class diagrams with the genetic algorithm. ITM Web Conf. 6, 03003 (2016). https://doi.org/10.1051/itmconf/20160603003
O’Keeffe, M., Cinnéide, M.O.: Towards automated design improvement through combinatorial optimisation. In: Workshop on Directions in Software Engineering and Environments (WoDiSEE 2004), 26th International Conference on Software Engineering, Edinburgh, UK, pp. 75–82 (2004). https://doi.org/10.1049/ic:20040214
O’Keeffe, M., Cinnéide, M.O.: Search-based refactoring for software maintenance. J. Syst. Softw. 81(4), 502–516 (2008). https://doi.org/10.1016/j.jss.2007.06.003
Mancoridis, S., Mitchell, B.S., Rorres, C., Chen, Y., Gansner, E.R.: Using automatic clustering to produce high-level system organizations of source code. In: Proceedings. 6th International Workshop on Program Comprehension. IWPC 1998 (Cat. No. 98TB100242), Ischia, Italy, pp. 45–52 (1998). https://doi.org/10.1109/WPC.1998.693283
Deryugina, O.A., Nikulchev, E.V.: Software tool for automated UML class diagram refactoring using given quality criteria. Cybern. Program. 1, 107–118 (2017). https://doi.org/10.7256/2306-4196.2017.1.21934
Clang: a C language family frontend for LLVM. http://clang.llvm.org
Ryadchikov, I., et al.: Development of robotic mobile platform with the universal chassis system. IOP Conf. Ser. Mater. Sci. Eng. 312(1), 012021 (2018). https://doi.org/10.1088/1757-899X/312/1/012021
Acknowledgements
The work results were used within framework of the state task of the Russian Ministry of Education and Science, project No. 8.2321.2017 “Development and adaptation of control systems for compensation of dynamic deflecting effects on mobile objects in a state of dynamic equilibrium”.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2021 Springer Nature Switzerland AG
About this paper
Cite this paper
Deryugina, O., Nikulchev, E. (2021). Methods, Algorithms and Software for the UML Class Diagram Refactoring. In: Sukhomlin, V., Zubareva, E. (eds) Modern Information Technology and IT Education. SITITO 2017. Communications in Computer and Information Science, vol 1204. Springer, Cham. https://doi.org/10.1007/978-3-030-78273-3_18
Download citation
DOI: https://doi.org/10.1007/978-3-030-78273-3_18
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-78272-6
Online ISBN: 978-3-030-78273-3
eBook Packages: Computer ScienceComputer Science (R0)