Автореферат (1090659)
Текст из файла
На правах рукописиКейно Павел ПетровичМетоды и инструменты декларативногопрограммирования динамических Web-узлов иприложенийСпециальность 05.13.11 —«Математическое и программное обеспечение вычислительныхмашин, комплексов и компьютерных сетей»Авторефератдиссертации на соискание учёной степеникандидата технических наукМосква — 2017Работа выполнена на кафедре «Системное моделирование и инженерная графика» в федеральном государственном бюджетном образовательном учреждениивысшего образования «Московский авиационный институт (национальный исследовательский университет)»Силуянов Александр Вячеславовичкандидат технических наук, доцент,доцент кафедры «Системное моделирование и инженерная графика» Московского авиационного института (МАИ)Научный руководитель:Официальные оппоненты: Терехов Андрей Николаевич,доктор физико-математических наук, профессор,заведующий кафедрой системного программирования федерального государственного бюджетного образовательного учреждения высшего образования«Санкт-Петербургский государственный университет»,Лукьянчиков Олег Игоревич,кандидат технических наук,научный сотрудник отдела системного анализаЗАО «Инженерный центр «ГЕОМИР»,Национальный исследовательский ядерный университет «МИФИ»Ведущая организация:Защита состоится 29 июня 2017 г.
в 16 часов 00 минут на заседании диссертационного совета Д 212.131.05 на базе Федерального государственного бюджетногообразовательного учреждения высшего образования «Московский технологический университет» МИРЭА по адресу: 119454, г. Москва, пр. Вернадского, д. 78,МИРЭА, Д 212.131.05.С диссертацией можно ознакомиться в библиотеке МИРЭА и на сайтеhttps://mirea.ru/.Автореферат разослан «»2017 г..Ученый секретарьдиссертационного совета Д 212.131.05,кандидат технических наук, доцентАндрианова Е.Г.Общая характеристика работыАктуальность работы. Информационные системы на основе Webтехнологий охватывают широкий спектр задач, поскольку гипертекстовая средастала доминантой сети Интернет.
Многократно растёт и количество небольшихпроектов, включающих динамические Web-приложения. Тенденции развития современной Web-разработки заключаются не только в увеличении числа типовыхрешений, но и всё большей востребованности приложений, разработанных поиндивидуальному проекту. В связи с этим, актуальной задачей становится разработка инструментария, экономящего временны́е ресурсы и обеспечивающегонизкий порог вхождения в отрасль Web-разработки.В отрасли Web-разработки за всё время её существования появилосьогромное количество разнообразных инструментариев. Говоря о серверной стороне, можно привести в пример различные технологии, начиная от фундаментальных интерфейсов связи внешней программы и Web-сервера (CGI, FastCGI),заканчивая интерпретируемыми языками программирования, наилучшим образом решающих задачи динамической Web-разработки.
К таким языкам относятся: Perl, PHP, Ruby, Python и др. Для каждого из них разработано большоеколичество дополнительных библиотек (фреймворков), облегчающих выполнение рутинных задач. На каждом из языков разработаны специализированныесистемы управления контентом (англ.
CMS, Content Management System). Всеупомянутые технологии работают на разных уровнях абстракции и имеют своюцелевую группу пользователей, начиная от новичков и заканчивая профессионалами индустрии.Представленные технологии либо требуют время на изучение и имеютнизкий уровень восприятия, либо имеют слабую выразительность. Актуальнойзадачей становится разработка предметно-ориентированного языка.
Предметноориентированные языки хорошо зарекомендовали себя в разных областях: отпроектирования графических пользовательских интерфейсов (Tcl/Tk) до математического моделирования (Mathematica, Maple), и заканчивая аэрокосмическойотраслью (ДРАКОН, ATLAS). В Web-разработке тоже задействованы предметноориентированные языки, являющиеся, кроме всего прочего, и декларативными,но они призваны решать слишком узкоспециализированные задачи: гипертекстовая разметка (HTML), манипулирование базами данных (SQL), преобразование XML-документов (XSLT, XPath, XQuery).
Они не решают главную задачу:генерацию конечного документа. Эта функция, как правило, возлагается на императивные языки общего назначения (Java, Perl, PHP, Python, Ruby).Упомянутая декларативная парадигма описывает свойства конечного результата, а не алгоритм, что является хорошей почвой для визуализации разрабатываемого языка.
Кроме того, декларативное программирование на предметноориентированном языке повышает восприятие и читаемость программного кода,поскольку программист оперирует понятиями в рамках своей предметной области, причём не алгоритмическими структурами, а описанием её свойств.В связи с вышеизложенным, актуальной задачей является разработка методики и предметно-ориентированного декларативного языка программирова3ния, а также программных комплексов интерпретатора и визуального редакторана её основе.Степень изученности проблемы.
Фундаментальным трудом, где описаны характеристики предметно-ориентированных языков и объяснено, в какомслучае оправдана их разработка, можно назвать работу Марьяна Мерника. Большой вклад в предметно-ориентированные и визуальные языки внесли СтивенКелли и Юха-Пекка Толванен. Вопросами декларативных языков занималисьДжефри Хир и Майкл Босток.Среди отечественных разработок стоит упомянуть исследования, проводимые под руководством профессора А.Н. Терехова на кафедре системногопрограммирования Санкт-Петербургского государственного университета. Кафедра занимается предметно-ориентированными, визуальными языками и DSMплатформами (RTST, RTST++, REAL, QReal).Декларативному программированию на серверной стороне Webприложения посвящены труды многих ученых.
Профессор Илко Виссер предложил язык WebDSL на базе Java. Профессор Майкл Ханус разработал “Spicey” –инструмент, являющийся надстройкой над “Curry” – встраиваемым языком программирования поверх языка Haskell.Объектом исследования диссертационной работы являются системы иинструментарии программирования, используемые для построения динамических Web-узлов и приложений.Предметом исследования являются методы, алгоритмы и программныесредства разработки динамических Web-узлов и приложений с применением декларативного программирования и предметно-ориентированных языков.Предмет исследования определён двумя предметными областями паспорта специальности 05.13.11 — «Математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей»: 1) Модели, методыи алгоритмы проектирования и анализа программ и программных систем, их эквивалентных преобразований, верификации и тестирования; 2) Языки программирования и системы программирования, семантика программ.Целью диссертационной работы является разработка математического и программного обеспечения инструментария декларативного предметноориентированного программирования динамических Web-узлов и приложений.Для достижения поставленной цели необходимо решение следующих задач:1.
Классифицирование методов и средств Web-разработки и сравнительныйанализ их парадигм программирования.2. Разработка методики и её формализация в виде декларативного предметноориентированного языка программирования.3. Разработка унифицированного мультипарадигменного метода оценки языков программирования и апробация методики с помощью него.44.
Разработка методов разграничения прав доступа, приёма пользовательскихданных и поиска приоритета регулярных шаблонов.5. Разработка архитектуры программного комплекса интерпретатора и визуального редактора на основе предложенной методики.6. Апробация программных комплексов и проведение нагрузочного тестирования с целью выявления уязвимых звеньев комплекса.Методы исследования.
При проведении исследования задействованызнания из следующих областей наук: математическая статистика, теория алгоритмов, теория автоматов, теория принятия решений, алгоритмические языки ипрограммирование, базы данных, Web-технологии, Web-программирование.Научная новизна. Полученный программный комплекс позволил решитьнаучно-техническую задачу декларативного предметно-ориентированного программирования Web-узлов и приложений, обеспечив низкий порог вхождения,быстрый процесс разработки с минимизацией рутинных задач.Наиболее существенные результаты, относящиеся к научной новизне,следующие:1.
Разработана методика декларативного программирования динамическихWeb-узлов и приложений, формализованная на основе четырёх базовыхсущностей (модель, локация, набор, блок), отличающаяся повышенной гибкостью, низким порогом вхождения и высокой эффективностью разработкиза счёт эффективного перераспределения уровней абстракции.2. Разработаны методы манипулирования данными: метод разграничения правдоступа в представленной методике; метод выборки и изменения данных наоснове адаптивной структуры каждой сущности; методы интеллектуального выбора неоднозначных динамических URL за счёт вычисления мощности множеств каждого шаблона; метод отложенной во времени синхронизации больших объёмов данных между синхронизатором и интерпретатором.3.
Разработана методика анализа декларативных и императивных языков наоснове метрик Холстеда, отличающаяся мультипарадигменностью.Основные положения, выносимые на защиту:1. Методика декларативного программирования Web-узлов и приложений и еёформализация в виде декларативного языка программирования BML.2. Метод комплексной оценки инструментов императивной и декларативнойразработки динамических Web-узлов.3.
Характеристики
Тип файла PDF
PDF-формат наиболее широко используется для просмотра любого типа файлов на любом устройстве. В него можно сохранить документ, таблицы, презентацию, текст, чертежи, вычисления, графики и всё остальное, что можно показать на экране любого устройства. Именно его лучше всего использовать для печати.
Например, если Вам нужно распечатать чертёж из автокада, Вы сохраните чертёж на флешку, но будет ли автокад в пункте печати? А если будет, то нужная версия с нужными библиотеками? Именно для этого и нужен формат PDF - в нём точно будет показано верно вне зависимости от того, в какой программе создали PDF-файл и есть ли нужная программа для его просмотра.