Введение к работе
Актуальность. Большинство современных технологий разработки программного обеспечения характеризуется ограниченными возможностями управления инструментальными средствами со стороны разработчика. Преодоление подобного ограничения возможно путем перехода к открытой архитектуре языков и основанных на них средств разработки, позволяющей разработчику модифицировать их в соответствии с целями конкретного программного продукта. Одним из способов реализации данного решения является подход, известный как LDD (Language-Driven Development). С позиции LDD ключевым компонентом любого процесса разработки является набор используемых языков, каждый из которых ориентирован на решение определенного круга задач. Программная среда LDD предоставляет разработчику средства, позволяющие создавать новые, а также модифицировать и комбинировать существующие языки.
Таким образом, актуальность настоящей диссертационной работы определяется необходимостью построения математической базы и необходимого программного обеспечения LDD-инфраструктуры.
Цель работы. Целью настоящего исследования является разработка формально-логической модели внутреннего представления программ, расширяющей возможности существующих языков и систем программирования с точки зрения реализации принципа «открытости для расширения и закрытости для изменения».
Объект и предмет исследования. Объектом данного исследования являются языки и системы программирования. Предмет исследования составляют средства метапрограммирования, а также методология Language- Driven Development и объектно-ориентированной разработки программного обеспечения.
Задачи исследования. Для достижения указанной цели поставлены и решены следующие задачи:
-
Анализ основных решений в области языков и систем разработки, поддерживающих элементы метапрограммирования.
-
Анализ существующих и разработка новых методов развития объектно- ориентированного подхода с целью расширения возможностей повторного использования компонентов программного обеспечения.
-
Разработка формальной модели внутреннего представления программ в применении к методологии Language-Driven Development.
Методы исследования. При выполнении диссертационной работы использованы методы математической логики и теории множеств, элементы теории графов и формальных моделей семантики языков программирования. Для реализации программной системы использованы принципы модульного программирования и объектно-ориентированного программирования с применением паттернов проектирования.
Основные результаты, выносимые на защиту, и их научная новизна.
-
-
Формальная модель, описывающая структуру внутреннего представления программ, отличающаяся наличием контекстно- зависимых представлений и прототипирования, основанного на отношениях реализации и наследования и тем самым позволяющая снизить сложность описания структуры языков и программ.
-
Формальная модель преобразования структуры программ (механизм действий), отличающаяся наличием системы контроля версий, что позволяет использовать ее для разработки инструментальных средств, поддерживающих одновременную разработку с использованием различных версий языка программирования.
-
Методика построения языков программирования (на примере языка TBL), отличающаяся использованием контекстно-зависимых представлений и позволяющая расширить возможности традиционного объектно-ориентированного подхода с точки зрения повторного
использования программных компонентов и реализации принципа «открытости - закрытости».
Теоретическая и практическая значимость работы
Практическое значение имеют научные и прикладные результаты, которые можно рекомендовать для создания новых инструментальных систем, поддерживающих разработку и расширение языков программирования. Теоретическая значимость работы состоит в развитии механизма повторного использования программных компонентов в объектно-ориентированных системах за счет использования контекстно-зависимых представлений.
Диссертация соответствует профилю диссертационного совета Д 212.038.24 и паспорту специальности 05.13.17 «Теоретические основы информатики» по следующим областям исследований:
п. 2 «Исследование информационных структур, разработка и анализ моделей информационных процессов и структур»;
п. 14 «Разработка теоретических основ создания программных систем для новых информационных технологий».
Апробация работы. Основные положения работы докладывались на конференциях "Информатика. Проблемы, методология, технологии" (Воронеж, 2010), "Технологии Microsoft в теории и практике программирования" (Москва, 2010) и "ICOOOLPS: Workshop on Implementation, Compilation and Optimization of Object-Oriented Languages, Programs and Systems" (European Conference on Object-Oriented Programming, Lancaster, UK, 2011).
Публикации. Основное содержание диссертационной работы изложено в 12 работах, из них 4 статьи в журналах, рекомендованных ВАК РФ.
Структура и объем работы. Диссертация состоит из введения, 4 глав, заключения и списка литературы. Общий объем диссертации - 157 страниц.
Похожие диссертации на Формальная модель контекстно-зависимых программных структур и их преобразований в применении к методологии Language-Driven Development
-