Диссертация (1090660), страница 3
Текст из файла (страница 3)
Фундаментальным трудом, где описаны характеристики предметно-ориентированных языков и объяснено, в каком случае оправдана их разработка, можно назвать работу Марьяна Мерника. Большой вклад впредметно-ориентированные и визуальные языки внесли Стивен Келли и Юха-ПеккаТолванен. Вопросами декларативных языков занимались Джефри Хир и Майкл Босток.Среди отечественных разработок стоит упомянуть исследования, проводимыепод руководством профессора А.Н. Терехова на кафедре системного программирования Санкт-Петербургского государственного университета. Кафедра занимаетсяпредметно-ориентированными, визуальными языками и DSM-платформами (RTST,RTST++, REAL, QReal).Декларативному программированию на серверной стороне Web-приложения посвящены труды многих ученых. Профессор Илко Виссер предложил язык WebDSLна базе Java. Профессор Майкл Ханус разработал “Spicey” – инструмент, являющийся надстройкой над “Curry” – встраиваемым языком программирования поверх языкаHaskell.Объектом исследования диссертационной работы являются системы и инструментарии программирования, используемые для построения динамических Web-узлови приложений.13Предметом исследования являются методы, алгоритмы и программные средстваразработки динамических Web-узлов и приложений с применением декларативногопрограммирования и предметно-ориентированных языков.Предмет исследования определён двумя предметными областями паспорта специальности 05.13.11 — «Математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей»: 1) Модели, методы и алгоритмыпроектирования и анализа программ и программных систем, их эквивалентных преобразований, верификации и тестирования; 2) Языки программирования и системыпрограммирования, семантика программ.Цельюидиссертационнойпрограммногоработыобеспеченияявляетсяинструментарияразработкаматематическогодекларативногопредметно-ориентированного программирования динамических Web-узлов и приложений.Для достижения поставленной цели необходимо решение следующих задач:1.
Классифицирование методов и средств Web-разработки и сравнительный анализих парадигм программирования.2. Разработка методики и её формализация в виде декларативного предметноориентированного языка программирования.3. Разработка унифицированного мультипарадигменного метода оценки языковпрограммирования и апробация методики с помощью него.4. Разработка методов разграничения прав доступа, приёма пользовательских данных и поиска приоритета регулярных шаблонов.5. Разработка архитектуры программного комплекса интерпретатора и визуальногоредактора на основе предложенной методики.6. Апробация программных комплексов и проведение нагрузочного тестирования сцелью выявления уязвимых звеньев комплекса.Методы исследования.
При проведении исследования задействованы знания изследующих областей наук: математическая статистика, теория алгоритмов, теория автоматов, теория принятия решений, алгоритмические языки и программирование, базы данных, Web-технологии, Web-программирование.Научная новизна. Полученный программный комплекс позволил решить научнотехническую задачу декларативного предметно-ориентированного программирования14Web-узлов и приложений, обеспечив низкий порог вхождения, быстрый процесс разработки с минимизацией рутинных задач.Наиболее существенные результаты, относящиеся к научной новизне, следующие:1. Разработана методика декларативного программирования динамических Webузлов и приложений, формализованная на основе четырёх базовых сущностей(модель, локация, набор, блок), отличающаяся повышенной гибкостью, низкимпорогом вхождения и высокой эффективностью разработки за счёт эффективногоперераспределения уровней абстракции.2.
Разработаны методы манипулирования данными: метод разграничения прав доступа в представленной методике; метод выборки и изменения данных на основе адаптивной структуры каждой сущности; методы интеллектуального выборанеоднозначных динамических URL за счёт вычисления мощности множеств каждого шаблона; метод отложенной во времени синхронизации больших объёмовданных между синхронизатором и интерпретатором.3. Разработана методика анализа декларативных и императивных языков на основеметрик Холстеда, отличающаяся мультипарадигменностью.Основные положения, выносимые на защиту:1. Методика декларативного программирования Web-узлов и приложений и её формализация в виде декларативного языка программирования BML.2. Метод комплексной оценки инструментов императивной и декларативной разработки динамических Web-узлов.3.
Унифицированный метод разграничения прав доступа к данным.4. Унифицированный метод приёма пользовательских данных с учётом их характерных особенностей.5. Критерий оптимальности выбора релевантного объекта в задаче динамическоймаршрутизации Web-адресов, идентифицируемых шаблоном.6.
Архитектура программного комплекса интерпретатора языка BML и синхронизатора.7. Нагрузочное тестирование компонентов интерпретатора.158. Интерфейсы визуального редактора построения структур декларативного языкаBML.Практическая значимость работы заключается в применении эффективной,гибкой методики создания Web-узлов и приложений с помощью предметноориентированного языка декларативным методом без использования классическогоимперативного программирования. Разработан интерпретатор языка BML, позволивший получить возможность исполнения механизмов методики BlockSet на практике.Разработан визуальный редактор BlockSet, позволивший придать BML свойства визуального языка.Результаты работы активно используются в учебном процессе на кафедре «Системное моделирование и инженерная графика» на базе университета МАИ при подготовке бакалавров по направлению 090301 «Информатика и вычислительная техника» вследующих дисциплинах: Web-технологии, Web-программирование, Информационные системы и Основы программирования на языке Java.Апробация результатов и степень достоверности работы.
Основные результатыработы докладывались и обсуждались на следующих конференциях:– XXXVII, XXXVIII, XXXIX, XL, XLI, XLII, XLIII Международные молодёжныенаучные конференции «Гагаринские чтения» (Москва, 2011-2017);– XXII, XLIII Всероссийские научно-практические конференции «Проблемы безопасности в системе высшей школы» (Москва, 2015-2016);– X Юбилейная международная научно-практическая конференция «Современныеинформационные технологии и ИТ-образование» (Москва, 2015);– VIII Общероссийская молодёжная научно-техническая конференция «Молодёжь.Техника. Космос» (Санкт-Петербург, 2016).– XV Международная конференция «Авиация и космонавтика» (Москва, 2016);Проект автора «Лаборатория конференций» разрабатывается с использованиемпредставленной в диссертационной работе методики и поддержан грантом Росмолодёжи1 .Публикации.
Результаты, полученные в ходе выполнения диссертационной работы, опубликованы в 32 печатных изданиях из них 22 являются тезисами докладов и1Новость на официальном сайте учредителя гранта, URL: http://terrascientia.ru/news/391 (дата обращения: 27.08.2016)1610 опубликованы в журналах, входящих перечень рецензируемых научных изданий,рекомендованных ВАК. На визуальный редактор, являющийся дополнением интерпретатора BML, получено свидетельство о государственной регистрации программыдля ЭВМ [111].Работы, опубликованные в журналах из перечня ВАК [79, 91, 93, 98, 100, 102, 113],написаны в соавторстве. В работах [91, 93, 98, 113] Силуянову А.В. принадлежит постановка задач.
В работе [79] Бубнову А.В. принадлежит программная реализацияинструментальных средств приёма пользовательских данных. В работе [102] Ковалёву А.В. принадлежит идея упрощения регулярного выражения. В работе [113] Старчаусу И.С. принадлежит подсчёт численных характеристик исходного кода рецептов,Хорошко Л.Л. – идея внедрения методики в визуальные языки. В работе [100] Ярмухаметову Ф.Ф. принадлежит программная реализация модуля на основе представленнойархитектуры.Личный вклад. Все исследования, представленные в диссертационной работе,выполнены автором либо самостоятельно, либо при его непосредственном участии.Проект BlockSet представляет собой сложный программный продукт, выполненныйсоискателем лично, а отдельные части – под его руководством. Стоит отметить, что вразработке проекта задействован большой коллектив студентов, аспирантов и преподавателей кафедры «Системное моделирование и инженерная графика» Московскогоавиационного института.Структура и объём работы.
Диссертация состоит из введения, четырёх глав, заключения и двух приложений. Полный объем диссертации составляет 175 страниц с27 рисунками и 22 таблицами. Список литературы содержит 118 наименований.Краткое содержание работы. Во введении обозначается актуальность работы,описывается цель, решаемые задачи, даётся общая характеристика работы и её краткое содержание.В первой главе проведён обзор инструментов и технологий Web-разработки.
Представлено сравнение существующих парадигм программирования, применимость языков общего назначения (GPL) и предметно-ориентированных (DSL), показано местодекларативных языков в отрасли, предложена гипотеза о применении декларативныхязыков на серверной стороне. Рассмотрены этапы формирования нового предметноориентированного языка.Во второй главе определены базовые сущности методики BlockSet и языка BML.Представлен обзор свойств и их значений для основных сущностей: модели, локации, блока и набора.
Проведён подробный обзор типов блоков и их функциональных17характеристик. Показан гибкий механизм прав доступа и авторизации пользователей.Разработан алгоритм получения пользовательских данных и алгоритм передачи данных интерпретатора в шаблонизатор. Представлен алгоритм поиска мощности множества у регулярного выражения с целью поиска оптимального шаблона и расстановкиприоритетов у локаций. Для вычисления мощности множества и устранения неопределённостей предлагается ряд методов: упрощение регулярного выражения, алгоритмвычисления в пересекаемых множествах.В третьей главе строится оценочная модель программного кода в целом и разрабатываемого языка программирования в частности.
Приводится обзор критериевоценки. Упоминаются достоинства и недостатки существующих оценочных методов.Применяется метод анализа иерархий для определения наиболее важных критериев.С помощью метрик Холстеда осуществляется сравнение между языками BML и PHP.В четвёртой главе показана технологическая сторона построения интерпретатора языка BML. Проведён обзор динамических платформ, а также их нагрузочноетестирование. Показана схема взаимодействия компонентов интерпретатора междусобой. Представлены сравнительные характеристики синтаксических анализаторовXML.