Development of formal models, algorithms, procedures, engineering and functioning of the software system “Instrumental complex for ontological engineering purpose”

The given paper considered a generalized model representation of the SS ICOP. Represented complete software system development process. Developed relevant formal models of SS ICOP, represented as mathematical expressions, UML diagrams, and also described the three-tier architecture of SS ICOP in a c...

Ausführliche Beschreibung

Gespeichert in:
Bibliographische Detailangaben
Datum:2025
Hauptverfasser: Palagin, O.V., Petrenko, M.G., Velychko, V.Yu., Malakhov, K.S.
Format: Artikel
Sprache:Russian
Veröffentlicht: PROBLEMS IN PROGRAMMING 2025
Schlagworte:
Online Zugang:https://pp.isofts.kiev.ua/index.php/ojs1/article/view/715
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
Назва журналу:Problems in programming
Завантажити файл: Pdf

Institution

Problems in programming
id pp_isofts_kiev_ua-article-715
record_format ojs
resource_txt_mv ppisoftskievua/85/1b44cd96a6037a6c13f307dbb3f92285.pdf
spelling pp_isofts_kiev_ua-article-7152025-04-09T22:22:32Z Development of formal models, algorithms, procedures, engineering and functioning of the software system “Instrumental complex for ontological engineering purpose” Развитие формальных моделей, алгоритмов, процедур, разработки и функционирования программной системы "Инструментальный комплекс онтологического назначения” Palagin, O.V. Petrenko, M.G. Velychko, V.Yu. Malakhov, K.S. UDC 004.2: 004.3 УДК 004.2: 004.3 The given paper considered a generalized model representation of the SS ICOP. Represented complete software system development process. Developed relevant formal models of SS ICOP, represented as mathematical expressions, UML diagrams, and also described the three-tier architecture of SS ICOP in a client-server environment.Prombles in programming 2014; 2-3: 221-232 Рассмотрено обобщенное представление математической модели программной системы ИКОН, разработаны формальные модели ПС ИКОН, представленные в аналитическом виде UML-диаграмм. Описана трехуровневая архитектура ПС ИКОН в среде клиент-сервер, а также процесс разработки сложных программных систем.Prombles in programming 2014; 2-3: 221-232 PROBLEMS IN PROGRAMMING ПРОБЛЕМЫ ПРОГРАММИРОВАНИЯ ПРОБЛЕМИ ПРОГРАМУВАННЯ 2025-04-09 Article Article application/pdf https://pp.isofts.kiev.ua/index.php/ojs1/article/view/715 PROBLEMS IN PROGRAMMING; No 2-3 (2014); 221-232 ПРОБЛЕМЫ ПРОГРАММИРОВАНИЯ; No 2-3 (2014); 221-232 ПРОБЛЕМИ ПРОГРАМУВАННЯ; No 2-3 (2014); 221-232 1727-4907 ru https://pp.isofts.kiev.ua/index.php/ojs1/article/view/715/767 Copyright (c) 2025 PROBLEMS IN PROGRAMMING
institution Problems in programming
baseUrl_str https://pp.isofts.kiev.ua/index.php/ojs1/oai
datestamp_date 2025-04-09T22:22:32Z
collection OJS
language Russian
topic
UDC 004.2: 004.3
spellingShingle
UDC 004.2: 004.3
Palagin, O.V.
Petrenko, M.G.
Velychko, V.Yu.
Malakhov, K.S.
Development of formal models, algorithms, procedures, engineering and functioning of the software system “Instrumental complex for ontological engineering purpose”
topic_facet
UDC 004.2: 004.3

УДК 004.2: 004.3
format Article
author Palagin, O.V.
Petrenko, M.G.
Velychko, V.Yu.
Malakhov, K.S.
author_facet Palagin, O.V.
Petrenko, M.G.
Velychko, V.Yu.
Malakhov, K.S.
author_sort Palagin, O.V.
title Development of formal models, algorithms, procedures, engineering and functioning of the software system “Instrumental complex for ontological engineering purpose”
title_short Development of formal models, algorithms, procedures, engineering and functioning of the software system “Instrumental complex for ontological engineering purpose”
title_full Development of formal models, algorithms, procedures, engineering and functioning of the software system “Instrumental complex for ontological engineering purpose”
title_fullStr Development of formal models, algorithms, procedures, engineering and functioning of the software system “Instrumental complex for ontological engineering purpose”
title_full_unstemmed Development of formal models, algorithms, procedures, engineering and functioning of the software system “Instrumental complex for ontological engineering purpose”
title_sort development of formal models, algorithms, procedures, engineering and functioning of the software system “instrumental complex for ontological engineering purpose”
title_alt Развитие формальных моделей, алгоритмов, процедур, разработки и функционирования программной системы "Инструментальный комплекс онтологического назначения”
description The given paper considered a generalized model representation of the SS ICOP. Represented complete software system development process. Developed relevant formal models of SS ICOP, represented as mathematical expressions, UML diagrams, and also described the three-tier architecture of SS ICOP in a client-server environment.Prombles in programming 2014; 2-3: 221-232
publisher PROBLEMS IN PROGRAMMING
publishDate 2025
url https://pp.isofts.kiev.ua/index.php/ojs1/article/view/715
work_keys_str_mv AT palaginov developmentofformalmodelsalgorithmsproceduresengineeringandfunctioningofthesoftwaresysteminstrumentalcomplexforontologicalengineeringpurpose
AT petrenkomg developmentofformalmodelsalgorithmsproceduresengineeringandfunctioningofthesoftwaresysteminstrumentalcomplexforontologicalengineeringpurpose
AT velychkovyu developmentofformalmodelsalgorithmsproceduresengineeringandfunctioningofthesoftwaresysteminstrumentalcomplexforontologicalengineeringpurpose
AT malakhovks developmentofformalmodelsalgorithmsproceduresengineeringandfunctioningofthesoftwaresysteminstrumentalcomplexforontologicalengineeringpurpose
AT palaginov razvitieformalʹnyhmodelejalgoritmovprocedurrazrabotkiifunkcionirovaniâprogrammnojsistemyinstrumentalʹnyjkompleksontologičeskogonaznačeniâ
AT petrenkomg razvitieformalʹnyhmodelejalgoritmovprocedurrazrabotkiifunkcionirovaniâprogrammnojsistemyinstrumentalʹnyjkompleksontologičeskogonaznačeniâ
AT velychkovyu razvitieformalʹnyhmodelejalgoritmovprocedurrazrabotkiifunkcionirovaniâprogrammnojsistemyinstrumentalʹnyjkompleksontologičeskogonaznačeniâ
AT malakhovks razvitieformalʹnyhmodelejalgoritmovprocedurrazrabotkiifunkcionirovaniâprogrammnojsistemyinstrumentalʹnyjkompleksontologičeskogonaznačeniâ
first_indexed 2025-07-17T10:08:38Z
last_indexed 2025-07-17T10:08:38Z
_version_ 1850411378316148736
fulltext Інтелектуальні інформаційні технології © О.В. Палагін, М.Г. Петренко, В.Ю. Величко, К.C. Малахов, 2014 ISSN 1727-4907. Проблеми програмування. 2014. № 2–3. Спеціальний випуск 221 УДК 004.2: 004.3 РАЗВИТИЕ ФОРМАЛЬНЫХ МОДЕЛЕЙ, АЛГОРИТМОВ, ПРОЦЕДУР, РАЗРАБОТКИ И ФУНКЦИОНИРОВАНИЯ ПРОГРАММНОЙ СИСТЕМЫ “ИНСТРУМЕНТАЛЬНЫЙ КОМПЛЕКС ОНТОЛОГИЧЕСКОГО НАЗНАЧЕНИЯ” А.В. Палагин, Н.Г. Петренко, В.Ю. Величко, К.С. Малахов Институт кибернетики имени В.М. Глушкова НАН Украины, Киев-187 МСП, 03680, проспект Академика Глушкова, 40, email: palagin_a@ukr.net, факс: +38044 5263348 Рассмотрено обобщенное представление математической модели программной системы ИКОН, разработаны формальные модели ПС ИКОН, представленные в аналитическом виде UML-диаграмм. Описана трехуровневая архитектура ПС ИКОН в среде клиент- сервер, а также процесс разработки сложных программных систем. The given paper considered a generalized model representation of the SS ICOP. Represented complete software system development process. Developed relevant formal models of SS ICOP, represented as mathematical expressions, UML diagrams, and also described the three-tier architecture of SS ICOP in a client- server environment. Введение На протяжении нескольких десятилетий задача поиска эффективного повторяемого и предсказуемого процесса или методологии, позволяющей улучшить производительность, качество и надежность разработки программного обеспечения (ПО) и программных систем (ПС) является актуальной. Известны работы, в кото- рых предлагается (на базе методов структурного программирования) технология надежной разработки ПО и ПС, используя при этом тестирование и верификацию программ на основе методов доказательного проекти- рования [1]. Разработка программных систем [2, 3] (Software development process, Software development life- cycle (SDLC)) – это процесс, направленный на создание и поддержку работоспособности, качества и надеж- ности ПС, используя технологии и методологии из информатики, математики и других инженерно- прикладных дисциплин. Полный процесс разработки ПС [2, 4] выполняется в несколько этапов. 1. Определение требований к ПС (Requirements, Specification): извлечение, анализ, спецификация и утверждение требований для ПС (или составление технического задания на проектирование ПС). 2. Проектирование ПС (Architecture, Design): построение формальной модели ПС, проектирование ПС средствами Computer-Aided Software Engineering (описание моделей ПС на унифицированном языке моделиро- вания UML). 3. Инженерия ПС (Software engineering): реализация ПС с помощью выбранного языка программирова- ния (написание исходного кода). 4. Тестирование и отладка (Testing, Debugging): поиск и исправление ошибок в программных модулях ПС. 5. Подготовка документации на ПС (Software documentation): множество необходимых инструкций пользователя ПС. 6. Внедрение программной системы (Deployment): процесс настройки ПС под определенные условия эксплуатации, а также обучение пользователей работе с программным продуктом. 7. Сопровождение программной системы (Maintenance): процесс оптимизации и устранения обнаружен- ных в процессе опытной эксплуатации дефектов функционирования ПС, передача ПС в эксплуатацию. За рамками приведенного выше списка этапов остались такие пункты как: выбор методологии процесса разработки ПО и ПС [5–7] (основными парадигмами считаются Agile (Scrum), Waterfall, Rapid application development (RAD), Test driven development (TDD)), локализация ПС. Эти пункты требуют более детального рассмотрения и описания, что выходит за рамки данной работы. Постановка задачи Разработка формальной модели ПС – это важный и основополагающий этап при проектировании слож- ной ПС, требующий системного анализа выбора математических структур, наиболее подходящих для модели- рования заданного набора задач. Разработанная формальная модель должна позволять выполнять:  многокритериальные качественные и количественные оценки работы системы;  оптимизацию алгоритмов функционирования моделей на протяжении всего жизненного цикла систе- мы, в соответствии с критериями сложности реализации ПС и соответствующих алгоритмов, производительно- сти, ограничения реального времени получения результата и другие. mailto:palagin_a@ukr.net Інтелектуальні інформаційні технології 222 С учетом изложенной выше концепции создания программных систем, необходимо разработать фор- мальные модели инструментального средства автоматизированного построения онтологий предметных обла- стей, названного “Инструментальным комплексом онтологического назначения” (ИКОН). Программная система “Инструментальный комплекс онтологического назначения” ИКОН является системой, реализующей одно из направлений комплексных технологий Data & Text Mining, а именно – анализ и обработку больших объемов неструктурированных данных, в частности лингви- стических корпусов текстов на украинском и/или русском языке, извлечение из них предметных знаний с последующим их представлением в виде системно-онтологической структуры или онтологии предметной области (ПдО). ИКОН предназначен для реализации множества компонентов интегрированной информаци- онной технологии [8]. Современный этап развития и построения программных систем характеризуется существенным усложнением процесса их разработки. Под программной системой понимается некоторая конечная совокуп- ность программ, предназначенных для достижения поставленной цели (целей). Функционирование системы заключается в использовании входящих в нее программ (программных модулей), и может быть выполнено двумя способами [9]:  однопотоковое выполнение процессов (в каждый момент времени выполняется процедура (оператор) только в одной из программ, либо выполняется только одна программа (модуль) и все остальные программы (модули) в этот момент времени приостанавливают свою работу);  многопотоковое (мультипрограммное) выполнение процессов (в каждый момент времени выполняется процедура (оператор) в каждой программе, либо параллельно выполняются несколько или более программ). При построении модели ПС следует руководствоваться следующими принципами [10]. 1. Модель системы не должна быть чрезмерно детальной (излишняя сложность модели может вызвать существенные вычислительные проблемы при ее формальном анализе). 2. Модель системы не должна быть чрезмерно упрощенной, она должна отражать те аспекты системы, которые имеют отношение к проверяемым свойствам, и сохранять все свойства моделируемой системы, пред- ставляющие интерес для анализа. С точки зрения программной инженерии программная система рассматривается в виде набора описаний, представленных в виде математических моделей, формализмов и техник моделирования [11, 12]. Структура математических моделей ПС такого рода включает в себя следующие модели [11, 12]: 1) информационная модель; 2) функционально-компонентная модель. Опишем каждую из перечисленных моделей. Информационная модель ПС ИКОН Информационные модели используются для представления и описания потоков информации, структур данных, а также программ (модулей) в программной системе. Обобщенная информационная модель ПС ИКОН представляется некоторой конечной совокупностью программ (программных модулей) [10–12]: , 1    n i ИКОНi ИКОН (1) где ni ,1 , n – количество программных модулей входящих в ПС ИКОН, iИКОН – некоторая программа (модуль) ПС ИКОН. При этом реализуется отображение ИКОН G интеграции функций множества программных модулей ИКОН в обобщенную (целевую) функцию ИКОН: ,: ИКОНИКОН FSG ИКОН  (2) где ИКОНS – множество функций (набор функций) определенного программного модуля ИКОН, ИКОНF – обобщённая функция ИКОН. На данном этапе жизненного цикла ПО ПС ИКОН можно представить следующей совокупностью программных модулей: }.,,,,,,,{ МПОМБДМУБДЗМИПТИМПТДМВПОСМЛАТДМУГОИКОН  (3) Інтелектуальні інформаційні технології 223 Рассмотрим более детально функциональные характеристики программных модулей ИКОН. 1. МУГО – набор функций программного модуля “Управляющая графическая оболочка”, ,,,,,,)( 654321  SSSSSSS МУГОИКОН (4) где 1S – осуществляет предварительное наполнение среды внешними электронными коллекциями энциклопе- дических, толковых словарей и тезаурусов, описывающих домен предметных знаний; 2S – обеспечивает запуск и последовательность исполнения прикладных программ, реализующих состав- ные информационные технологии проектирования онтологии ПдО и системной интеграции междисциплинар- ных знаний; 3S – отображает ход процесса проектирования онтологии ПдО; 4S – содержит позиции меню для запуска как последовательностей, так и отдельных прикладных про- грамм, используемых в процессе проектирования онтологии ПдО; 5S – обеспечивает интерфейс с естественным интеллектом; 6S – обеспечивает обмен информацией между прикладными программами и базами данных. 2. МПТД – набор функций программного модуля поиска текстовых документов, ,,)( 87  SSS МПТДИКОН (5) где 7S – поиск текстовой информации во внешних источниках; 8S – формирование лингвистического корпуса текстов в библиотеке (базе данных) текстовых документов. 3. МИПТИ – набор функций программного модуля индексации и поиска текстовой информации, ,)( 9  SS МИПТИИКОН (6) где 9S – создание и манипулирование индексами, по которым возможно найти информацию в соответствую- щих библиотеках ТД, тезаурусах, онтологиях. 4. МЛАТД – набор функций программного модуля лингвистического анализа текстовых документов, ,,,)( 121110  SSSS МЛАТДИКОН (7) где 10S – формирование множества терминов; 11S – формирование множества понятий; 12S – формирование множества отношений между понятиями; 5. МПО – набор функций программного модуля построения онтологии ПдО, ,,,,,,,)( 19181716151413  SSSSSSSS МПОИКОН (8) где 13S – считывает из модуля визуального проектирования онтологических структур начальную онтологию ПдО. Из библиотеки ЭК считывает определения понятий, входящих в начальную онтологию, и формирует множества функций интерпретации; 14S – считывает из соответствующей библиотеки онтографы и формализованные описания онтологий ТД, проверяет их на непротиворечивость; 15S – анализирует на полноту множества функций интерпретации. Просматривает электронные коллекции энциклопедических, толковых словарей и тезаурусов и пополняет множества последних для соответствующих понятий-объектов и понятий-процессов; 16S – в процессе построения онтологии, по необходимости, обращается к любому информационному хра- нилищу; 17S – выполняет поочередную привязку онтографов и функций интерпретации онтологий ТД; 18S – выполняет привязку общего онтографа ТД и множеств функций интерпретации с онтографом и мно- жествами функций интерпретации начальной онтологии соответственно; 19S – передает полученный результат в модуль визуального проектирования на верификацию. 6. МВПОС – набор функций программного модуля визуального проектирования онтологических структур, Інтелектуальні інформаційні технології 224 ,,,)( 222120  SSSS МВПОСИКОН (9) где 20S – разработка начальной онтологии ПдО; 21S – ручное неавтоматизированное проектирование онтологии ПдО; 22S – верификация онтографа. 7. МУБДЗ – набор функций программного модуля управления библиотеками данных и знаний, ,,)( 2423  SSS МУБДЗИКОН (10) где 23S – осуществляет запись, накопление и хранение информации в соответствующих библиотеках; 24S – по запросу менеджера проектов осуществляет чтение из библиотек запрашиваемой информации. 8. МБД – набор функций программного модуля базы данных, ,,,,,,,)( 31302928272625  SSSSSSSS МБДИКОН (11) где 25S – накопление и хранение онтологий ПдО; 26S – накопление и хранение ТД; 27S – накопление и хранение ЛКТ; 28S – накопление и хранение списков множеств терминов, понятий и отношений; 29S – накопление и хранение проектов ИКОН; 30S – поиск по БД; 31S – работа в режиме клиент-сервер. Функционально-компонентная модель ПС ИКОН Функционально-компонентная модель используется для представления взаимодействий, отношений и зависимостей программных модулей в ПС, а также для подробного описания компонентов системы. Обобщен- ная функционально-компонентная модель ПС ИКОН может быть представлена в виде: .),(,,,, 0  StatDynCmpPhysStatDynИКОН ММPММММS (12) Рассмотрим более подробно функционально-компонентную модель ПС ИКОН. 1. DynМ – модель, определяющая поведение системы. Рассматривается как UML dynamic model [13–15]: диаграммы вариантов использования (use case diagram); диаграммы активности (activity diagram), диаграммы взаимодействий (sequence diagram); Динамическая модель (Dynamic model) описывает поведение системы, например, изменение программных сущностей (software entities) во время выполнения приложения. ,,,  seqactuseDyn dddM (13) где used – множество UML-диаграмм вариантов использования ПС ИКОН, actd – множество UML-диаграмм активности ПС ИКОН, seqd – множество UML-диаграмм взаимодействий ПС ИКОН. 2. StatМ – модель, определяющая структуру системы. Рассматривается как UML static model [13–15]: диаграммы классов (class diagram) и описание основных модулей системы в виде статических блок-схем. Статическая модель (Static model) описывает элементы системы и их взаимоотношения (классы, атрибуты, операторы). ,,,  reqbdM StatclassStat (14) где classd – множество UML-диаграмм классов ПС ИКОН, Statb – множество статических блок-схем ПС ИКОН, req – техническое задание на проектирование ПС ИКОН. 3. PhysМ – модель, определяющая структуру программных сущностей. Рассматривается как файлы ис- ходного кода, библиотеки, исполняемые файлы, и отношения между ними. Физическая модель (Physical model) [13] отображает неизменяемую структуру программных сущностей, в частности файлов исходного кода, биб- лиотек, исполняемых файлов, и отношений между ними. Інтелектуальні інформаційні технології 225 ,,,  exeflibsrcMPhys (15) где src – файлы исходного кода, lib – программные библиотеки, exef – исполняемые файлы. 4. CmpМ – модель (схема) компонентов ПС, используется для визуализации высокоуровневой струк- туры системы и поведения служб (сервисов), предоставляемых и потребляемых этими элементами (компонен- тами) через интерфейсы. Компонент – это модульная единица, заменяемая в пределах среды. Его внутренние составляющие скрыты, но доступ к функциям компонента можно получить с помощью одного или нескольких четко определенных предоставленных интерфейсов (provided interfaces). Компонент также может иметь требу- емые интерфейсы (required interfaces). Требуемый интерфейс определяет, какие функции и службы (сервисы) он требует от других компонентов. Объединив предоставленные и требуемые интерфейсы нескольких компо- нентов, можно создать более крупный компонент. Можно сказать, что вся ПС, по сути, представляет собой компонент [16]. Создание схем компонентов имеет несколько преимуществ.  Анализ основных элементов ПС позволяет команде разработчиков понять принципы существующей системы и создать новую.  Представление ПС в качестве коллекции компонентов с четко определенными предоставленными и требуемыми интерфейсами позволяет более эффективно разделить компоненты. В свою очередь, это облегчает понимание конструкции ПС и ее корректирование при изменении требований.  Использование диаграммы (схемы) компонентов для представления конструкции ПС независимо от того, какой язык программирования или программная платформа используется сейчас или будет использовать- ся в будущем. 5. ),(0 StatDyn ММP – предикат целостности системы, определяющий назначение системы, семантику (смысл) моделей DynМ и StatМ [17]; UML-диаграмма вариантов использования высокого уровня абстракции ПС ИКОН показана на рис. 1. Суть данной диаграммы состоит в следующем: проектируемая система представляется в виде множества сущностей или акторов (actor), взаимодействующих с системой с помощью так называемых вариантов исполь- зования. При этом актором или действующим лицом называется любая сущность, взаимодействующая с систе- мой извне. Это может быть человек, техническое устройство, программа или любая другая система, которая может служить источником воздействия на моделируемую систему. В свою очередь, вариант использования служит для описания сервисов, которые система предоставляет актору. Инструментальный комплекс онтологического назначения Эксперт ПдО ИнИТ автоматизированно го построения онтологий инженер по знаниям Формирование множества терминов и понятий Лингвистический анализ ТД ПдО <include> Поиск текстовых документов в сети Internet Визуальное пректирование онтологий <include> Поиск с помощью Google API <include> <extend> Поиск с помощью WolframAlpha API Индексация и поиск текстовой информации Визуализация о проверка онтографа ПдО (Protege) <uses> Поиск с помощью Bing API Формирование множества отношений УГО ИКОН <include> <include> <include> <include> <include> <include> <include> <include> Knowledge engine WolframAlpha Search engine Bing Search engine Google Конвертация файлов описания онтологий Управление библиотеками ИКОН <include> Библиотека справочной информации <extend> БД Redis Рис. 1. UML-диаграмма вариантов использования ПС ИКОН. Інтелектуальні інформаційні технології 226 UML-диаграмма активности высокого уровня абстракции ПС ИКОН показана на рис. 2. С помощью диаграммы активности (рис. 2) можно изучать поведение системы с использованием моде- лей потока данных и потока управления. Диаграмма активности отображает некоторый алгоритм, описываю- щий жизненный цикл объекта, состояния которого могут меняться. Инициализация УГО ИКОН Инициализация модулей ИКОН Анализ ТД ПдО Формирование множества терминов Формирование множества отношений между терминами Построение онтологии ПдО Визуальное проектирование онтологии ПдО [иначе][инициализация] [сохранить] [выход] [нет] [да] Наполнение подсистемы "Информационный ресурс" (Удалённый сервер БД Redis) Наполнение подсистемы "Информационный ресурс" (локальный сервер БД Redis) Рис. 2. UML-диаграмма активности ПС ИКОН Физическая модель программных сущностей ПС ИКОН показана на рис. 3. Представленная модель отображает неизменяемую структуру программных сущностей, в частности фай- лов исходного кода, библиотек, исполняемых файлов, и отношений между ними. Instrumental complex for ontological engineering purpose Downloads Lib InCom.jar Kospekt.dll Readme.TXT DJNativeSwing-SWT.jar gson-2.1.jar DJNativeSwing.jar guava-11.0.1.jar WolframAlpha-1.1.jar httpclient-4.0.3.jar beansbinding-1.2.1.jar httpclient-4.1.2.jar bing-search-java-sdk.jar httpclient-cache-4.1.2.jar commons-codec-1.4.jar httpcore-4.0.1.jar httpcore-4.1.2.jar google-ajax-apis.jar httpmime-4.1.2.jar google-api-client-1.10.3-beta.jar jackson-core-asl-1.9.4.jar google-api-client-android2- 1.10.3-beta.jar javaFlacEncoder-0.2.3.jar google-api-client-appengine.jar jdo2-api-2.3-eb.jar google-api-client-servlet.jar jdom.jar google-customsearch.jar commons-logging-1.1.1.jar jedis-2.1.0.jar google-http-client-1.10.3-beta.jar jna.jar.zip google-http-client-android.jar jsr305-1.3.9.jar platform.jar.zip protobuf-java-2.2.0.jar google-oauth-client.jar swing-layout-1.0.4.jar google-oauth-appengine.jar swt-3.6M7-win32-win32-x86.jar transaction-api-1.1.jar gson-1.4.jar Redis-2.6.9 Рис. 3. Физическая структура программных сущностей ПС ИКОН UML-диаграмма компонентов высокого уровня абстракции ПС ИКОН представлена на рис. 4, а и б. UML-диаграмма компонентов используется для визуализации высокоуровневой структуры системы и поведе- ния служб (сервисов), предоставляемых и потребляемых этими элементами (компонентами) через интерфейсы. http://www.mql5.com/go?http://ru.wikipedia.org/wiki/%D0%94%D0%B8%D0%B0%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B0_%D0%B4%D0%B5%D1%8F%D1%82%D0%B5%D0%BB%D1%8C%D0%BD%D0%BE%D1%81%D1%82%D0%B8%20%5Co%20http://ru.wikipedia.org/wiki/%D0%94%D0%B8%D0%B0%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B0_%D0%B4%D0%B5%D1%8F%D1%82%D0%B5%D0%BB%D1%8C%D0%BD%D0%BE%D1%81%D1%82%D0%B8%20%5Ct%20_blank Інтелектуальні інформаційні технології 227 а Інтелектуальні інформаційні технології 228 б Р и с. 4 . U M L -д и аг р ам м а к о м п о н ен то в в ы со к о го у р о в н я а б ст р ак ц и и П С И К О Н Інтелектуальні інформаційні технології 229 Трехуровневая архитектура ПС ИКОН В процессе разработки ПС ИКОН возник ряд проблем, в частности, проблемы масштабируемости, про- изводительности, безопасности. Для решения вышеуказанных проблем была разработана концепция трёхуров- невой архитектуры ПС ИКОН. В терминах программной инженерии трехуровневая архитектура (Multitier architecture) состоит из уровня представления (Presentation tier), уровня логики (Logic tier), уровня данных (Data tier) и предполагает наличие следующих компонентов приложения: клиентское приложение (“тонкий клиент” или терминал), подключенное к серверу приложений, который в свою очередь подключен к серверу базы данных (БД) [18–20]. Клиент – это интерфейсный (обычно графический) компонент, который реализует уровень представле- ния, собственно приложение для конечного пользователя. Первый уровень не должен иметь прямых связей с базой данных (по требованиям безопасности), быть нагруженным основной бизнес-логикой [21] (по требовани- ям масштабируемости) и хранить состояние приложения (по требованиям надежности). На первый уровень мо- жет быть вынесена и обычно выносится простейшая бизнес-логика: интерфейс авторизации, алгоритмы шиф- рования, проверка вводимых значений на допустимость и соответствие формату, несложные операции (сорти- ровка, группировка, подсчет значений) с данными, уже загруженными на терминал. Сервер приложений реализует уровень логики ПС ИКОН, на котором сосредоточена бо льшая часть биз- нес-логики (описание функциональных алгоритмов, обрабатывающих обмен информацией между сервером БД и клиентом). Вне его остаются фрагменты, экспортируемые на терминалы, а также погруженные в третий уро- вень хранимые процедуры и функции. Сервер БД обеспечивает хранение данных и реализует третий уровень – уровень данных. Обычно это стандартная реляционная или объектно-ориентированная система управления базами данных (СУБД). Если третий уровень представляет собой БД вместе с хранимыми процедурами и схемой, описывающей приложение в терминах реляционной модели, то второй уровень строится как программный интерфейс, связывающий кли- ентские компоненты с прикладной логикой (программным модулем) БД. В простой конфигурации физически сервер приложений может быть совмещен с сервером БД на одном компьютере, к которому по сети подключается один или несколько терминалов. В “правильной” (с точки зре- ния безопасности, надежности, масштабируемости) конфигурации сервер БД находится на выделенном компь- ютере (или кластере), к которому по сети подключены один или несколько серверов приложений, к которым, в свою очередь, по сети подключаются терминалы (рис. 5). Клиент 1 Клиент 2 Клиент 3 Сервер Приложений (Сервисов) Сервер базы данных Рис. 5. Пример трехуровневой архитектуры Основные достоинства трехуровневой архитектуры ПС:  масштабируемость – способность системы справляться с увеличением рабочей нагрузки (увеличивать свою производительность) при добавлении аппаратных ресурсов; http://en.wikipedia.org/wiki/Multitier_architecture http://ru.wikipedia.org/wiki/%D0%A2%D0%BE%D0%BD%D0%BA%D0%B8%D0%B9_%D0%BA%D0%BB%D0%B8%D0%B5%D0%BD%D1%82 http://ru.wikipedia.org/wiki/%D0%93%D1%80%D0%B0%D1%84%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D0%B9_%D0%B8%D0%BD%D1%82%D0%B5%D1%80%D1%84%D0%B5%D0%B9%D1%81_%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8F http://ru.wikipedia.org/wiki/%D0%91%D0%B8%D0%B7%D0%BD%D0%B5%D1%81-%D0%BB%D0%BE%D0%B3%D0%B8%D0%BA%D0%B0 http://ru.wikipedia.org/wiki/%D0%9C%D0%B0%D1%81%D1%88%D1%82%D0%B0%D0%B1%D0%B8%D1%80%D1%83%D0%B5%D0%BC%D0%BE%D1%81%D1%82%D1%8C http://ru.wikipedia.org/wiki/ASP.NET_state_management http://ru.wikipedia.org/wiki/%D0%90%D0%B2%D1%82%D0%BE%D1%80%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F http://ru.wikipedia.org/wiki/%D0%A0%D0%B5%D0%BB%D1%8F%D1%86%D0%B8%D0%BE%D0%BD%D0%BD%D0%B0%D1%8F_%D0%A1%D0%A3%D0%91%D0%94 http://ru.wikipedia.org/wiki/%D0%9E%D0%B1%D1%8A%D0%B5%D0%BA%D1%82%D0%BD%D0%BE-%D0%BE%D1%80%D0%B8%D0%B5%D0%BD%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%BD%D0%B0%D1%8F_%D0%A1%D0%A3%D0%91%D0%94 http://ru.wikipedia.org/wiki/%D0%A1%D0%A3%D0%91%D0%94 http://ru.wikipedia.org/wiki/%D0%A5%D1%80%D0%B0%D0%BD%D0%B8%D0%BC%D0%B0%D1%8F_%D0%BF%D1%80%D0%BE%D1%86%D0%B5%D0%B4%D1%83%D1%80%D0%B0 http://ru.wikipedia.org/wiki/%D0%9A%D0%BB%D0%B0%D1%81%D1%82%D0%B5%D1%80 http://ru.wikipedia.org/wiki/%D0%9C%D0%B0%D1%81%D1%88%D1%82%D0%B0%D0%B1%D0%B8%D1%80%D1%83%D0%B5%D0%BC%D0%BE%D1%81%D1%82%D1%8C Інтелектуальні інформаційні технології 230  конфигурируемость – изолированность уровней друг от друга позволяет (при правильном разверты- вании архитектуры) быстро и простыми средствами переконфигурировать систему при возникновении сбоев или при плановом обслуживании на одном из уровней;  высокие безопасность и надежность;  низкие требования к скорости передачи информации канала (сети) между терминалами и сервером приложений;  низкие требования к производительности и техническим характеристикам терминалов, как следствие снижение их стоимости. Терминалом может выступать не только компьютер, но и, например, мобильный теле- фон. К недостаткам трехуровневой архитектуры ПС в сравнении с файл-серверной архитектурой следует от- нести:  более высокая сложность создания приложений;  сложнее в разворачивании и администрировании;  высокие требования к производительности серверов приложений и сервера базы данных, а, значит, и высокая стоимость серверного оборудования;  высокие требования к скорости канала (сети) между сервером базы данных и серверами приложений. Рассмотрим реализацию трехуровневой архитектуры ИКОН. На рис. 6 представлена обобщенная струк- турная схема трехуровневой архитектуры ИКОН. Уровень представления (Presentation tier) Пользовательский интерфейс (User interface) Управляющая графическая оболочка ИКОН Уровень логики (Logic tier) Сервисы (Services) Процедуры и функции реализующие интегрированную информационную технологию автоматизированного построения онтологий предметных областей Уровень данных (Data tier) Сервер БД БД Redis Рис. 6. Обобщенная структурная схема трехуровневой архитектуры ИКОН Інтелектуальні інформаційні технології 231 На уровне представления реализовано клиентское приложение “Управляющая графическая оболочка”. На уровне логики реализованы процедуры и функции, обеспечивающие функционирование программных мо- дулей ПС ИКОН и предоставляемых ими сервисов (модуль управления библиотеками; модуль индексации и поиска текстовой информации; модуль построения онтологии ПдО; модуля поиска текстовых документов; мо- дуля лингвистического анализа текстовых документов; модуля визуального проектирования онтологических структур; модуль построения отношений между понятиями). На уровне данных реализован сервер БД Redis, обеспечивающий хранение данных ИКОН (лингвистического корпуса текстов, цифровой библиотеки справоч- ной информации, онтологических структур, терминов, понятий, словарей, тезаурусов, текстовых документов). Уровни архитектуры ПС ИКОН находятся в двусторонней зависимости, которая указывает на то, что один уро- вень может использовать функции другого уровня и наоборот. Блок-схема алгоритма работы ПС ИКОН в трехуровневой архитектуре показана на рис. 7. Data tier Presentation tier Logic tier Presentation tier Начало Инициализация клиентского приложеия УГО Загрузка текстового документа Отправка текстовго документа на сервер бизнес логики Logic tier Лингвистический анализ текстового документа библиотекой konspektlib.dll Отображение результатов выполнения бизнес логики в клиентском приложении УГО Отправка результатов выполнения бизнес логики клиентскому приложению УГО Построение онтологии ПдО Сохранение данных в БД Redis Конец Рис. 7. Алгоритм работы ИКОН в трехуровневой архитектуре Інтелектуальні інформаційні технології 232 Выводы В работе предложено обобщённое представление формальной модели программной системы “Инстру- ментальный комплекс онтологического назначения” автоматизированного построения онтологий предметных областей. Разработаны и дополнены формальные модели ПС ИКОН, в соответствии с развитием алгоритмов, процедур, разработки и функционирования программной системы в целом. Спроектирована функционально- компонентная модель ПС ИКОН, в частности, UML-диаграмма компонентов ПС ИКОН, описывающая взаимо- действие и отношения программных модулей в системе. Рассмотрена концепция трёхуровневой архитектуры ПС ИКОН в среде клиент-сервер. Описан полный процесс разработки сложных программных систем. За рам- ками данной работы остались особенности реализации концепции трёхуровневой архитектуры ПС ИКОН, а также описание методологии разработки ПО и ПС в целом. 1. Коваль В.Н. Доказательное проектирование. – Киев: Наук. думка, 2001. – 182 с. 2. Соммервилл И. Инженерия программного обеспечения. – 6-е изд. – М.: «Вильямс», 2002. – С. 642. 3. Гринфилд Д., Кит Шорт, Стив Кук, Стюарт Кент, Джон Крупи. Фабрики разработки программ: потоковая сборка типовых прило- жений =Software Factories: Assembling applications with patterns, models, frameworks and tools. – М.: «Диалектика», 2006. – С. 592. 4. Кривий С.Л. Вступ до методів створення програмних продуктів. Видавничий дім «Букрек», 2012. – 424 с. 5. Кон М. Scrum: гибкая разработка ПО = Succeeding with Agile: Software Development Using Scrum. (Addison-Wesley Signature Series). – М.: «Вильямс», 2011. – С. 576. 6. Koskela L. Test Driven: TDD and Acceptance TDD for Java Developers // Manning Publications, 2007. 7. McConnell S. Software Estimation: Demystifying the Black Art // Microsoft Press, 2006. 8. Палагин А.В., Крывый С.Л., Петренко Н.Г. Онтологические методы и средства обработки предметных знаний – [монография] – Лу- ганск: изд-во ВНУ им. В. Даля, 2012. – 323 с. 9. Жуков Д.Ю., Миронов А.М. Математическая модель и методы верификации программных систем // Информационные технологии и вычислительные системы, 2005, Вып. 1. – С. 49–67. 10. Миронов А.М. Математическая теория программных систем // Материалы к спецкурсу Вычислительная логика. Режим доступа: http://www.intsys.msu.ru/staff/mironov/mthprogsys.pdf. – Дата доступа: 07.12.2013 11. Broy M. Mathematical Methods in System and Software Engineering // NATO ASI SERIES F COMPUTER AND SYSTEMS SCIENCES. – SPRINGER VERLAG, German. – 1997. – Vol 158. – P. 271–312. 12. Broy M. Mathematical System Models as a Basis of Software Engineering // LECTURE NOTES IN COMPUTER SCIENCE. – 1995. – ISSUE 1000. – P. 292. 13. Marshall C. Enterprise Modelling with UML // Addison-Wesley, Reading, MA, 2000. 14. Booch G., Rumbaugh J., Jacobson I. The Unified Modeling Language User Guide // Addison-Wesley, Reading, MA, 1999. 15. Quatrani T. Visual Modeling with Rational Rose and UML // Addison-Wesley, Reading, MA, 1998. 16. UML Component Diagrams: Guidelines. Режим доступа: http://msdn.microsoft.com/en-us/library/vstudio/dd409393.aspx. – Дата доступа: 07.12.2013 17. Голышев Л.К. Системный подход к анализу и проектированию сложных систем. Системный проект: научн. моногр. К. : ГП «Инфор- мационно-аналитическое агентство», 2011. – 555 с. 18. Deployment Patterns (Microsoft Enterprise Architecture, Patterns, and Practices). Режим доступа: http://msdn.microsoft.com/en- us/library/ff646997.aspx. – Дата доступа: 07.12.2013. 19. Fowler M. Patterns of Enterprise Application Architecture. Addison Wesley, 2003. 20. Eckerson W. Three Tier Client/Server Architecture: Achieving Scalability, Performance, and Efficiency in Client Server Applications // Open Information Systems 10, 1, January 1995: 3(20). http://ru.wikipedia.org/w/index.php?title=%D0%92%D0%B8%D0%BB%D1%8C%D1%8F%D0%BC%D1%81_(%D0%B8%D0%B7%D0%B4%D0%B0%D1%82%D0%B5%D0%BB%D1%8C%D1%81%D1%82%D0%B2%D0%BE)&action=edit&redlink=1 http://en.wikipedia.org/wiki/Steve_McConnell http://www.intsys.msu.ru/staff/mironov/mthprogsys.pdf http://www.intsys.msu.ru/staff/mironov/mthprogsys.pdf http://msdn.microsoft.com/en-us/library/vstudio/dd409393.aspx http://msdn.microsoft.com/en-us/library/ms998478.aspx http://msdn.microsoft.com/en-us/library/vstudio/dd409393.aspx http://msdn.microsoft.com/en-us/library/vstudio/dd409393.aspx