REFLEX SELF-ADAPTATION METHOD OF SOFTWARE SYSTEMS
Background. The increasing dynamics of subject areas and the complexity of the corresponding application software generate the actual problem of creating universal methods for self-adaptation of software systems without recompiling the source code. The life cycle of such programs will be much longer and more productive, and their support will require substantially less time and material costs. Moreover, self-adaptive software systems are able to solve a qualitatively different task - to reveal hidden knowledge and factors about their own subject area, which at the design stage of the application may not be known even by experts. The aim of the work is to create a new universal method for self-adaptation of software systems that can take into account the experience accumulated by the system during the operational period and, on the basis of this experience, to create new feedbacks. Materials and methods. To implement the proposed method, the technologies of data mining and engineering of software product lines were used, as well as the mathematical apparatus of graph theory. Results. The main theoretical results include: the concept of reflexive self-adaptation of software systems, which is based on the idea of the possibility of an analogy between the functioning of software and the activities of the human mind; universal architectural principles of building adaptive software; mathematical model of reflexion and a universal method of reflexive self-adaptation of software systems, based on the theory of graphs, technologies of programming lines of software and data mining and allowing to implement the main provisions of the proposed concept. The main practical result is the developed adaptive software system in the field of education, capable of independently identifying the dependencies between the results of the student's psychological testing and the training algorithms suitable to him. Conclusions. The developed method of self-adaptation is based on the use of data mining technology, is universal and can be used to identify the system of new knowledge about its own domain in the process of operation. The practical application of the method in the sphere of education is shown: a training system has been created capable of independently identifying the dependencies between the results of the student's psychological testing and the learning algorithms suitable for him.