Товстокоренко, Олег Юрійович2021-12-232021-12-232021Товстокоренко О. Ю. Моделі та інструментальні засоби розробки та супроводу варіабельних компонентів програмного забезпечення систем "Розумний будинок" [Електронний ресурс] : дис. ... д-ра філософії : спец. 122 : галузь знань 12 / Олег Юрійович Товстокоренко ; наук. керівник Ткачук М. В. ; Нац. техн. ун-т "Харків. політехн. ін-т". – Харків, 2021. – 152 с. – Бібліогр.: с. 128-142. – укр.https://repository.kpi.kharkov.ua/handle/KhPI-Press/55439Дисертація на здобуття наукового ступеня доктора філософії за спеціальністю 122 – комп’ютерні науки, Національний технічний університет “Харківський політехнічний інститут”, Міністерство освіти і науки України, Харків, 2021. Зміст анотації. Дисертаційна робота присвячена вирішенню актуальної науково-технічної задачі підвищення ефективності процесів розробки та супроводу систем «Розумний будинок» шляхом застосування методів та засобів доменного моделювання для створення варіабельних компонентів програмного забезпечення (ПЗ) таких систем. У вступі до дисертаційної роботи обґрунтовано актуальність теми дослідження, показано зв’язок роботи з науковими темами. Сформульовано мету дослідження, визначено об’єкт, предмет і методи дослідження, які базуються на застосуванні принципів прикладного системного аналізу, моделей та методів сучасної програмної інженерії, зокрема на використанні методів доменного моделювання, об’єктно-орієнтованих методах аналізу та синтезу ПЗ, кількісних метрик ефективності ПЗ, а також на використанні базових положень теорії управління, математичного апарату теорії множин, експертних методів теорії прийняття рішень і застосуванні уніфікованої мови моделювання UML (Unified Modeling Language) та мови моделювання SysML (System Modeling Language) для аналізу апаратно-програмних рішень. Описано наукову новизну та практичне значення отриманих результатів. Наведено інформацію про практичне застосування та особистий внесок здобувача, апробацію результатів дослідження та їх висвітлення у публікаціях, а також містяться відомості щодо структури та обсягу дисертаційної роботи. У першому розділі здійснено аналітичний огляд підходів до супроводу варіабельних компонентів програмних систем різного призначення. Проаналізовано поточний стан розробок ПЗ у таких нових високотехнологічних предметних галузях як створення систем «Розумний дім» («Smart-Home» systems – SHS), які в свою чергу належать до більш широкого класу сучасних комп’ютеризованих систем: систем «Інтернету речей» (Internet of Things - IoT), і які представляють собою складні розподілені апаратно-програмні комплекси, що мають відповідні інтелектуальні інтерфейси для підтримки зручної роботи різних груп їх користувачів. Огляд розробок у галузі SHS-систем дозволив зробити висновок, що наразі існує значний прогрес саме у створенні ефективних апаратних рішень, але в той же час недостатньо опрацьованими залишаються питання підвищення ефективності процесів розробки та супроводу саме програмних компонентів шляхом забезпечення їх варіабельності та можливостей повторного використання у перспективних SHS, і це зумовлює актуальність цього дисертаційного дослідження. Представлена постановка задачі розробки та дослідження модельно-технологічного інструментарію для підвищення ефективності процесів розробки та супроводу варіабельних компонентів ПЗ систем «Розумний будинок». У другому розділі дисертації представлені методологічні основи для розробки та супроводу варіабельних компонентів ПЗ систем «Розумний будинок». Розглянуто можливість застосування доменного моделювання в якості концептуальної основи для аналізу властивостей варіабельності програмних компонентів систем «Розумний будинок» і проведено аналітичний огляд методів розробки варіабельних компонентів ПЗ систем «Розумний будинок». Проведено порівняльний аналіз CASE – засобів автоматизації процесів проектування та супроводу програмного забезпечення систем «Розумний будинок» і визначені особливості застосування гнучкої методології Scrum для побудови варіабельних програмних компонентів. На основі результатів виконаного порівняльного аналізу було виявлено, що метод доменного моделювання FeatureIDE має потужніші можливості для створення моделей варіабельних властивостей ПЗ. Додатково, FeatureIDE має можливість генерації коду продукту з вихідного коду окремих модулів відповідно до вибраної конфігурації продукту. В третьому розділі описано процес розробки моделей, процедур та інструментальних засобів для побудови і супроводу варіабельних програмних компонентів систем «Розумний будинок». Запропоновано операційну модель (ОМ) опрацювання вимог в контексті розробки варіабельних програмних компонентів за методологією Scrum. Ця ОМ дозволяє формалізувати процес управління змінністю вимог у процесі розробки варіабельних програмних компонентів «Розумний будинок», і вона передбачає формування спеціального інформаційного базису (InfBase), який містить текстовий опис множини вимог до компонентів ПЗ, артефактів програмного забезпечення, а також інформацію про ітерації проекту та ролі розробників ПЗ. Для опрацювання текстового опису вимог мотивовано обрано метод латентно-семантичного аналізу (ЛСА) у поєднанні з використанням коефіцієнта кореляції Пірсона для визначення ступеня семантичної подібності тексту опису різних вимог, що уможливлює їх розподіл на 3 окремі категорії: Core – це вимоги, що вже були реалізовані раніше, Var – це частково реалізовані вимоги, та New – це такі, що мають бути реалізовані уперше. На основі застосування запропонованої ОМ розроблена процедура побудови динамічного каталогу вимог для проектної ітерації. В залежності від того, до якої категорії (Core, Var, New) потрапить вимога, її буде оброблено тим чи іншим способом Це, в свою чергу, дозволяє скоротити їх кількість на етапі формування каталогу вимог окремого спринту, за рахунок чого стає можливим підвищення ефективності усього процесу опрацювання вимог у гнучкій методології Scrum. Також у третьому розділі запропоновано доменну модель варіабельних програмних компонентів на етапі супроводу системи «Розумний будинок», та розроблено процедуру оцінки показника ефективності супроводу програмних компонентів систем «Розумний будинок». Для забезпечення автоматизованої підтримки процедур побудови варіабельних програмних компонентів розроблені оригінальні архітектурні моделі відповідних інструментальних засобів. Четвертий розділ дисертації присвячено програмній реалізації та експериментальному дослідженню розроблених моделей та інструментальних засобів. Було проведено порівняння двох варіантів доменних моделей (ДМ) з використанням показника ефективності супроводу ПЗ. Розрахунки запропонованого показника базуються на обчисленні суми витрат часу, який є необхідним для підтримки певного функціоналу системи на етапі її супроводу. В контексті супроводу системи «Розумний будинок» це ї процес налаштування нових компонент в існуючій системі «Розумний будинок» (зокрема, це загальні мережеві налаштування, встановлення режимів роботи окремих компонентів ПЗ тощо). В результаті аналізу розрахунків критерію супроводу, застосування запропонованої модифікації архітектури системи «Розумний дім» веде до підвищення показника ефективності супроводу системи. Запропоновано архітектуру інструментального CASE - засобу для автоматизації ряду процесів супроводу варіабельних компонентів ПЗ систем «Розумний будинок». Розроблений прототип цього інструментального засобу дозволяє автоматизовано проводити розрахунки щодо визначення кількісних параметрів для показник ефективності: це складність доменної моделі з урахуванням змін для певного нового програмного модуля систем «Розумний будинок». На вхід CASE-засобу для аналіз подається розроблена доменна модель (у XML-форматі) та згенерований каркас вихідного коду на мові програмування Java. Отримані данні аналізу використовуються для вибору певної архітектурної реалізації нового програмного компоненту. Далі на основі обраного архітектурного рішення проводиться розробка та впровадження нового програмного модуля системи. Для експериментального дослідження розробленого підходу запропонована методика проведення експерименту з 8 основних етапів. Це забезпечує можливість автоматизації процесів попереднього аналізу та оцінки ефективності альтернативних варіантів розробки нових компонентів ПЗ «Розумний будинок». У дисертаційній роботі вирішена актуальна науково-прикладна задача підвищення ефективності процесів розробки та супроводу варіабельних компонентів програмного забезпечення систем «Розумний будинок» на основі використання методів доменного моделювання. В результаті проведених експериментів були отримані дані, що дозволяють зробити висновки щодо працездатності та доцільності застосування запропонованого підходу до визначення ефективності використання альтернативних архітектурних рішень: - для всіх експериментів з 2-ма обраними технологіями впровадження нового програмного модуля зберігається стала тенденція переваги застосування саме запропонованої технології впровадження нового програмного компоненту, що свідчить про відповідну достовірність отриманих експериментальних результатів; - шляхом застосування запропонованого підходу є можливим забезпечити зростання значення показника супроводу за рахунок скорочення кількості необхідних кроків, та, в кінцевому рахунку, зменшення часу, необхідного на розробку. Наукова новизна отриманих результатів полягає у наступному: вперше запропоновано: - операційну модель процесу управління вимогами з урахуванням ступеня їх варіабельності, яка на відміну від існуючих підходів, використовує метод латентного семантичного аналізу для опрацювання текстового опису вимог у поєднанні з методами доменного моделюванням програмного продукту, що дозволяє зменшити розмір каталогу вимог на кожну ітерацію (спринт) в гнучкому процесі розробки програмних компонентів за методологією Scrum; - архітектурні компонентні моделі інструментального програмного засобу для реалізації процесу опрацювання вимог із використанням запропонованої операційної моделі, що дозволяє частково автоматизувати процес аналізу варіабельних вимог, за рахунок чого скоротити час, необхідний для аналізу вимог на кожній проектній ітерації; удосконалено: інформаційну технологію управління програмними компонентами систем «Розумний будинок» шляхом розробки моделі варіабельності програмно-апаратних ресурсів та реалізації експертної процедури для попередньої оцінки їх структурної складності, що дозволяє зменшити час, необхідний в подальшому на налаштування та супровід таких систем; отримали подальший розвиток: методи інтеграції програмно-апаратних ресурсів систем «Розумний будинок» за рахунок розробки і використання альтернативних архітектурних моделей із урахуванням властивостей їх варіабельності, що забезпечило можливість автоматизувати процеси конфігурування нових програмних компонентів таких систем. Запропоновані моделі та технологічні процедури проектування і супроводу варіабельних програмних компонентів і розроблені для їх підтримки інструментальні програмні засоби були успішно використані для вирішення цих завдань при виконанні прикладної НДР МОН України «Концептуальні моделі, методи та технології створення адаптивних інформаційних систем на основі знання-орієнтованих підходів та засобів розробки програмного забезпечення» (№ ДР: 0121U110310) у Каразінському університеті, а також в розробках перспективних IT-проектів в австрійсько-українській компанії «Бітмедіа-Україна», ТОВ (м. Харків). Результати дисертаційного дослідження були також використані в навчальному процесі кафедри моделювання систем і технологій ХНУ імені В.Н. Каразіна у дисциплінах «Проектування інформаційних систем» і «Розробка та супровід проблемно-орієнтованих програмних систем».Thesis for obtaining the PhD degree in specialty 122 – Computer Science. National Technical University "Kharkiv Polytechnic Institute", Ministry of Education and Science of Ukraine, Kharkiv, 2021. Abstract content. The PhD thesis is devoted to solving the current scientific and technical problem of improving the quality of development and maintenance of "Smart Home" systems by applying methods and tools of domain modeling to create variable software components of such systems. In the introduction to the dissertation the relevance of the research topic is substantiated, the connection of the work with scientific topics is shown. The purpose of the research is formulated, the object, subject and methods of research are defined, which are based on application of principles of applied system analysis, models and methods of modern software engineering, in particular on use of domain modeling methods, object-oriented methods of software analysis and synthesis, quantitative metrics quality of software, as well as the use of basic principles of control theory, mathematical apparatus of set theory, expert methods of decision theory and the use of unified modeling language UML (Unified Modeling Language) and modeling language SysML (System Modeling Language) for analysis of hardware and software solutions. The scientific novelty and practical significance of the obtained results are described. Information on practical application and personal contribution of the applicant, approbation of research results and their coverage in publications are given. Information on the structure and scope of the dissertation is given. The first section provides an analytical review of approaches to the maintenance of variable components of software systems for various purposes. The current state of software development in such new high-tech subject areas as the creation of Smart-Home systems (SHS), which in turn belong to a wider class of modern computerized systems: Internet of Things systems (Internet of Things). Internet of Things - IoT), and which are complex distributed hardware and software systems that have appropriate intelligent interfaces to support the convenient operation of different groups of their users. A review of developments in the field of SHS-systems allowed us to conclude that there is significant progress in creating effective hardware solutions, but at the same time the issues of improving the efficiency of development and maintenance of software components by ensuring their variability and reusability in promising SHS, and this determines the relevance of this dissertation research. The statement of the problem of development and research of model-technological tools for improving the quality of processes of development and maintenance of variable components of the software of "Smart Home" systems is presented. The second section of the dissertation presents the methodological basis for the development and maintenance of variable components of the software of "Smart Home" systems. The possibility of using domain modeling as a conceptual basis for analyzing the properties of variability of software components of "Smart Home" systems is considered and an analytical review of methods for developing variable components of software for "Smart Home" systems is performed. The comparative analysis of CASE - tools of automation of processes of design and maintenance of software of systems "Smart house" is carried out and features of application of flexible methodology of Scrum for construction of variable software components are defined. Based on the results of the comparative analysis, it was found that the method of domain modeling FeatureIDE has more powerful capabilities for creating models of variable properties of software. Additionally, FeatureIDE has the ability to generate product code from the source code of individual modules according to the selected product configuration. The third section describes the process of developing models, procedures and tools for building and maintaining variable software components of Smart Home systems. The operational model (OM) of requirements processing in the context of development of variable software components according to Scrum methodology is offered. Defined OM allows to formalize the process of requirements variability management in variable systems "Smart House", which opens the possibility of collecting information (InfBase), based on the information to analyze commonness and classification of requirements, which in turn reduces the number of requirements at the stage of sprint requirements catalog., due to which it becomes possible to improve the quality of the requirements analysis process. The procedure of construction of the dynamic catalog of requirements for project iteration on the basis of model of their variability is offered. Depending on which category (Core, Var, New) the request will fall into, it will be processed in one way or another. In the process of analyzing information sources, a set of approaches to determining the similarity of requirements was formed, including latent semantic analysis (LSA) in combination with Pearson's correlation analysis method to determine the degree of semantic similarity of the text of different requirements. The domain model of variable software components at the stage of support of the "Smart Home" system is proposed, and the procedure of evaluation of the quality indicator of the maintenance of the software components of the "Smart Home" systems is developed. Architectural models of appropriate tools have been developed to provide automated support for the proposed procedures for building variable software components. The fourth section of the dissertation is devoted to software implementation and experimental research of developed models and tools. A comparison of two variants of domain models (DM) was performed using the software maintenance quality indicator. The calculations of the proposed indicator are based on the calculation of the amount of time spent, which is necessary to maintain certain functionalities of the system at the stage of its maintenance. In the context of Smart Home system support, this process is the configuration of new components in the existing Smart Home system. (network settings, setting operating modes, etc.). As a result of the analysis of calculations of the criterion of support, the application of the proposed modification of the architecture of the system "Smart Home" leads to an increase in the maintenance of the system. The architecture of the CASE toolkit is proposed - a tool for automating a number of software support processes for "Smart Home" systems. The developed tool (prototype) allows you to automatically perform calculations to determine the quantitative parameters for the coefficient of efficiency - the complexity of the domain model, taking into account changes for a new software module of systems "Smart Home". The developed domain model (in XML format) and the generated code framework are submitted to the software for analysis. The obtained analysis data are later used to select a specific architectural implementation of the new software component. Then, on the basis of the chosen architectural solution, a new software module is developed and implemented. For the experimental study of the developed approach, the method of conducting the experiment is proposed, which has 8 main stages. This provides an opportunity to automate the processes of preliminary analysis and quality assessment of alternative options for the development of new components of the software "Smart Home". In the dissertation work the actual scientific and applied problem of quality improvement of processes of development and support of variable components of the software of systems "Smart house" on the basis of use of methods of domain modeling is solved. As a result of the experiments, data were obtained that allow us to draw conclusions about the efficiency and appropriateness of the proposed approach to determine the effectiveness of alternative architectural solutions: - for all experiments with 2 selected technologies of implementation of the new software module there is a constant tendency of advantage of application of the offered technology of introduction of a new software component that testifies to the corresponding reliability of the received experimental results; - by applying the proposed approach it is possible to increase the value of the maintenance indicator by reducing the number of necessary steps, and, ultimately, reducing the time required for development. The scientific novelty of the results achieved is as follows: first proposed: - the operational model of requirements management process taking into account the degree of their variability, which, unlike existing approaches, uses the method of latent semantic analysis to process textual description of requirements in combination with methods of domain modeling software, which reduces the size of the requirements catalog for each iteration (sprint) in the flexible process of developing software components according to the Scrum methodology; - the architectural component models of the tool software for the implementation of the process of requirements processing using the proposed operating model, which partially automates the process of analysis of variable requirements, thereby reducing the time required to analyze requirements at each project iteration; improved: the information management technology of software components of "Smart Home" systems by developing a model of variability of software and hardware resources and implementation of expert procedure for preliminary assessment of their structural complexity, which reduces the time required for further configuration and maintenance of such systems; received further development: the integration methods of software and hardware resources of "Smart Home" systems through the development and use of alternative architectural models taking into account the properties of their variability, which provided an opportunity to automate the configuration of new software components of such systems. The proposed models and technological procedures for the design and maintenance of variable software components and developed to support them software tools have been successfully used to solve these problems in the implementation of the applied initiative R&D work confirmed by the Ministry of Education and Science of Ukraine titled "Conceptual models, methods and technologies for creating adaptive information systems based on knowledgeoriented approaches and software development tools "(the state registration number: 0121U110310) at the V.N. Karazin Kharkiv National University, and they also have been used in the development of prospective IT-projects in the Austrian-Ukrainian company "Bitmedia-Ukraine", Ltd. (Kharkov). The results of the dissertation research were also used in the educational process of the Department of Systems and Technologies Modeling at the V. N. Karazin Kharkiv National University in the disciplines "Information systems design" and “Development and maintenance of problem-oriented software systems”.ukдисертаціяваріабельністьпрограмне забезпеченнядоменна модельаналіз вимогсупровідметрикасистема "Розумний будинок"variabilitysoftwaredomain modelrequirements analysismaintenancemetrics"Smart-Home" systemМоделі та інструментальні засоби розробки та супроводу варіабельних компонентів програмного забезпечення систем "Розумний будинок"Models and tools for the development and maintenance of variable software components in "Smart-home" systemsThesis004.942:004.05