Journal "Software Engineering"
a journal on theoretical and applied science and technology
ISSN 2220-3397

Issue N3 2022 year

DOI: 10.17587/prin.13.119-123
Metaclasses in UML and in Programming Languages
M. V. Sergievskiy, sermax@yandex.ru, National Research Nuclear University MEPhI (Moscow Engineering Physics Institute), Moscow, 115409, Russian Federation
Corresponding author: Sergievskiy Maxim V., Associated Professor, National Research Nuclear University MEPhI (Moscow Engineering Physics Institute), Moscow, 115409, Russian Federation, E-mail: sermax@yandex.ru
Received on January 16, 2022
Accepted on January 26, 2022

Design and programming are important stages of the development process of object-oriented information systems. At the design stage, a domain model is built, in which metaclasses can be used. But, as widely known, there is no direct support for metaclasses in UML. The article describes how in some cases it is possible to switch from models with metaclasses to models with regular classes. Several variants of such a transition are given. Two concepts of the metaclass are considered, which have now found application. Examples are given showing what capabilities the Python, Scala and Objective-C programming languages have for implementing such models. In addition, it analyzes how the concept of a metaclass is interpreted differently in programming languages.

Keywords: class, metaclass, object, UML, inheritance, classification relation, domain area
pp. 119–123
For citation:
Sergievskiy M. V. Metaclasses in UML and in Programming Languages, Programmnaya Ingeneria, 2022, vol. 13, no. 3, pp. 119—123.