автореферат диссертации по информатике, вычислительной технике и управлению, 05.13.11, диссертация на тему:Математическое и программное обеспечение организации взаимодействия программных систем и баз данных с использованием ORM-библиотек в логических структурах архитектур сетевых порталов

кандидата технических наук
Мельников, Сергей Викторович
город
Москва
год
2014
специальность ВАК РФ
05.13.11
Диссертация по информатике, вычислительной технике и управлению на тему «Математическое и программное обеспечение организации взаимодействия программных систем и баз данных с использованием ORM-библиотек в логических структурах архитектур сетевых порталов»

Автореферат диссертации по теме "Математическое и программное обеспечение организации взаимодействия программных систем и баз данных с использованием ORM-библиотек в логических структурах архитектур сетевых порталов"

Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования "Московский государственный технический университет радиотехники, электроники и автоматики"(МГТУ МИРЭА)

На правах рукописи

Мельников Сергей Викторович

Математическое и программное обеспечение организации взаимодействия программных систем и баз данных с использованием ОКМ-библиотек в логических структурах архитектур сетевых

порталов

05.13.11 - Математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей

АВТОРЕФЕРАТ диссертации на соискание ученой степени кандидата технических наук

Москва - 2014

5:"::! гон

005549825

Работа выполнена на кафедре "Информатика и информационные системы " (ИИС) федерального государственного бюджетного образовательного учреждения высшего профессионального образования "Московский государственный технический университет радиотехники, электроники и автоматики"МГТУ МИРЭА Научный руководитель: Кудж Станислав Алексеевич,

доктор технических наук, ректор МГТУ МИРЭА Официальные оппоненты: Иванников Александр Дмитриевич

Защита состоится «30» июня 2014 года в 14:00 на заседании диссертационного совета Д 212.131.05 при МГТУ МИРЭА, расположенном по адресу: 119454, г.Москва, пр.Вернадского, 78, ауд. Д117

С диссертацией можно ознакомиться на сайте http://www.mirea.ru и в библиотеке МГТУ МИРЭА.

Автореферат разослан «25» мая 2014 г.

Отзывы и замечания по автореферату в двух экземплярах, заверенные печатью, просьба высылать по вышеуказанному адресу на имя ученого секретаря диссертационного совета. Ученый секретарь диссертационного совета,

доктор технических наук, профессор, заместите директора Института проблем проектирован в микроэлектронике Российской Академии На (ИППМ РАН) по научной работе

Клепарский Вадим Георгиевич,

доктор физико-математических наук, ведущий н учный сотрудник федерального государственно бюжетного учреждения науки "Института пр блем управления им. В.А. Трапезникова Российск Академии Наук" (ИПУРАН)

Ведущая организация: ОАО «Концерн «Моринсис-Агат»

доцент, к.т.н.

Андрианова Елена Гельевна

Общая характеристика работы

Работа посвящена математическому и программному обеспечению 01Ш-библиотек как инструментального средства организации взаимодействия логики сетевого портала и системы управления базой данных в современной трехуровневой архитектуре высоконагруженных сетевых образовательных порталов.

Во Введении к диссертации отмечено, что при постоянном увеличении требуемой скорости разработки программных систем особо остро встает вопрос о использовании готовых программных компонентов, особенно для задач, неспецифичных для конкретных приложений, таких как обеспечения быстрого доступа к требуемым данным и знаниям. В связи с этим, в среде профессиональных разработчиков существует устойчивый интерес к ОЯМ-библиотекам — программным блокам, находящийся в слое Логики информационной системы и отвечающий за организацию взаимодействия остальных компонентов слоя Логики со слоем Данных. Использование готовых подпрограмм для доступа к данным позволяющим сократить трудозатраты на разработку, избавиться от явного БС^Ь-кода запросов к системам управления базами данных (СУБД), унифицировать доступ к различным СУБД, упростить и ускорить сопровождение кода. Как показано в диссертации, использование ОЯМ-библиотек позволяет увеличить быстродействие программы в целом за счет использования кэширования запросов к СУБД.

Несмотря на возрастающую тенденцию к применению СЖМ-библиотек при промышленной разработке программного обеспечения, в литературе остаются недостаточно освещенными пределы и возможности их применения, оцененные по результатам математического моделирования. Практически не рассмотрены аспекты влияния внутренних особенностей СЖМ-библиотек, таких как выявленные в диссертации диссипативные макроструктуры, на пользовательские характеристики СЖМ-библиотек. Не исследованы границы возможности и целесообразности применения СЖМ-библиотек в качестве программного компонента современ-

ной портальной архитектуры программных систем для организации взаимодействия с базами данных.

В работе проведен аналитический обзор методов моделирования сложных систем. По его результатам методом исследования был выбран метод кинетических выражений с последующим линейным анализом устойчивости полученной системы уравнений. Данный метод позволяет наиболее просто и органично описать информационные процессы, протекающие в рассматриваемых системах.

Описаны информационные процессы, происходящие в ORM-библиотеке с помощью кинетических уравнений. Проанализировано поведение получившейся система уравнений с помощью метода линейного анализа устойчивости. Получено неравенство, определяющее момент перехода ORM-библиотеки из линейного в нелинейный режим. Определено влияние нелинейного режима работы ORM-библиотеки на пользовательские характеристики сетевого портала, в том числе: скорости обработки запросов и объеме занимаемой памяти.

Объектом исследования являются программные информационные системы на примере современных сетевых порталов с трехуровневой архитектурой, разработанные на платформе Java или .NET.

Целью диссертационной работы является разработка и применение математического и программного обеспечения организации взаимодействия программных систем и баз данных с использованием ORM-библиотек в логических структурах сетевых порталов. Дополнительной целью работы является выявление условий возникновения и предотвращения нестационарных режимов в процессе интенсивного кэширования данных при взаимодействии СУБД и слоя логики на примере сетевого портала.

Для достижения этой цели в работе поставлены следущие цели:

1. Рассмотрение возможности и целесообразности применения ORM-библиотек в качестве компонента современной портальной архитектуры программных систем для доступа программ к данным и знаниям.

2. Исследование причин и следствий возникновения диссипативных. макроструктур в процессе доступа к данным (образования диссипативных структур ).

3. Введение критерия возникновение диссипативных макро-структур в процессе кэширования в 011М-библиотеке. и оценка их влияния на пользовательский характеристики (ЖМ-библиотеки.

4. Создание программ, моделирующих (ЖМ-библиотеки в процессе доступа к данным, с целью верификации теоретических положений.

5. Исследование поведения разработанных программ, моделирующих СЖМ-библиотеки в процессе доступа к данным, в практических задачах с оценкой корректности теоретических заключений.

6. Внедрение научных положений диссертации в практические разработки и учебный процесс МГТУ МИРЭА.

Перечисленные задачи определяют предмет диссертации, соответствующий области исследования №3 "Модели, методы, алгоритмы, языки и программные инструменты для организации взаимодействия программ и программных систем" и №4 "Системы управления базами данных и знаний" в паспорте специальности 05.13.11.

Методы исследования базируются на теоретических и методологических основах теории программирования, теории оптимизации, реляционной алгебры, математической физике, методологических основах построения сетевых порталов.

Теоретическая значимость исследования обоснована тем, что в диссертации впервые проведено математическое моделирование СЖМ-библиотек. Научная новизна работы состоит в восполнении пробела в области моделирования СЖМ-библиотек как составной части высоконагруженных сетевых порталов. Автором впервые обнаружен эффект образования макро-структур в программных системах, которые могут играть роль "программных тромбов" в процессе организации взаимодействия программных систем и баз данных с использованием (ЖМ-

библиотек. Установлено, что основной причиной возникновения диссипативных макро-структур является использование агрессивного кэширования результатов запросов. Для агрессивного кэширования характерна максимизация временного буфера в памяти, в котором хранятся результаты длительных операций, т.е. ради большего размера буфера кэша происходит использование дополнительной оперативной памяти. Гипотезируется, что возникновение диссипативных макроструктур может быть обобщено на более широкий класс программ. Получений численные критерии перехода (ЖМ-библиотеки из линейного режима работы в колебательный. Определено соотношение, выполнение которого приводит к возникновению диссипативных макро-структур в (ЖМ-библиотеке в процессе кэширование: Ра

В > ,. . иКоэффициенты А и В характеризуют потоки запросов из логики портала к СЖМ-библиотеке, а коэффициенты скорости соответствующих

трансформаций объектов (ЖМ-библиотекой.

В работе использован математический аппарат кинетических уравнений описания процессов преобразования данных в объектно-ориентированных программах, пригодный для распространения на широкий класс информационных систем. Полученные результаты позволяют говорить о возможности снижения скорости обработки запросов (увеличения среднего времени обработки запроса) в ряде случаев при применении кэширования в (ЖМ-библиотеке. Обнаруженный эффект может быть отождествлен с "диссипативными структурами" И.Пригожина (И.Пригожин, 1968). Установлено, что основной причиной возникновения диссипативных макро-струкгур является использование агрессивного кэширования результатов запросов. Полученный численные критерии перехода ОЯМ-библио-теки из стационарного режима работы в колебательный. Дана расширенная философская трактовка причин возникновения диссипативных макро-структур в программных системах. Для формального описания обнаруженных явления в работе введен коэффициент повышенной загрузки СУБД, отражающий на сколько часто темп запросов к СУБД превышает средний.

Значение полученных в работе результатов исследования для практики заключается в том, что даны рекомендации по созданию высокопроизводительных программных моделей на императивном языке программирования С++ и достижения максимальной производительности. Разработана программа-модель, моделирующая работу ORM-библиотеки, в результате выполнения которой нашел эксперементальное подтверждение тезис о периодическом изменении объема занимаемой программой памяти.

Полученная модель поведения ORM-библиотеки позволяет определить значения эмпирических коэффициентов А,В,к\... при которых произойдет переход в нелинейный режим. Описано негативное влияние этого режима на скорость обработки запросов. Даны подробные рекомендации по выбору инструментальных средств для созданию высокопроизводительных моделей. Описан подход для более точного мониторинга состояния модели на инструментальной платформе Java. Основной причиной возникновения макро-структур является использование агрессивного кэширования результатов запросов. Получен необходимый для практики численный критерий перехода ORM-библиотеки из стационарного режима работы в нестационарный.

Апробация н внедрение результатов диссертации. Научный положение диссертации внедрены в учебный процесс факультете «Информационные технологии» МГТУ МИРЭА.Результаты диссертации используются в проектах разработки заказного программного обеспечения для ряда компания, в том числе "ВнешЭкономБанк", "МТС", "Unicredit банк", "Raiffeisen банк", о чем свидетельствует Акт о внедрении. В настоящее время результаты диссертационной работы используются в учебно-исследовательской работе, курсовом и дипломном проектировании на кафедре ИИС МИРЭА.

Результаты диссертации опубликованы в 17 научных статьях, в том числе 4 статьях в журналах из перечня ВАК, доложены и обсуждены на четырех международных и двух российской конференциях.

Личный вклад диссертанта состоит в математическом моделировании ORM-библиотек в процессе организации взаимодействия логики портала и СУБД. Все научные положения, вынесенные на защиту, получены диссертантом лично.

Структура и объем диссертации Диссертация состоит из Введения, трех глав, Заключения и двух приложения. Текст диссертации завершает Глоссарий, содержащий 18 терминов и дефиниций, относящихся к теме диссертации. Полный объем диссертации составляет 139 страниц с 20 рисунками. Список литературы содержит 180 источников.

Основное содержание работы

Первая глава посвящена аналитическому обзору современного состояния математического и программного обеспечения организации взаимодействия программных систем и баз данных с использованием ORM-библиотек. Исследована трехуровневая архитектрура программных систем, являющаяся современным подходом к проектированию информационных систем. В этой архитектуре выявлено 3 части или "слоя": слой представления, слой логики и слой данных. Для доступа к данным из уровня логики сетевого портала могут быть использованы ORM-библиотеки. В зависимости от используемой платформы: Java или .NET следует использовать либо ORM-библиотеку Hibernate либо ADO.NET Entity Framework". Отмечается, что кэширование в ORM-библиотеке может быть сильным средством увеличения производительности выполнения запросов к СУБД.

Рассмотрены некоторые методы моделирования программных систем. Исследованы философские основания явления самоорганизации и возникновения диссипативных макро-структур. Показан философский аспект понятия "энтропия" и его применимость к информационным системам. Отдельно обсуждается понятие "энтропия" как мера беспорядка.

Первая глава диссертации завершается параграфом 1.4 «Постановка задачи», в котором сформулированы основные задачи, отвечающие цели диссертации.

Во второй главе содержится разработке математической модели организации взаимодействия программных систем и систем управления базами данных с использованием ОЯМ-библиотек. Рассматриваются ОГШ-библиотека как компонент архитектуры информационных систем на примере сетевых порталов. Формализована работа ОЯМ-библиотеки, применяющей агрессивное кэширование. Записывается формальное математическое описание работы 011М-библиотеки с помощью кинетических выражений.

При анализе большего количества классов, которыми оперирует СЖМ-биб-лиотека, из них в работе выжелены: во-первых, несвязанные группы классов; во-вторых, циклические группы классов, в которых, при чтении одного класса необходимо произвести чтение другого класса. В данной работе используется характерный пример иерархии: один класс является типом поля другого класса. При этом, более сложные реальные случаи при необходимости можно свести к рассматриваемому.

аДХ + Д (1)

ю А + В + 2Х + У —* 3 Х + й + Е (2)

кЪ А + В + X —* У + И + Е (3)

Х^О (4)

А^О (5)

В Е (6)

(1) Поступающие запросы из основной логики приложений к СЖМ-библио-теке на чтение сущностей типа А трансформируются во внутреннее представление простого запроса, выполняемого СУБД, состоящее из двух объектов промежуточного представления/кэша X и объект запроса О к СУБД. На этом этапе происходит получение метаинформации, хранящейся в аннотациях типа сущностного объекта или в специальном конфигурационном файле. (2) В случае поступления параллельных запросов на чтение сущностей А и В и при нахождении записей в кэше типов X и У на выполнение в СУБД будет отправлен один запрос, а не

два и будет обновлены записи внутреннего кэша. (3) Если в кэше нет актуального объекта кэша типа У и недостаточно объектов кэша типа X, то будет создана запись кэша типа У и будет выполнен запрос к СУБД. (4) Отправка запросов на обновление кэша на выполнение СУБД. (5), (6) В отсутствии кэша запросы к ОКМ-библиотеке могут быть напрямую отправлены в СУБД на выполнение

Коэффициенты к1..к6, А, В и вид "реакций" (1)-(6) необходимо получать эмпирически из условий работы конкретной реализации (ЖМ-библиотеки, схемы БД и производителя СУБД. Поток входных запросов (концентрации А и В) априорно предполагается постоянным. На основании системы кинетических уравнений (1)-(б) записана система дифференциальных уравнений, описывающих изменение объектов X и У:

X = к\А + к2ЛВХ2У - къАВХ - кАХ (7)

У = -к2АВХ2У + къАВХ (8)

В результате применения линейного анализа устойчивости к системе дифференциальных уравнений (7)-(8) выявлено, что решение системы может иметь быть линейный (ламинарный) и колебательный вид. В линейном режиме состояние СЖМ-библиотеки линейно зависит от входных параметров. При колебательном режиме изменение внутреннего состояния СЖМ-библиотеки будет иметь значительно более сложный, нелинейный, возможно периодический, вид. Колебательному режиму работы присущи характерные особенности, в том числе: непостоянный расход памяти, замедлением обработки запросов от основной логикой работы в моменты пиковой нагрузки, скачкообразной нагрузкой на СУБД, также приводящей к повышенному расходу памяти и снижению скорости обработки запросов.

Определен критерий перехода ОЯМ-библиотеки в нелинейный режим на основе линейного анализа устойчивости, равный:

в >-т---Г9)

2кгк.4 - к\к2 - кък\А2 К '

Неравенство (9) позволяет определить вид решения системы (1)-(4): является ли оно стационарным или периодическим, т.е. будут ли значения X и У постоянны во времени или будут циклически изменяться.

Произведено численное моделирование колебательного решения системы дифференциальных уравнений (7)-(8) в системе компьютерной алгебры МаШСа<±

На рис. 1 показаны выраженные циклические колебания количества объектов X и У, названные в работе в соответствии с термином «диссипативными макроструктурами».

Описано влияние диссипативных макро-структур в каналах связи слоя логики и системах управления базами данных при помощи 011М-библиотек, выраженное в циклическом изменении темпов генерации объектов О и Е.

Рис. 1. Зависимость скорости генерации объектов Б, Е, Э+Е модели ОЯМ-библиотеки от времени

Для формализации нелинейного циклического характера темпа генерации объектов Б и Е, т.е. запросов к СУБД, в диссертации введен коэффициент повышенной загрузки СУБД: К = где

ЭГ] : Ухе [*0,г,) : 5(х) > А и У*7 е [гь г0 + Г) 5 СО < А

Коэффициент К является показателем того, на сколько часто темп запросов к СУБД превышает средний, тем самым отражая степень нелинейности потока запросов к СУБД. В результате численного моделирования влияния циклического

изменения количества объектов X и Y, D и Е (темпа обращений к СУБД) оказалось, что для рассматриваемой системы К = = 222019iQ%'™ ~ 0-29 = 29%, т.е. 29% всего времени к СУБД отправляется больше среднего запросов, в оставшиеся 71% - меньше среднего. Автор считает, что подобный режим работы является существенно менее оптимальным, чем ламинарный, при котором на СУБД скорость поступления запросов была бы постоянной.

В двух разделах Главы 1 и 2 в порядке дискуссии развиваются понятия "диссипация" и "энтропия", применительно к программным информационным системам. Постулируется, что диссипация информации не может быть причиной дис-сипативного поведения информационных систем. Причиной диссипативного поведения информационных систем может быть "эмуляция" некоторой физической системы, в которой могут быть введены понятия "энтропия" и "диссипация", при этом, диссипативное поведение информационной системы будет являться следствием диссипативного поведения эмулируемой (возможно неявно) физической системы.

В конце главы дана сводка основных результатов.

В третьей главе разработана имитационная модель ORM-библиотеки с целью верификации ее работы и получения практических результатов в моделировании программного обеспечения организации взаимодействия программных систем и баз данных с использованием ORM-библиотек. Выдвинуты требования к реализуемой модели ORM-библиотеки: 1. программа должна быть многопоточная, чтобы эффективно моделировать процессы, протекающие в ORM-библиоте-ке, 2. языком разработки должен быть язык С++, так только этот язык позволяет одновременно оперировать достаточно высокоуровневыми понятиями и получать максимально производительный исполняемый код, 3. программа должна собираться компилятором оптимизирующим компилятором, например Intel C/C++ Compiler.

Исследована динамика работы созданной программы, моделирующей возникновение диссипативных макро-структур в процессе кэширования в ORM-

библиотеке. Программа записывает собственное состояние (описываемое количеством объектов X и У) примерно каждые Юме. На основе собранных данных построен график внутреннего состояния программы, показанный на рис.2, где видны циклические изменения колебания объектов X и У.

Также, рассматривается влияние диссипативных макро-структур на объем занимаемой приложением памяти. График объема занимаемой приложением памяти показан на рис.3. Видны циклические изменения объема занимаемой приложением оперативной памяти, теоретически предсказанные в Главе 2 диссертации.

Рис. 2. Фазовая траектория 2 системы

Зависимость занимаемого программой объема памяти от времени

ы

«40 __ _. ___________ ___________________________________ _.

Ввемя№«к>|ные едоннцм - такты внутреннего генератора операционной системы}

Рис. 3. График зависимости объема занимаемой моделью памяти от времени

В Заключении обобщены основные научные и практические результаты, отмечена их научная новизна и практическая значимость. Приведен перечень основных научных результатов, полученных автором лично и выносимых им на защиту.

Основные результаты работы

1. Критически рассмотрена и теоретически обоснована целесообразность организации взаимодействия программных систем и баз данных посредством ORM-библиотек, в качестве совокупности программных логических блоков современной архитектуры сетевых порталов. Разработаны рекомендации с целью применил ORM-библиотек для двух наиболее распространенных платформ: Java и .NET.

2. Впервые в программных системах обнаружен и исследован нелинейный режим работы программных блоков в составе ORM-библиотек при взаимодействии "слоя логики" сетевого портала с системой управления базой данных. Установлено, что в нелинейном режиме зависимость внутреннего состояния блоков ORM-библиотеки от входных параметров имеет сложный и во многих случаях периодический вид. Построен фазовый портрет ORM-библиотеки в нелинейном режиме работы, смоделированом в системе компьютерной алгебры MathCad.

3. В процессах взаимодействия программных систем и баз данных с использованием ORM-библиотек в нелинейном режиме работы обнаружен эффект возникновения диссипативных макро-структур, впервые обнаруженных и исследованных И. Пригожиным в физических системах, В работе установлено, что основной причиной возникновения диссипативных макро-структур является использование агрессивного кэширования результатов запросов в ORM-библиотеках.

4. На основе результатов исследования математической модели организации взаимодействия программных систем и баз данных с использованием ORM-библиотек определен критерий перехода этих систем в процессе кэширования из линейного в нелинейный режим. Критерий учитывает параметры трафика запросов из логики портала к ORM-библиотеке и скорости соответствующих трансформаций объектов ORM-библиотекой.

5. Для количественного выражения неравномерности темпа запросов к СУБД введен численный показатель К повышенной загрузки СУБД формально описываемый следующим образом:

К = где 3ti : Vx е fa. fi) : S(x) > A U Vx> e fa, t0 + T)S(x') < A Численное моделирование показало, что К = 0.29. Это означает, что 29% всего времени к СУБД отправляется больше среднего запросов, в оставшиеся 71% - меньше среднего.

6. Разработаны математическая и имитационнная модели описания процесса доступа к данным (знаниям) из сетевого портала при помощи ORM-библио-тек. Предложен подход для более точного мониторинга состояния модели на инструментальной платформе Java. Проведенные эксперименты демонстрируют значительные колебания объема памяти, занимаемого программой.

7. Проведен анализ влияния нелинейного режима работы ORM-библиотеки на пользовательские характеристики сетевого портала. Показано, что нелинейный, циклический режим работы может негативно сказаться на скорости обработки запросов и объеме памяти, занимаемой программной системой.

8. Научные положения диссертации внедрены в учебный процесс кафедры ИИС, факультета ИТ МГТУ МИРЭА в рамках учебного пособия "Проектирование мультимедиа систем", подготовленного с участием диссертанта, и читаемого им учебного лекционного курса "Технологии программирования". Выводы и рекомендации работы нашли отражение в практических разработках ряда организаций , а также использованы при проектировании и создании портальных образовательных систем в инновационном центре МГТУ МИРЭА в период 2011-13гг.

Публикации по теме диссертации

1. Мельников C.B., О проблеме диссипации в информационных системах // Москва, Спутник+: Естественные и технические науки №3(65) 2013г., стр. 280-284. [Входит в список ВАК]

2. Мельников C.B., Шемончук Д.С., Об архитектуре взаимодействия образовательных порталов и реляционных баз данных при помощи ORM-компонен-тов // Москва, Информика: Информатизация образования и науки №4(20) 2013г., стр. 3-14. [Входит в список ВАК]

3. Мельников C.B., Обзор и применение отладочного интерфейса Java (JDI) для обратимой модификации программных продуктов // Москва, К-Пресс: RSDN Magazine №1 2011г. стр. 3-8. [Входит в список ВАК]

4. Мельников C.B., О программных тромбах в потоке запросов к базам данных // М.: Спутник - Естественные и технические науки №2(70) 2014г. стр. 190-197. [Входит в список ВАК]

5. Кудж С.А., Мельников C.B. Нестационарный режим работы программной системы при активном «кэшировании» доступа к базе данных // Перспективы науки и образования- 2014. - №2. - с14-19.

6. Мельников C.B., Макро-структуры типа «цикл» в многопоточных программах на языке С++ // Всероссийский журнал научных публикаций №3(18) 2013г.-М., 2013

7. Мельников C.B., Обобщение эмерджентности Хартли для энтростат систем // Аспирант и соискатель №1(61) 2011г. - М.:Спутник+, 2011.

8. Мельников C.B., Семантическая диссипация информации при асимметричном шифровании // Техника и технология №3, 2012г. - М.:Спутник+, 2012г.

9. Мельников C.B., Диссипативные структуры типа "цикл"в ПО, существующем в режиме многопоточного выполнения исполняемого программного кода // Современные проблемы науки и образования - 2012.-№6. (приложение "Технические науки"). - с. 10

10. Мельников C.B., Изменение функционала ПО с помощью отладочного интерфейса JDI платформы Java // Журнал "Аспирант и соискатель М.Спутник+, 2011г.

11. Мельников C.B., Фринштанд А.В., Проектирование мультимедиа систем // МГДЦ(Ю)Т, МИРЭА, ФГУ ГНИИ ИТТ "Информика 2009.

12. Мельников C.B., Диссипативные макроструктуры в многопоточных программах, написанных на языке программирования С++ // Материалы IX международной научно-практической конференции "Техника и технология: новые перспективы развития".

13. Мельников C.B., Исследование диссипативных макро-структур в программных информационных системах // Материалы IX Международной научно-практической конференции "Актуальные вопросы науки". - М.:Спутник+, 2013.

14. Мельников C.B., Организация взаимодействия программ или программных систем и систем управления базами данных и знаний при помощи ORM-библиотеки // Материалы XIII Международной научно-практическая конференции "Современное состояние естественных и технических наук". -М.Спутник+, 2014.

15. Мельников C.B., Семантическая диссипация информации при асимметричном шифровании // Материалы VI Всероссийской междисциплинарной конференции студентов, аспирантов и молодых ученых "Искусственный интеллект: философия, методология, инновации". - М.: МГТУ МИРЭА, 2012

16. Мельников C.B., Раев В.К., Обратимое добавление функционала в программные продукты электронного образовательного облака, создаваемые с использованием технологии Java // Избранные материалы докладов, круглых столов и мастер-классов научно-пракгическо конференции "Инновационные пути построения и развития научно-практического образования»". -М.МГДЦ(Ю)Т, 25 октября 2010г.

Отпечатано в ООО «Издательство Спутник+» ПД № 1-00007 от 26.09.2000 г. Подписано в печать 28.04.2014 г. Тираж 100 экз. Усл. п.л. 1,0 Печать авторефератов (495)730-47-74, 778-45-60

Текст работы Мельников, Сергей Викторович, диссертация по теме Математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей

Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования "Московский государственный технический университет радиотехники, электроники и автоматики"(МГТУ

МИРЭА)

04201458463

На правах рукописи

Мельников Сергей Викторович

Математическое и программное обеспечение организации

взаимодействия программных систем и баз данных с использованием ОИМ-библиотек в логических структурах

архитектур сетевых порталов

05.13.11 - Математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей

Научный руководитель д.т.н.

Кудж Станислав Алексеевич

Москва - 2014

Оглавление

Введение.................................... 5

Глава 1. Аналитический обзор современного состояния математического и программного обеспечения организации взаимодействия программных систем и баз данных с использованием ORM-биб-лиотек................................... 10

1.1. Программа и программная система как информационная система 10

1.2. Трехуровневая архитектура как современный подход к проектирования информационных систем............... 13

1.2.1. Доступ к данным из уровня логики сетевого портала

при помощи ORM-библиотек .............. 16

1.3. ORM-библиотеки, применяемые при разработке программных систем................................ 19

1.3.1. Библиотека "Hibernate"....................................19

1.3.2. Библиотека "ADO.NET Entity Framework"..............20

1.3.3. Кэширование в ORM-библиотеках как средство увеличения скорости выполнения запросов к СУБД..........23

1.4. Анализ методов моделирования программных систем..........23

1.4.1. Поток энтропии как причина самоорганизации системы 27

1.4.2. О философском аспекте понятия "диссипация" и его применении к программным информационным системам 31

1.4.3. О критике трактовки энтропии как меры беспорядка . 36

1.4.4. Аналитическое моделирование поведения программных систем..................................................41

1.5. Постановка задачи..................................................49

Глава 2. Математическая модель организации взаимодействия программных систем и систем управления базами данных с использованием программных ОКМ-библиотек................ 53

2.1. (ЖМ-библиотека как программный компонент архитектуры информационных систем...................... 53

2.2. Математическое описание работы СЖМ-библиотеки с помощью кинетических уравнений................... 55

2.2.1. Определение критерия перехода СЖМ-библиотеки в колебательный режим на основе линейного анализа устойчивости........................ 58

2.2.2. Особенности стационарного и колебательного режимов работы ОКМ-библиотеки.............. 61

2.3. Численное моделирование нелинейного режима работы ОЛМ-библиотеки при помощи системы компьютерной алгебры МаШСаё............................... 62

2.3.1. Анализ темпа запросов из ОЯМ-библиотеки к системе управления базой данных................. 65

2.3.2. Расчет численных характеристик макроструктур в системе компьютерной алгебры МаЛСаё......... 66

2.3.3. Возникновение диссипативных макроструктур в программных системах и системах управления базами данных........................... 68

2.4. О развитии понятия «диссипация» в информационных системах 71

2.5. Сводка основных результатов................... 72

Глава 3. Разработка имитационной модели программной ОКМ-библиотеки и анализ режима ее работы ................. 75

3.1. Синтез модели ОКМ-библиотеки................. 75

3.1.1. Техническое предложение для реализации модели ORM-библиотеки..........................................75

3.1.2. Разработка имитационной модели на языке С++ в среде Visual Studio ............................................77

3.1.3. Общий вид программы....................................84

3.2. Динамика выполнения имитационной модели ORM-библиотеки 86

3.2.1. Анализ динамики количества объектов X и Y..........86

3.2.2. Влияние макро-структур на объем занимаемой памяти 89

3.3. Сводка основных результатов......................................90

Заключение.................................. 93

Глоссарий................................... 106

Список литературы ............................. 107

Приложение 1. Листинг программы, моделирующей возникновение диссипативных структур в программных системах ........ 124

Приложение 2. Листинг программы для исследования приложений на платформе Java............................ 135

Введение

В настоящее время при постоянном увеличении требуемой скорости разработки программ все чаще поднимается вопрос об использовании готовых программных компонентов, особенно для задач, не специфичных для конкретной программы, например обеспечение быстрого доступа к данным и знаниям.

Этому вопросу посвящен широкий спектр литературы: от классической [1, 2] до современной [3-7]. Написанная почти 40 лет назад книга "The Mythical Man-Month: Essays on Software Engineering" Ф.Брукса [1] переиздается до сих пор [8, 9].

В среде профессиональных разработчиков существует устойчивый интерес к ORM-библиотекам — наборам подпрограмм, используемых для упрощения доступа к данным из логики программы. Использование готовых подпрограмм для доступа к данным позволяющим сократить трудозатраты на разработку, избавиться от явного SQL-кода запросов к системам управления базами данных (СУБД), унифицировать доступ к различным СУБД и упростить сопровождение кода в дальнейшем. Также, использование ORM-библиотек позволяет увеличить быстродействие программы в целом за счет использования кэширования результатов запросов к СУБД, иными словами процесса оптимизации доступа к данным при помощи сохранения результатов выполнения запросов в локальной памяти.

Однако, не смотря на возрастающую тенденцию к применению ORM-библиотек при промышленной разработке программного обеспечения, в литературе остаются не освещенными пределы и возможности их применения, оцененного по результатам математического моделирования. Не рассмотрены аспекты влияния внутренних особенностей ORM-библиотек, такие как возникновение диссипативных макро-структур, на пользовательские характеристики ORM-библиотек. Недостаточно внимания уделено границам возможно-

сти и целесообразности применения (ЖМ-библиотек в качестве компонента современной портальной архитектуры программных систем для доступа программ к данным и знаниям.

Исследования, проведенные диссертантом в период 2009-2014гг. показывают, что агрессивное кэширование в СЖМ-библиотеке может стать причиной возникновения колебательных явлений, или, по терминологии И.Пригожина, "диссипативных структур" [10-12].

Диссертант постулируется возможность существования двух режимов работы ОЛМ-библиотек: линейный (ламинарный) и нелинейный. В линейном режиме состояние СЖМ-библиотеки линейно зависит от входных параметров. При нелинейном режиме изменение внутреннего состояния СЖМ-библиотеки будет иметь значительно более сложный, возможно периодический, вид. Колебательному режиму работы присущи характерные особенности, в том числе: непостоянный расход памяти, замедлением обработки запросов от основной логикой работы в моменты пиковой нагрузки, скачкообразной нагрузкой на СУБД, также приводящей к повышенному расходу памяти и снижению скорости обработки запросов. В работе изложены основания для того, чтобы считать линейный режим работы, характеризующийся постоянными значениями количества промежуточных объектов более оптимальным, по сравнению с циклическим режимом по критерию влияния на такие характеристики как объем занимаемой памяти и среднее время обработки запроса.

Таким образом, исследования, проведенные диссертантом, позволяют говорить о том, что в некоторых случаях применение кэширования СЖМ-биб-лиотеками при доступе к данным может увеличить среднее время обработки запросов (т.е. снизить скорость работы всей информационной системы). Математическое модель, разрабатываемая в диссертации, позволит заранее предсказать возникновение "диссипативных структур" в каналах связи с СУБД и возможные способы устранения данных негативных явлений или доказать невозможность такого перехода.

Верификация теоретических положений требует разработки программной модели ORM-библиотеки. Вполне вероятно, что возникновение диссипа-тивных макро-структур в программных системах может оказаться характерным для широкого класса систем, занимающихся обработкой данных.

Целью диссертационной работы является восполнение пробела в области моделирования программных инструментальных средств взаимодействия порталов с СУБД на примере ORM-библиотек с получением формального критерия их перехода из линейного в циклический режим работы или доказательство невозможности такого перехода.

Для достижения этой цели в диссертации необходимо решение задач, связанных с: 1) созданием математической модели ORM-библиотеки. Введением критерия возникновения диссипативных макро-структур в процессе кэширования в ORM-библиотеке; 2) оценкой влияния макро-структур на пользовательский характеристики ORM-библиотеки; 3) созданием программ, моделирующих ORM-библиотеки в процессе доступа к данным; 4) исследованием поведения программ-моделей в практических задачах.

Перечисленные задачи будут дополнены и уточнены в разделе 1.5 "Постановка задачи" по результатам аналитического обзора Главы 1.

Основные результаты работы

1. Критически рассмотрена и теоретически обоснована целесообразность организации взаимодействия программных систем и баз данных посредством ORM-библиотек, в качестве совокупности программных логических блоков современной архитектуры сетевых порталов. Разработаны рекомендации с целью примения ORM-библиотек для двух наиболее распространенных платформ: Java и .NET.

2. Впервые в программных системах обнаружен и исследован нелинейный режим работы программных блоков в составе ORM-библиотек при взаимодействии "слоя логики" сетевого портала с системой управления ба-

зой данных. Установлено, что в нелинейном режиме зависимость внутреннего состояния блоков ORM-библиотеки от входных параметров имеет сложный и во многих случаях периодический вид. Построен фазовый портрет ORM-библиотеки в нелинейном режиме работы, смоделирова-ном в системе компьютерной алгебры MathCad.

3. В процессах взаимодействия программных систем и баз данных с использованием ORM-библиотек в нелинейном режиме работы обнаружен эффект возникновения диссипативных макро-структур, впервые обнаруженных и исследованных И. Пригожиным в физических системах. В работе установлено, что основной причиной возникновения диссипативных макро-структур является использование агрессивного кэширования результатов запросов в ORM-библиотеках.

4. На основе результатов исследования математической модели организации взаимодействия программных систем и баз данных с использованием ORM-библиотек определен критерий перехода этих систем в процессе кэширования из линейного в нелинейный режим. Критерий учитывает параметры трафика запросов из логики портала к ORM-библиотеке и скорости соответствующих трансформаций объектов ORM-библиотекой.

5. Для количественного выражения неравномерности темпа запросов к СУБД введен численный показатель К повышенной загрузки СУБД формально описываемый следующим образом:

К = где 3fi : Ух е [f0, h) : S(x) > A U Vx' € [tut0 + T)S(x?) < A Численное моделирование показало, что К = 0.29. Это означает, что 29% всего времени к СУБД отправляется больше среднего запросов, в оставшиеся 71% - меньше среднего.

6. Разработаны математическая и имитационнная модели описания процесса доступа к данным (знаниям) из сетевого портала при помощи ORM-библиотек. Предложен подход для более точного мониторинга состояния модели на инструментальной платформе Java. Проведенные экс-

перименты демонстрируют значительные колебания объема памяти, занимаемого программой.

7. Проведен анализ влияния нелинейного режима работы СЖМ-библиоте-ки на пользовательские характеристики сетевого портала. Показано, что нелинейный, циклический режим работы может негативно сказаться на скорости обработки запросов и объеме памяти, занимаемой программной системой.

8. Научные положения диссертации внедрены в учебный процесс кафедры ИИС, факультета ИТ МГТУ МИРЭА в рамках учебного пособия "Проектирование мультимедиа систем", подготовленного с участием диссертанта, и читаемого им учебного лекционного курса "Технологии программирования". Выводы и рекомендации работы нашли отражение в практических разработках ряда организаций , а также использованы при проектировании и создании портальных образовательных систем в инновационном центре МГТУ МИРЭА в период 2011-1 Згг.

Структура и объем диссертации Диссертация состоит из Введения, трех глав, Заключения и двух приложения. Текст диссертации завершает Глоссарий, содержащий 18 терминов и дефиниций, относящихся к теме диссертации. Полный объем диссертации составляет 139 страниц с 20 рисунками. Список литературы содержит 180 источников.

Глава 1

Аналитический обзор современного состояния математического и программного обеспечения организации взаимодействия программных систем и баз данных с использованием ОКМ-библиотек

1.1. Программа и программная система как информационная система

В литературе [8, 13-16], посвященной информационным технологиям используется два термина: "информационная система" и "программная система". Рассмотрим подробнее их значение.

Программа — «данные, предназначенные для управления конкретными компонентами системы обработки информации в целях реализации определенного алгоритма»[17]. Программа — «представленная в объективной форме совокупность данных и команд, предназначенных для функционирования ЭВМ и других компьютерных устройств с целью получения определенного результата, включая подготовительные материалы, полученные в ходе разработки программы для ЭВМ, и порождаемые ею аудиовизуальные отображения»[ 18].

Программа — «последовательность инструкций, предназначенных для исполнения устройством управления вычислительной машины. Программа — один из компонентов программного обеспечения. В зависимости от контекста рассматриваемый термин может относиться также и к исход-

ным текстам программы. Компьютерные программы, как объект авторского права и других прав интеллектуальной собственности, относится к категории нематериальных активов»[19].

Программная система — «система, в которую входит программное обеспечение. В общем случае программная система помимо собственно программ содержит еще и аппаратное обеспечение, а также обычно рассматривается в окружении других программно-аппаратных систем»[20].

Программная система — «это программы, для которых характерны востребованностью и готовностью пользователей платить деньги, как за приобретение самой программы, так и за ее сопровождение и даже за специальное обучение работе с ней. ... Чаще всего представляет собой не просто код или исполняемый файл, а включает еще и набор проектной и пользовательской документации»[21].

Информационная система — «совокупность технического, программного и организационного обеспечения, а также персонала, предназначенная для того, чтобы своевременно обеспечивать надлежащих людей надлежащей информацией» [22].

Информационная система — «совокупность содержащейся в базах данных информации и обеспечивающих ее обработку информационных технологий и технических средств»[23].

Информационная система — «комплекс, включающий вычислительное и коммуникационное оборудование, программное обеспечение, лингвистические средства и информационные ресурсы, а также системный персонал и обеспечивающий поддержку динамической информационной модели некоторой части реального мира для удовлетворения информационных потребностей пользователей»[15].

Информационная система — «система обработки информации, работающая совместно с организационными ресурсами, такими как люди, техниче-

ские средства и финансовые ресурсы, которые обеспечивают и распределяют информацию»[24]. Информационная система — «подмножество компонентов ИС в широком смысле, включающее базы данных, СУБД и специализированные прикладные программы. ИС в узком смысле рассматривают как программно-аппаратную систему, предназначенную для автоматизации целенаправленной деятельности конечных пользователей, обеспечивающую, в соответствии с заложенной в нее логикой обработки, возможность получения, модификации и хранения информацию^ 16].

Понятие "информационная система" шире и во многом эквивалентно понятиям "программа" и "программная система". "Информационная система" может включать в себя кроме как таковой "программной системы" комплекс административных и аппаратных ресурсов, используемых для обработки информации. Кроме того, термин "информационная система" несет оттенок более высокоуровневого архитектурного рассмотрения: рассматриваются инструкции/команды управления, предназначенные для конкретной цели или задачи.

В настоящей работе термины "программа" и "программная система" трактуются в соответствии в соответствии с первым [17] и четвертым [20] определениями соответственно, а "информационная система" в соответствии с седьмым определением [23]. Таким обра