Автореферат (1090659), страница 2
Текст из файла (страница 2)
Унифицированный метод разграничения прав доступа к данным.4. Унифицированный метод приёма пользовательских данных с учётом их характерных особенностей.55. Критерий оптимальности выбора релевантного объекта в задаче динамической маршрутизации Web-адресов, идентифицируемых шаблоном.6. Архитектура программного комплекса интерпретатора языка BML и синхронизатора.7.
Нагрузочное тестирование компонентов интерпретатора.8. Интерфейсы визуального редактора построения структур декларативногоязыка 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)6докладов и 10 опубликованы в журналах, входящих перечень рецензируемых научных изданий, рекомендованных ВАК.
На визуальный редактор, являющийсядополнением интерпретатора BML, получено свидетельство о государственнойрегистрации программы для ЭВМ [23].Работы, опубликованные в журналах из перечня ВАК [1, 5, 6, 7, 8, 9, 10],написаны в соавторстве. В работах [5, 6, 7, 10] Силуянову А.В. принадлежитпостановка задач. В работе [1] Бубнову А.В. принадлежит программная реализация инструментальных средств приёма пользовательских данных. В работе [9]Ковалёву А.В. принадлежит идея упрощения регулярного выражения. В работе[10] Старчаусу И.С.
принадлежит подсчёт численных характеристик исходногокода рецептов, Хорошко Л.Л. – идея внедрения методики в визуальные языки. Вработе [8] Ярмухаметову Ф.Ф. принадлежит программная реализация модуля наоснове представленной архитектуры.Личный вклад. Все исследования, представленные в диссертационнойработе, выполнены автором либо самостоятельно, либо при его непосредственном участии. Проект BlockSet представляет собой сложный программный продукт, выполненный соискателем лично, а отдельные части – под его руководством. Стоит отметить, что в разработке проекта задействован большой коллектив студентов, аспирантов и преподавателей кафедры «Системное моделирование и инженерная графика» Московского авиационного института.Структура и объём работы. Диссертация состоит из введения, четырёх глав, заключения и двух приложений.
Полный объем диссертации составляет 175 страниц с 27 рисунками и 22 таблицами. Список литературы содержит118 наименований.Содержание работыВо введении обозначается актуальность работы, описывается цель, решаемые задачи, даётся общая характеристика работы и её краткое содержание.В первой главе проведён обзор инструментов и технологий Webразработки.
Известно, что эффективный инструментарий строится по принципуоптимального распределения уровней абстракции: подчёркивания основных высокоуровневых сущностей и вынесении рутинных задач в базовые обобщённыеалгоритмы. С повышением уровня абстракции упрощается процесс разработки, однако снижается гибкость. Зачастую, инструментарий с высоким уровнемабстракции не может предоставить достаточный функционал для реализацииспецифических свойств разрабатываемого объекта.
И наоборот, низкий уровеньабстракции заставляет разработчика тратить время на освоение инструментарияи постоянному возвращению к рутинным задачам вместо сосредоточения сил напоиске основного решения.Описанные проблемы сущестувют во всех отраслях информационныхтехнологий. Не стала исключением и область Web-разработки. Предложена типовая классификация Web-технологий, сгрупированных по уровню абстракциис указанием достоинств и недостатков:7∙ Языки программирования– Низкий уровень абстракции, повышенная гибкость разработки, появление большого количества рутинных задач;– Требуются профессиональные знания в области программирования;∙ Фреймворки– Средний уровень абстракции, оптимальное отношение эффективность/гибкость, рутина снижена до минимума;– Помимо профессиональных знаний, требуются дополнительные временны́е ресурсы на изучение специфики каждой из библиотек;∙ Системы управления контентом– Высокий уровень абстракции, знания в области программирования требуются либо на базовом уровне, либо не требуются вовсе;– Негибкая разработка.Представленные технологии в подавляющем большинстве своём используют парадигму императивного программирования.
Характерной особенностью этой парадигмы является процесс манипуляции данными в видепоследовательно-заданных инструкций, изменяющих состояние системы. Противопоставлением императивной парадигме является декларативное программирование и заключается в описании программной логики без необходимостисоблюдения порядка выполнения.Исходя из этого, сделан вывод, что декларативные языки больше заточены под решение узкоспециализированных задач в противовес императивным, где путём построения строго-заданного алгоритма решаются задачи универсального толка.
Так, декларативные языки являются в большинстве своём предметно-ориентированными или (англ. Domain Specific Language, DSL —«предметно-специфичный язык»). Хороший предметно-ориентированный языкявляется и декларативным: он предоставляет лингвистические абстракции в понятиях своей предметной области, что позволяет препроцессору или интерпретатору такого языка «понимать» предметную семантику без комплексного анализакода.Большинство языков, используемых при программировании логики настороне сервера, нельзя назвать предметно-ориентированными. Даже PHP, первоначально созданный для решения задач отрасли, давно вышел за её пределы.
На стороне сервера имеется масса технологий, задействующих программирование на языках общего назначения императивного типа, а декларативные ипредметно-ориентированные языки в качестве основного решения для построения логики работы серверной стороны используются не часто. Хотя попыткипоставить логику генерации документа на декларативные рельсы всё же предпринимались. В частности, были разработаны языки WebDSL и Spicey.8WebDSL(англ.WebDomain-SpecificLanguage,предметноориентированный язык для Web) — интерактивные динамические Webприложения с предметно-ориентированной моделью данных. Основнымнедостатком языка является то, что WebDSL требует специализированную средуразработки на основе Java, причём данная среда ресурсоёмка по системнымтребованиям.
Для исполнения написанных приложений также требуется Javaмашина и, соответственно, постоянная перекомпиляция проекта в байт-код дажепри небольшом изменении.Особенностью языка Spicey является его ориентированность на модель«сущность-связь» (англ. ER, entity-relationship). Это означает, что весь программный код языка может быть сгенерирован на основе ER-модели. Spicey также требует большое количество нетривиальных зависимостей: начиная от языка Curryи заканчивая Haskell. В силу специфичности не только самого Spicey, но и зависимых языков, порог вхождения и, как следствие, усвояемость, имеют достаточно низкий уровень.Для того, чтобы приступить к разработке собственного предметноориентированного языка, были определены основные этапы его создания.
К нимотносят следующие: принятия решения, анализ предметной области, проектирование, внедрение.Исходя из вышеизложенного, большинство задач, решаемых в рамкахWeb-разработки сведены к следующим типам: манипуляция с данными, авторизация пользователя и разграничение прав доступа к данным, клиент-серверноевзаимодействие, конечное представление данных.Во второй главе определены базовые сущности методики BlockSet и языка BML. Представлен обзор свойств и их значений для основных сущностей:модели, локации, блока и набора. Проведён подробный обзор типов блоков и ихфункциональных характеристик. Разработанная методика построена по принципу постепенной доработки и модификации базовых сущностей, придании имдополнительных свойств, атрибутов.
Основными сущностями методики являются: модель, локация, набор, блок. По названиям наиболее значимых сущностейметодика получила название BlockSet (блок и набор).С помощью модели (элемент Model) определяется структура данных, иустанавливаются отношения объектов проекта между собой. Структурой данныхпроекта BlockSet является набор, содержащий в себе блоки и другие, вложенные наборы. Все наборы, используемые в проекте, необходимо описать в модели.
Единственным дочерним элементом модели является набор, в то время какблок является единственным дочерним элементом набора. Именно в модели длявсех блоков устанавливается тип данных. Большинство атрибутов для наборови блоков могут быть переопределены в локациях. Спецификация предписываетуникальность сущности модели, т.е. невозможность присутствия других моделей в одном и том же проекте. Модель соответствует одноименной компонентев парадигме MVC — в ней задаётся общая структура данных и глобальные правила их обработки. Важно отметить тот факт, что модель данных загружаетсяпри старте работы интерпретатора.