Методи та засоби побудови програмних систем на основі онтологічних моделей задач - Буров, Євген Вікторович (Національний університет "Львівська політехніка", 2015)
У дисертації вирішено науково-прикладну проблему побудови програмних систем, здатних до адаптації в умовах змін середовища функціювання. Отримала подальший розвиток концепція побудови баз знань, яка полягає у включенні у базу знань окрім онтології та інформаційної бази ще моделей задач. Така концепція, на відміну від існуючих, поєднує переваги онтологічного та процедурного підходів, і дозволяє формалізувати, накопичувати та повторно використовувати досвід про способи виконання задач. Розроблено механізм взаємодії моделей задач, який забезпечує вирішення задач пошуку релевантних моделей, вибору моделі та її ініціалізації. Цей механізм уможливлює вирішення складних задач у системі, багатоваріантність методів рішення задачі та повторне використання знань у системі. Розроблено означення контексту, яке на відміну від існуючих, використовує базу знань та не залежить від задач, що використовують контекст, а тільки від стану бази знань. Вперше розроблено методологію побудови онтології предметної області на основі аналізу комплексу задач, що вирішують у цій області. На відміну від існуючих, ця методологія визначає ітеративний процес розбудови онтології та забезпечує кращу її обґрунтованість, спрощує процес створення та модифікації онтології, а також створює можливість її валідації через комплекс використаних моделей. Обгрунтовано принцип побудови модельно- орієнтованих програмних систем з використанням інтерпретації моделей задач, який на відміну від xUML, дає можливість спростити процес побудови та модифікації системи. Розроблено інструментальні засоби для побудови та моделювання роботи програмних систем на основі онтологічних моделей задач. В диссертации решена научно-прикладная проблема повышения качества программных систем в аспектах сложности їх разработки и модификации, адаптации к актуальному состоянию предметной области. В первом разделе проведен анализ существующих тенденций развития архитектур, технологий и процессов построения программных систем в контексте выявления возможностей для увеличения адаптационных возможностей при изменении требований. В разделе проанализированы существующие архитектурные решения, направленные на решение проблемы адаптации, и сделан вывод о перспективности использования для решения этой проблемы методов построения программных систем, базирующихся на принципах использования активных моделей среды функционирования и технологий интеллектуальных систем обработки знаний, в частности онтологий. Во втором разделе определены теоретические основы представления и обработки знаний в программных системах на базе онтологических моделей задач. Разработана формальная модель представления знаний в системе. Формально определено понятие контекста фактов для обеспечения взаимодействия моделей. Предложена методология построения онтологий на основе онтологических моделей задач, которая определяет итеративный процесс развития онтологии и обеспечивает лучшую ее обоснованность, упрощает процесс создания и модификации онтологии. В третьем разделе разработаны архитектурные принципы построения программной системы на основе онтологических моделей задач. Предложены методы организации взаимодействия моделей. Разработаны методы использования онтологических моделей задач на трех уровнях моделирования программной системы – уровне бизнес-процессов, сервисов и приложений, устройств. В четвертом разделе приведены примеры решения практических задач с использованием онтологических моделей. В разделе рассмотрено применение онтологических моделей задач для отображения структуры бизнес-процессов предприятия в программной системе с целью увеличения адаптационных возможностей. Продемонстрировано целесообразность применения разработанной методологии построения онтологии на основе предварительного анализа бизнес-процессов и задач на примере области тестирования программного обеспечения. В работе предложено использование онтологических моделей для решения задачи управления доступом к ресурсам информационной системы. Показано, что по сравнению с известными методами DAC, MAC, RBAC, ABAC метод управления доступом на основе онтологических моделей обеспечивает динамическое предоставление и изъятие прав доступа в контексте бизнес-процессов, выполняемых в системе, отсутствие расширения прав с течением времени, упрощение процесса назначения прав и документальное обоснование всех операций. Разработан метод использования онтологических моделей для решения задач автоматизированного тестирования сборок программных продуктов. В пятом разделе приведена архитектура и функциональные возможности разработанного прототипа системы моделирования программных систем на основе онтологических моделей. Функциональные возможности прототипа системы моделирования проиллюстрированы на примерах решения ряда практических задач, в частности задач классификации и автоматизированного тестирования. В шестом разделе определены факторы, влияющие на эффективность применения онтологических моделей задач для построения программных продуктов и разработаны оценочные формулы для определения степени увеличения отдельных составляющих характеристик качества программного продукта на разных этапах его жизненного цикла. На выборке проектов по разработке программного обеспечения проанализирована степень улучшения характеристик качества программного продукта при применении онтологических моделей задач. The problem of building software systems capable to adapt in a changing environment has been solved in presented dissertation. The analysis of existing trends in software architectures, technologies, and processes of building software systems in the context of identifying opportunities to simplify their construction and increase adaptive capacity to requirements change was performed. Existing concept of knowledge-based system was enhanced by inclusion in knowledge base apart from ontology also ontological task models. This change realizes the advantages of both declarative and procedural approaches to knowledge base construction and allows for formalization, storage and reuse of knowledge about task execution. The mechanism of task models interaction was developed. It uses the resolving of tasks of relevant models lookup, model selection and initialization and allows to implement a complex task resolution in a software system. For the purpose of model interaction the definition of context was provided and implemented. The methodology of ontology management based on task analysis and modeling including methods of ontology creation, modification, validation was developed. Differently from existing methodologies, proposed methodology defines an iterative process of ontology constructuion, simplifies it, creates a possibility of ontology validation using ontological models. Based on ontological models new access control method was proposed. This method, when compared to RBAC, ABAC doesn’t have an effect of permissions accumulation over time, and allows to assign permissions dynamically in context of executed business processes. Software tools prototype for building and modeling software system based on ontological models was developed.
Методы и средства построения программных систем на основе онтологических моделей задач
Methods and tools for software systems construction using ontological task models
Keywords: онтологія задачі; програмна система; онтологічна модель; адаптація; проблемна область; сервісно-орієнтовано архітектура; онтология задачи; программная система; онтологическая модель; адаптация; проблемная область; сервисно-ориентированная архитектура; task ontology; software system; ontological model; adaptation; domain; service-oriented architecture