Search for a command to run...
Context. Using previously developed code, particularly software classes and class groups related through inheritance, aggregation and composition in object-oriented technologies, significantly reduces software design time.Objective. Problems arise when it is necessary to store classes for different purposes. In this case, the class name cannot serve as a characteristic for searching. Creating a special structure linking the class name with its purpose will significantly complicate the class repository design. Besides, if relations connect some classes with other classes, there is a need to store their relations along with the class itself, which can significantly complicate both the placement of the class in the repository and its further search. This paper aims to create a special repository of software classes, in which a class is represented by a model that defines its purpose, possible relations with other classes, and role in these relations.Method. A mathematical model of a software class has been developed, which allows for determining the class designation and possible inter-class relationships. A method of automated placement and search of individual classes and class groups in the class repository is proposed. A storage model is proposed for placing both individual classes and groups of classes connected by inheritance, aggregation and composition relationships. A mechanism has been developed for the automated addition of a separate class or group of classes to the repository, as well as for searching and deleting a separate class or group of classes.Result. The ClassCall programme has been developed to test the proposed solutions. Experiments were conducted to determine the time and quality of placement operations and search of classes and class groups in the repository. The results showed a significant reduction in time for class search compared to known libraries.Conclusions. The proposed method of automated placement and search of classes based on the class model allows for maintaining class versions, significantly reducing the time to search for the required class and related classes. The method can be used for classes in various object-oriented languages.