USING METHODS AND TECHNOLOGIES OF RECOMMENDATION SYSTEMS FOR DYNAMIC SOFTWARE PRODUCT LINES CONFIGURATION
DOI:
https://doi.org/10.20998/2079-0023.2021.01.15Abstract
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.
References
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:https://github.com/guymorita/recommendationRaccoon#recom 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:https://surprise.readthedocs.io/en/stable/index.html (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: https://www.python.org/about/ (accessed 01.05.2021).
Downloads
Published
How to Cite
Issue
Section
License
LicenseAuthors who publish with this journal agree to the following terms:
- Authors retain copyright and grant the journal right of first publication with the work simultaneously licensed under a Creative Commons Attribution License that allows others to share the work with an acknowledgement of the work's authorship and initial publication in this journal.
- Authors are able to enter into separate, additional contractual arrangements for the non-exclusive distribution of the journal's published version of the work (e.g., post it to an institutional repository or publish it in a book), with an acknowledgement of its initial publication in this journal.
- Authors are permitted and encouraged to post their work online (e.g., in institutional repositories or on their website) prior to and during the submission process, as it can lead to productive exchanges, as well as earlier and greater citation of published work (See The Effect of Open Access).