Диссертация (Методы и инструменты декларативного программирования динамических Web-узлов и приложений)
Описание файла
Файл "Диссертация" внутри архива находится в папке "Методы и инструменты декларативного программирования динамических Web-узлов и приложений". PDF-файл из архива "Методы и инструменты декларативного программирования динамических Web-узлов и приложений", который расположен в категории "". Всё это находится в предмете "технические науки" из Аспирантура и докторантура, которые можно найти в файловом архиве РТУ МИРЭА. Не смотря на прямую связь этого архива с РТУ МИРЭА, его также можно найти и в других разделах. Архив можно найти в разделе "остальное", в предмете "диссертации и авторефераты" в общих файлах, а ещё этот архив представляет собой кандидатскую диссертацию, поэтому ещё представлен в разделе всех диссертаций на соискание учёной степени кандидата технических наук.
Просмотр PDF-файла онлайн
Текст из PDF
Федеральное государственное бюджетное образовательное учреждение высшегообразования «Московский авиационный институт (национальный исследовательскийуниверситет)»На правах рукописиКейно Павел ПетровичМетоды и инструменты декларативного программированиядинамических Web-узлов и приложенийСпециальность 05.13.11 —«Математическое и программное обеспечение вычислительных машин, комплексов икомпьютерных сетей»Диссертация на соискание учёной степеникандидата технических наукНаучный руководитель:к.т.н., доц.Силуянов А.В.Москва — 20172ОглавлениеГлоссарий .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6Введение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111 Анализ технологий и методов Web-разработки . . . . . . . . . . . . . . . . 191.1 Анализ технологий серверной стороны .
. . . . . . . . . . . . . . . . . . 231.1.1 Иерархическая модель инструментариев1.1.2 Языки программирования. . . . . . . . . . . . . . 23. . . . . . . . . . . . . . . . . . . . . . 261.1.3 Динамические платформы FastCGI и CGI . . . . . . . . . . . . . . 281.2 Использование декларативных и предметно-ориентированных языков насерверной стороне . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . 281.2.1 Общие сведения . . . . . . . . . . . . . . . . . . . . . . . . . . . . 281.2.2 Язык WebDSL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291.2.3 Язык Spicey . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 301.3 Требованиякэтапамформированияновогопредметно-ориентированного языка .
. . . . . . . . . . . . . . . . . . . . . . . . . . 311.3.1 Общие принципы . . . . . . . . . . . . . . . . . . . . . . . . . . . 311.3.2 Требования к стадии принятия решения . . . . . . . . . . . . . . . 321.3.3 Требования к стадии анализа . . . . . . . . .
. . . . . . . . . . . . 351.3.4 Требования к стадии проектирования . . . . . . . . . . . . . . . . 371.3.5 Требования к стадии внедрения . . . . . . . . . . . . . . . . . . . 391.4 Выводы по первой главе . . . . . . . . . . . . . . . . . . . . . . . . . . . 411.4.1 Постановка цели и задач исследования . . . . . . . . . . . .
. . . 412 Разработка методики декларативного программирования Web-узлов иприложений . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 422.1 Разработка структуры методики и выявление базовых компонентов . . . 422.2 Разработка компоненты «Модель». . . . . . . . . . . . . . . . . . . . .
452.3 Разработка компоненты «Локация» . . . . . . . . . . . . . . . . . . . . . 4632.4 Разработка компоненты «Набор» . . . . . . . . . . . . . . . . . . . . . . 482.5 Разработка компоненты «Блок» . . . . . . . . . . . . . . . . . . . . . . . 542.5.1 Классифицирование блоков . . . . . . . . . . . . . .
. . . . . . . . 542.5.2 Разработка атрибутов блока. . . . . . . . . . . . . . . . . . . . . 542.5.3 Разработка базовых и составных блоков с их атрибутами . . . . . 602.5.4 Разработка файловых блоков и их атрибутов . . . . . . . . . . . . 732.6 Разработка унифицированного метода разграничения прав доступа кданным . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . 822.6.1 Построение авторизационного набора и метода учёта пользователей 822.6.2 Построение набора групп . . . . . . . . . . . . . . . . . . . . . . . 832.6.3 Разработка функционала прав доступа на блоки и экземпляры набора . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . 842.7 Разработка унифицированного метода получения пользовательских данных с учётом их характерных особенностей . . . . . . . . . . . . . . . . 862.7.1 Алгоритм обработки чтения пользовательских данных идемпотентного запроса . . . . . . . .
. . . . . . . . . . . . . . . . . . . 862.7.2 Алгоритм сохранения пользовательских данных модифицирующего запроса. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 872.7.3 Алгоритм приёма данных при взаимодействии с BML . . . . . . . 882.8 Разработка алгоритмов взаимодействия с шаблонизатором . . .
. . . . . 902.8.1 Алгоритм получения данных от интерпретатора . . . . . . . . . . 902.8.2 Алгоритм обработки ошибок валидации данных . . . . . . . . . . 902.9 Разработка критерия оптимальности выбора релевантного объекта в задаче динамической маршрутизации Web-адресов, идентифицируемыхшаблоном . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . 932.9.1 Алгоритм упрощения регулярного выражения . . . . . . . . . . . 942.9.2 Алгоритм вычисления мощности в пересекаемых множествах . . . 972.9.3 Алгоритм поиска фактора неопределённости . . . . . . . . . . . . 972.10 Выводы по второй главе . . . . . . . . . . . . .
. . . . . . . . . . . . . . 983 Разработка метода комплексной оценки инструментов императивной идекларативной разработки динамических Web-узлов . . . . . . . . . . . . 1003.1 Разработка обобщённой оценочной модели . . . . . . . . . . . . . . . . .
1013.2 Определение итоговой величины стоимости критерия оценки . . . . . . 1063.2.1 Применение метода анализа иерархий . . . . . . . . . . . . . . . . 10643.3 Вычисление количественных показателей программного кода методомХолстеда . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . 1103.3.1 Тестирование набора рецептов . . . . . . . . . . . . . . . . . . . . 1133.4 Выводы по главе 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1184 Разработка программного комплекса интерпретатора языка BML и визуального редактора BlockSet . .
. . . . . . . . . . . . . . . . . . . . . . . . 1194.0.1 Требования к языку программирования и динамической платформе 1194.0.2 Анализ динамической платформы CGI. . . . . . . . . . . . . . . 1204.0.3 Анализ динамической платформы FastCGI . . . . . . . . . . . .
. 1214.0.4 Нагрузочное тестирование динамических платформ . . . . . . . . 1214.1 Разработка архитектуры и компонентов программного комплекса интерпретатора . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1254.1.1 Построение структуры . . . . .
. . . . . . . . . . . . . . . . . . . 1254.1.2 Исследование синтаксических анализаторов XML . . . . . . . . . 1274.2 Архитектура абстрактной фабрики блоков . . . . . . . . . . . . . . . . . 1294.2.1 Альтернативные решения . . . . . . . . . . . . . .
. . . . . . . . . 1324.3 Выбор шаблонизатора . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1344.3.1 Особенности программирования шаблонизатора . . . . . . . . . . 1354.4 Разработка архитектуры программного комплекса синхронизатора . . . . 1374.4.1 Обоснование целесообразности разработки .
. . . . . . . . . . . . 1374.4.2 Разработка общего алгоритма работы . . . . . . . . . . . . . . . . 1384.4.3 Анализ технологий межпроцессного взаимодействия . . . . . . . . 1384.4.4 Проведение нагрузочного тестирования . . . . . . . . . . . . . . . 1404.4.5 Разработка алгоритма сетевого взаимодействия . . . . . . . . . . . 1404.4.6 Разработка структуры базы данных и алгоритма ее перестроения . 1434.4.7 Разработка алгоритма синхронизации отношений таблиц с наборами1444.5 Разработка интерфейсов визуального редактора построения структур декларативного языка BML .
. . . . . . . . . . . . . . . . . . . . . . . . . 1464.5.1 Разработка мастера создания нового проекта . . . . . . . . . . . . 1474.5.2 Разработка интерфейса редактора набора . . . . . . . . . . . . . . 1474.5.3 Разработка интерфейса редактора блока . . . . . . . . . . . . . . . 1474.5.4 Разработка интерфейса редактора локации и модели . . . .
. . . . 1484.5.5 Разработка интерфейса редактора прав доступа . . . . . . . . . . . 1484.6 Выводы по главе 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1485Заключение. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159Список литературы . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . 163Список рисунков . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174Список таблиц . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175A Акты о внедрении и свидетельство на программу для ЭВМ . . . . . . . . 176A.1 Акт о внедрении результатов работы в учебный процесс МАИ . . . . . . 176A.2 Акт о внедрении результатов работы в ЗАО ИЦ «Луч» . .
. . . . . . . . 176A.3 Свидетельство на программу для ЭВМ . . . . . . . . . . . . . . . . . . . 176B Набор типовых рецептов на языке BML . . . . . . . . . . . . . . . . . . . 180B.1 Листинг рецепта «Гостевая книга» . . . . . . . . . . . . . . . . . . . . . 180B.2 Листинг рецепта «Ресурс конференций» .
. . . . . . . . . . . . . . . . . 182B.3 Листинг рецепта «Форум» . . . . . . . . . . . . . . . . . . . . . . . . . . 1896ГлоссарийАбстрактная фабрика — шаблон проектирования, предназначенный для объединения взаимосвязанных классов без специфицирования на конкретные типы.Авторизационный набор — специализированный набор, предназначенный дляпроведения авторизации пользователя на ресурсе в методике BlockSet. См. также:набор.Авторизация — процедура проведения аутентификации и наделения аутентифицированного пользователя определёнными правами доступа.Аутентификация — процедура проверки введённого имени пользователя и пароля.Браузер — клиентское программное обеспечение, предназначенное для связи сWeb-сервером и отображения гипертекстовой информации.Визуальный редактор — программный комплекс, предназначенный для наглядного отображения программируемой логики.Гипертекст — ссылочная среда, объекты которой (страницы) объединены ссылками.Группа (права доступа) — сущность, предназначенная для объединения пользователей по признаку прав доступа.Набор групп (права доступа) — специализированный набор, предназначенный дляхранения групп прав доступа.