Software product lines (SPL) dynamic configuring process could use methods for recommendation system (RS) elaboration. An overview and analysis of such methods was done in this paper. SPL represent a set of software systems that have common and variable functional components and use a set of paradigms and methods for development. In the classical static SPL the process of configuring performed before executing and performing in the operation environment (OE), in contrast dynamic software product lines performs after executing in the OE. Through the use of which it is possible to customize software solutions in accordance with the needs of end users. The following possible methods to build RS were considered: clustering, Markov decision-making process, matrix factorization. According to the review of the intelligent RS method development and researching of the functionalities of such systems in some open-source projects it was proposed to use N-dimensional context-dependent tensor factorization method and CARSkit tool system. Functional requirements and software architecture of the RS were developed. It allows to automatize software components configuration in the „Smart Home” (SH) systems that could be implemented with CARSkit software toolkit and algorithms implemented with programming language Python. This implementation allows to build a process for tracking changes in the external environment and transfer information to the SH system and, after analyzing the input data, process it in the RS to track changes in the context information. In the future research some additional quantitative experiments will be performed considering the specifics of the SH systems, additionally quantitative metrics will be used for efficiency assessment of the tensor factorization algorithms to predict the dynamic configurations of software components in these systems.

Keywords: recommendation system, software product line, variability, dynamic configuration, architecture.

Author Biographies

Rustam Gamzayev, Kharkiv National University named after V.N. Karazina

PhD, associate professor; post–doctorate at the Department of Systems and Technologies Modeling, Kharkiv National University named after V.N. Karazina, Maidan Svobody, 6, Kharkiv, Ukraine, 61022; ORCID:–0002–2713–5664; e–mail:

Mykola Tkachuk, Kharkiv National University named after V.N. Karazina

doctor of technical sciences, professor; head of the Department of Systems and Technologies Modeling, Kharkiv National University named after V.N. Karazina, Maidan Svobody, 6, Kharkiv, Ukraine, 61022; ORCID:–0003–0852–1081; e–mail:


Reinhartz-Berger I., Sturm A., Clark T., Cohen S., Bettin J. Domain Engineering: Product Lines, Languages, and Conceptual Models. Heidelberg, Springer, 2013. 420 p.

Metzger A., Pohl K. Software Product Line Engineering and Variability Management: Achievements and Challenges. Proceedings of FOSE’14 Conference, May 31 – June 7, 2014, Hyderabad, India. pp. 70–84.

Eleutério J. A Comparative Study of Dynamic Software Product Line Solutions for Building Self-Adaptive Systems, 2017. 30 p.

Sharifloo A. Learning and Evolution in Dynamic Software Product Lines, 2016. 8 p.

Gamzayev R. O., Karaçuha E., Tkachuk M. V. et al. An Approach to Assessment of Dynamic Software Variability in Mobile Applications Development. Visnyk Kharkivs'koho natsional'noho universytetu imeni V.N. Karazina, Seriya «Matematychne modelyuvannya. Informatsiyni tekhnolohiyi. Avtomatyzovani systemy upravlinnya». 2018, no 40, pp. 14–25.

Sohail S., Siddiqui J., Ali R. Classifications of Recommender Systems: A Review // Journal of Engineering Science and Technology Review. 2017, vol.10(4), pp.132–153.

Xiaoyuan Su, Taghi M. Khoshgoftaar. A Survey of Collaborative Filtering Techniques. Advances in Artificial Intelligence, Volume 2009, January 2009. 4 p.

Lytvyn V., Vysotska V., Shatskykh V. et al. Design of A Recommendation System Based on Collaborative Filtering and Machine Learning Considering Personal Needs of The User. EasternEuropean Journal of Enterprise Technologies. 2019, vol. 4/2 (100), pp. 6–28.

Bargesyan A. A., Kupriyanov M. S. Metody i modeli analiza dannykh OLAP i Data Mining. SPb, BKhV-Peterburg, 2004. 331 p.

Shani, G., Heckerman, D., Brafman, R. An MDP-Based Recommender System. Journal of Machine Learning Research, 2005, vol. 6, pp. 1265–1295.

Symeonidis, P., Zioupos, A. Matrix and Tensor Factorization Techniques for Recommender Systems. SpringerBriefs in Computer Science, 2016. 102 p.

Pereira J. et al. N-dimensional Tensor Factorization for SelfConfiguration of Software Product Lines at Runtime Gothenburg. SPLC '18: Proceedings of the 22nd International Systems and Software Product Line Conference. 2018, vol. 1, pp. 87–97.

Racoon Recommendation Engine Github [Електронний ресурс]. URL: mendationraccoon-raccoon (дата звернення: 12.06.2021).

Michael D. Ekstrand. LensKit for Python. Dept. of Computer Science, Boise State University. Idaho, USA, September 3, 2020.

Surprise documentation URL: (accessed 01.05.2021).

Zheng, Y., Mobasher, B. CARSKit: A Java-Based Context-aware Recommendation Engine. Proceedings of the 15th IEEE International Conference on Data Mining, NJ, USA, 2015.

Hamzayev R. O., Tkachuk M. V., Tovstokorenko O.T. Zastosuvannya metodiv domennoho modelyuvannya dlya pidtrymky variabel'nosti prohramnoho zabezpechennya v rozrobtsi system «Rozumnyy budynok». Informatsiyni systemy ta tekhnolohiyi: Materialy statey 9--yi Mizhnarodnoyi nauk.-tekhn. konferentsiyi, Kharkiv, 17–20 lystopada 2020 roku. Kharkiv, KhNURE Publ., 2020, pp. 217–220.

Python documentation URL: (accessed 01.05.2021).



How to Cite

Gamzayev, R., & Tkachuk, M. (2021). USING METHODS AND TECHNOLOGIES OF RECOMMENDATION SYSTEMS FOR DYNAMIC SOFTWARE PRODUCT LINES CONFIGURATION. Bulletin of National Technical University "KhPI". Series: System Analysis, Control and Information Technologies, (1 (5), 91–97.